<di="center">
Static analysis finds the candidates. Your coding agent proves or disproves them against the application running on your machine.
<br />
<a href="
<img src=" alt="Myrqen Website">
</a>
<a href="#quick-start">
<img src=" alt="Quick Start">
</a>
<a href="LICENSE">
<img src=" alt="Source A">
</a>
<br />
<br />
No repository upload. No separate model API key. No in certainty.
</div>
---
> [!IMPORTANT]
> Myrqen is source-a, not open source.
>
> The source is published because software that inspects your code should itself be inspectable. Copyright is retained and redistribution is not granted. See LICENSE for the plain-language terms and full legal text.
Most security scanners have to choose between reading your code and exercising your application.
Myrqen deliberately does both — but gives each job to the part of the system that can actually measure it.
| | Myrqen |
| -------------------------- | ------------------------------------------------------ |
| Static analysis | Myrqen's own deterministic engine |
| Dynamic | The coding agent you already use |
| Application target | Your locally running application |
| Repository upload | Not required |
| Separate model API key | Not required |
| Finding states | E, refuted, or explicitly needs_review |
| Reports | HTML, Markdown, JSON, and SARIF |
| Hosted sync | Optional |
The result is a scanner that distinguishes between "this looks " and "we observed this behaving ."
---
Install the Agent Skill once:
Then, from any project:
Want the entire scan to remain local?
--sync no prevents report synchronization with the hosted dashboard. Without it, Myrqen asks whether the report should be synced and remembers that choice for that scan only.
> [!NOTE]
> Myrqen uses the coding agent you are already running. There is no separate model API key to configure or pay for.
---
A Myrqen scan has two halves.
The static pass belongs to Myrqen itself.
It parses TypeScript and Ja and follows attacker-controlled data through a function, including patterns that show up in real applications:
* destructured request reads;
* aliases and type assertions;
* accumulated into arrays and later joined;
* data flowing into security-sensiti.
When tainted input reaches a sink without an inter protection, Myrqen records a candidate.
That pass runs whether or not an agent is in, which means its behavior can be benchmarked and regression-tested independently.
Static analysis cannot observe a real HTTP response, browser state, authorization boundary, or runtime side effect.
So a candidate is not automatically promoted to a .
The agent exercises the application running on your machine and records what actually happened:
myrqen finding attaches the e the agent observed and raises the finding to .
myrqen finding refute records that the agent could not reproduce the candidate. It stays in the record instead of silently disappearing, so the result can still be re or disputed.
A candidate nobody exercises remains needs_review.
That state is intentional. The report should say what the scanner established — and what it did not.
---
Myrqen reports what it was able to establish and explicitly states what it could not reach.
A scanner finding nothing is not a clean bill of health.
Anything outside your own machine requires explicit, exact authorization.
A grant for:
does not authorize:
Scheme, origin, and port boundaries matter.
Myrqen's policy refuses actions such as mass deletion, request flooding, credential spraying, persistence, exfiltration, and authorization-scope expansion.
A refusal is recorded rather than silently ignored.
Source code, READMEs, comments, fixtures, issue text, and other repository content are data.
If repository content attempts to instruct the scanner to ignore its policies, that attempt is recorded as an obser instead of followed.
Credentials are described by location and type, not by value.
Secret are redacted before being stored anywhere, including locally.
---
Detection claims are only as useful as the corpus behind them.
Myrqen publishes both the corpus and the scorer.
| cases | Safe near-misses | classes | Architectures |
| ---------------: | ---------------: | --------------------: | ------------: |
| 78 | 78 | 38 | 10 |
Run the full fixture benchmark:
Or score the corpus directly:
The corpus covers application shapes built with Express, Fastify, Koa, Hono, node:http, Next.js route handlers, Next.js ser, tRPC, GraphQL resolvers, and FastAPI.
Every case has a corresponding safe near-miss: code with the same suspicious surface that performs the same job correctly, differing only in the security decision that matters.
That distinction is important.
A scanner that flags both the and correct form of a pattern does not merely ha positives — it trains de to stop trusting its output.
* File, function, and names do not reveal the being tested.
* Every case is scanned independently in a temporary directory.
* The engine sees a path it has not seen before.
* Matching is strict: class, route, and line must all be correct.
* A finding in the correct file but at the wrong location is still a miss.
* Cases written in languages the engine does not parse are reported separately and are ne as recall failures.
Both benchmark commands report recall, precision, per-class results, and the safe-case false-positive rate.
They also exit non-zero when results fall below the release gates or regress against the committed baseline.
The latest passing baselines live in:
Run the benchmarks rather than trusting a performance number copied into a README.
---
De requires Node.js 22 or newer and pnpm.
Run the built CLI against another project:
---
| Path | Purpose |
| ------------------------------------------ | ------------------------------------------------------------------------------------- |
| apps/cli | The myrqen command |
| packages/scan | Static analysis and intra-procedural taint tracking over the TypeScript AST |
| packages/policy | Authorization scope, prohibited actions, redaction, deduplication, and finding intake |
| packages/report | HTML, Markdown, JSON, and SARIF report rendering |
| packages/skill | The portable Agent Skill and its reference documents |
| packages/contracts | Shared schemas and types |
| packages/auth | Password hashing, recovery codes, session tokens, and device tokens |
| benchmark | Case corpus, scorer, and fixture harness |
| fixtures | Deliberately and deliberately correct test applications |
---
The portable source of truth lives in:
It contains the SKILL.md plus reference documents describing Myrqen's methodology, safety boundaries, finding contract, and CLI.
installs the skill for Claude Code, Codex, and OpenCode, and writes it to ~/.agents/skills for other agents that follow the same con.
It is plain Markdown.
You can — and should — read the instructions your agent will follow before allowing it to run them.
---
The hosted Myrqen dashboard is a separate application and is not included in this repository.
This source repository is generated from the working monorepo by a publication script with release gates that refuse to publish when:
* an included package depends on an unpublished package;
* a file outside test or fixture paths contains a credential-shaped literal;
* an included file imports from a path that has been excluded.
The goal is for the published source to remain inspectable without accidentally exposing private application code or credentials.
---
fixtures/ is deliberately .
It exists exclusively as a test target, binds to localhost, and must never be deployed.
Its committed credential is a canary used to test Myrqen's redaction behavior. The benchmark that the credential ne in generated report output.
> [!WARNING]
> Do not deploy or expose the fixtures to an external network.
---
If you find a security issue in this repository, open an issue containing:
* what you found;
* the smallest useful reproduction;
* the minimum source excerpt needed to make the problem clear.
Please do not include a working exploit against infrastructure you do not own or ha authorization to test.
If the issue concerns Myrqen's hosted service rather than the published source, say so in the issue without publishing the sensiti. The hosted application is not part of this repository, and a public issue is not the appropriate place for those details.
---
Myrqen's production dependencies include:
* typescript — Apache-2.0
* ajv — MIT
* aj — MIT
* commander — MIT
Their transiti are licensed under MIT, Apache-2.0, or BSD-3-Clause terms.
Those licenses travel with their respecti and are unaffected by Myrqen's repository license.
---
Myrqen is distributed under the Myrqen Source-A Licence 1.0.
You may read, study, and run the software against systems you are authorized to test, including for internal and commercial work.
You may not redistribute it, publish a fork, or offer it as a service.
It is not OSI approved and is not an open-source licence.
Read the complete terms in LICENSE.
---
<di="center">
Website · Quick start · Benchmarks · Licence
</div>
开发语言:TypeScript
Star 数:137
该项目属于安全软件方向的开源资源,代码结构清晰,适合安全研究人员学习参考。项目围绕Security testing that runs inside the coding agent you already use. Source-available, not open source.展开,提供了可运行的实现,对理解相关安全机制、工具原理与攻防技术具有较高的研究价值。
从技术实现角度看,此类项目的核心在于对底层原理的深入理解与工程化落地。开发者在研究过程中可以结合官方文档与社区讨论,梳理项目的初始化流程、核心模块职责与数据流转,逐步掌握其中的技术细节与设计思路。
1. 下载源码压缩包,解压到本地环境。
2. 根据项目类型准备对应的运行环境与依赖。
3. 按照 README 中的步骤完成配置与部署。
4. 在隔离的测试环境中运行验证,避免影响生产系统。
本资源来源于开源社区,仅供安全研究、技术学习与合法授权范围内的攻防演练使用,请勿用于任何非法或侵害他人权益的用途。使用本项目产生的一切后果由使用者自行承担。
| 资源标题 | Myrqen - Security testing that runs inside the coding agent |
| 所属分类 | 安全软件 |
| 发布作者 | admin |
| 发布时间 | 2026-10-05 22:41:37 |
| 下载权限 | 免费下载 |
| 附件数量 | 2 个下载链接 |
| 浏览次数 | 99 |
| 讨论数量 | 0 |
| 主题状态 | 正常讨论中 |