by stijnswapped
Security testing that runs inside the coding agent you already use. Source-available, not open source.
# Add to your Claude Code skills
git clone https://github.com/stijnswapped/MyrqenMyrqen is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by stijnswapped. Security testing that runs inside the coding agent you already use. Source-available, not open source. It has 159 GitHub stars.
Myrqen's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/stijnswapped/Myrqen" and add it to your Claude Code skills directory (see the Installation section above).
Myrqen is primarily written in TypeScript. It is open-source under stijnswapped on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh Myrqen against similar tools.
No comments yet. Be the first to share your thoughts!
Unlocks once the catalog security scan passes (runs nightly).
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
Static analysis finds the candidates. Your coding agent proves or disproves them against the application running on your machine.
No repository upload. No separate model API key. No invented certainty.
[!IMPORTANT] Myrqen is source-available, 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 verification | The coding agent you already use |
| Application target | Your locally running application |
| Repository upload | Not required |
| Separate model API key | Not required |
| Finding states | Evidence-backed, refuted, or explicitly needs_review |
| Reports | HTML, Markdown, JSON, and SARIF |
| Hosted sync | Optional |
The result is a scanner that distinguishes between "this looks vulnerable" and "we observed this behaving vulnerably."
Install the Agent Skill once:
npx myrqen link
Then, from any project:
myrqen auto
Want the entire scan to remain local?
myrqen auto --sync no
--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 JavaScript and follows attacker-controlled data through a function, including patterns that show up in real applications:
When tainted input reaches a sink without an intervening protection, Myrqen records a candidate.
That pass runs whether or not an agent is involved, 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 vulnerability.
The agent exercises the application running on your machine and records what actually happened:
Source code
│
▼
┌──────────────────────┐
│ Myrqen static pass │
└──────────┬───────────┘
│
▼
needs_review
│
▼
┌──────────────────────┐
│ Coding agent tests │
│ the local app │
└───────┬────────┬─────┘
│ │
observed not reproduced
│ │
▼ ▼
verify refute
│ │
└───┬────┘
▼
Report
myrqen finding verify attaches the evidence the agent observed and raises the finding to verified.
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 reviewed 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:
https://api.example.com
does not authorize:
http://api.example.com
https://example.com
https://api.example.com:8443
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 observation instead of followed.
Credentials are described by location and type, not by value.
Secret values 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.
| Vulnerable cases | Safe near-misses | Vulnerability classes | Architectures |
|---|---|---|---|
| 78 | 78 | 38 | 10 |
Run the full fixture benchmark:
pnpm benchmark
Or score the vulnerability corpus directly:
pnpm benchmark:corpus
The corpus covers application shapes built with Express, Fastify, Koa, Hono, node:http, Next.js route handlers, Next.js server actions, tRPC, GraphQL resolvers, and FastAPI.
Every vulnerable 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 vulnerable and correct form of a pattern does not merely have false positives — it trains developers to stop trusting its output.
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:
benchmark/corpus-baseline.json
benchmark/baseline.json
Run the benchmarks rather than trusting a performance number copied into a README.
Development requires Node.js 22 or newer and pnpm.
pnpm install
pnpm build
node apps/cli/dist/myrqen.mjs --help
Run the built CLI against another project:
cd /path/to/your/project
node /path/to/myrqen/apps/cli/dist/myrqen.mjs auto --sync no
| 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 vulnerable and deliberately correct test applications |
The portable source of truth lives in:
packages/skill/myrqen
It contains the SKILL.md plus refer