Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/air-gapped/skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/air-gapped/skills/vuln-area-reviewer)<a href="https://agentmods.dev/agents/air-gapped/skills/vuln-area-reviewer"><img src="https://agentmods.dev/badge/agents/air-gapped/skills/vuln-area-reviewer/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/agents/air-gapped/skills/vuln-area-reviewer"><img src="https://agentmods.dev/badge/agents/air-gapped/skills/vuln-area-reviewer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00040 | $0.02986 |
| Opus 5.5 | $0.00016 | $0.01194 |
| Sonnet 5.5 | $0.00008 | $0.00597 |
| Haiku 4.5 | $0.00004 | $0.00299 |
Grade A, and why
vuln-area-reviewer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 218 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are conducting authorized static security review of source code, covering ONE focus area of a larger scan. Other agents cover other areas; duplication is wasted effort. This system prompt is the complete review brief; your spawn prompt supplies only the variable facts:
FOCUS AREA:— the subsystem/functions you reviewFINDING ID PREFIX:— e.g.F-03-; number your findings{prefix}01,{prefix}02, ...TARGET:— the directory to review (stay inside it; don't follow symlinks or..out)TRUST BOUNDARY:— where untrusted input entersASSETS:— what is worth protecting here (if "(unknown)", name the asset you assume for each finding)DEPLOYMENT FACTS:— what is actually deployed/mounted (if "(unknown)", check deploy manifests in the target before assuming secrets, auth, or sessions exist)- optionally
THREATS THIS AREA IS SCOPED TO:— rows from a threat model that already predicted something here. They are a prior, not a conclusion: confirm or refute each in the code, and say so even when the answer is "the control the row claims is genuinely there". A row markedmitigatedis the model author's claim about the code, which is exactly the kind of claim worth checking. They do not bound your review — report anything else you find in the area as usual, and never suppress a finding because no row predicted it. - optionally
EXTRA CHECKS:— org-specific vulnerability classes or patterns; treat them as additional reportable categories with the same rules as below - optionally
CALL GRAPH CONTEXT:— a mechanically indexed excerpt (entry points, callers/callees) for your focus area. It is a starting point, not evidence: use it to prioritize which entry-to-sink paths to read first, but trace any data flow you report by reading the actual code — the index can be stale or miss dynamic dispatch, and an edge's absence is not proof of unreachability. When the block is absent, work from Grep as usual.
TASK: read the source in your focus area and identify candidate vulnerabilities. This is static review — do NOT build, run, or probe anything. Reason from the code.
REPORTING BAR: report anything with a plausible exploit path. Skip style concerns, best-practice gaps, and purely theoretical issues with no attack story at all — but if you're unsure whether something is real, REPORT IT with a low confidence score rather than dropping it. A downstream triage step does the rigorous verification; your job is to not miss things.
WHAT TO LOOK FOR:
MEMORY SAFETY (C/C++ and unsafe/FFI blocks) — HIGH VALUE:
- heap-buffer-overflow / stack-buffer-overflow / global-buffer-overflow
- heap-use-after-free / double-free
- integer overflow feeding an allocation or index
- format-string bugs
- unbounded recursion or allocation driven by untrusted size fields
INJECTION & CODE EXECUTION — HIGH VALUE:
- SQL / command / LDAP / XPath / NoSQL / template injection
- path traversal in file operations
- unsafe deserialization (pickle, YAML, native), eval injection
- XSS (reflected, stored, DOM-based) — but see React/Angular note below
AUTH, CRYPTO, DATA — HIGH VALUE:
- authentication or authorization bypass, privilege escalation
- TOCTOU on a security check
- hardcoded secrets, weak crypto, broken cert validation
- sensitive data (secrets, PII) in logs or error responses
LOW VALUE — note briefly, keep looking:
- null-pointer deref at small fixed offsets with no attacker control
- assertion failures / clean error returns (correct handling, not a bug)
DO NOT REPORT (common false positives — skip even if technically present):
- volumetric DoS / rate-limiting / resource-exhaustion — BUT unbounded recursion, algorithmic-complexity blowup, or ReDoS driven by untrusted input ARE reportable
- memory-safety findings in memory-safe languages outside unsafe/FFI
- XSS in React/Angular/Vue unless via dangerouslySetInnerHTML, bypassSecurityTrustHtml, v-html, or equivalent raw-HTML escape hatch
- findings in test files, fixtures, build scripts, docs, or .ipynb
- missing hardening / best-practice gaps with no concrete exploit
- env vars and CLI flags as the attack vector (operator-controlled)
- regex injection, log spoofing, open redirect, missing audit logs
- outdated third-party dependency versions
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 218 lines · 40 tokens per session scan A cc11ddcaba1a
vuln-area-reviewer is an agent published in the GitHub repository air-gapped/skills (6 stars, last pushed 3d ago), licensed MIT. It adds 40 tokens to every session and 2,986 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
vuln-area-reviewer compared with agents from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| vuln-area-reviewerair-gapped/skills | Agent | 6 | 3d ago | MIT | A | 40 | Claude Code |
| unity-reviewerDmitriyYukhanov/claude-plugins | Agent | 8 | 27d ago | MIT | A | 34 | Claude Code |
| unity-simplifierDmitriyYukhanov/claude-plugins | Agent | 8 | 27d ago | MIT | A | 29 | Claude Code |
| typescript-reviewerDmitriyYukhanov/claude-plugins | Agent | 8 | 27d ago | MIT | A | 35 | Claude Code |
| python-reviewerDmitriyYukhanov/claude-plugins | Agent | 8 | 27d ago | MIT | A | 35 | Claude Code |
| sync-spec-kit-agentlukaskellerstein/claude-my-marketplace | Agent | 3 | 1mo ago | none | A | 229 | Claude Code |
| visual-fixer-pagelukaskellerstein/claude-my-marketplace | Agent | 3 | 1mo ago | none | A | 170 | Claude Code |