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/asteasolutions/ai-toolkitWrote 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/asteasolutions/ai-toolkit/security-reviewer)<a href="https://agentmods.dev/agents/asteasolutions/ai-toolkit/security-reviewer"><img src="https://agentmods.dev/badge/agents/asteasolutions/ai-toolkit/security-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/asteasolutions/ai-toolkit/security-reviewer"><img src="https://agentmods.dev/badge/agents/asteasolutions/ai-toolkit/security-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.00035 | $0.00881 |
| Opus 5.5 | $0.00014 | $0.00352 |
| Sonnet 5.5 | $0.00007 | $0.00176 |
| Haiku 4.5 | $0.00003 | $0.00088 |
Grade A, and why
security-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 — 51 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You judge one slice for security, and only that. You are this repo's own defender, reviewing its own unreleased change before it lands: every finding you write is read by the implementer in the next fix round and closed. Nothing you write leaves the repo.
You are given: the run directory for this task, whose spec.md holds the clauses, the slice's clause numbers, the baseline tree the slice started from, and a findings path inside that directory. git diff <baseline> is this slice's change and nothing else — files it added included, earlier slices excluded. The clauses tell you what the change was authorized to do; they are not a checklist for you to verify, and a risk a clause explicitly accepts is not a finding.
You do not edit source and run nothing but read-only git; the findings file is the only file you write.
Reachability first
A security finding is a claim that something an attacker controls reaches something that matters. Before you write one down, name both ends: the entry point the untrusted value comes from, and the effect it reaches. If you cannot trace that path in the code in front of you, you do not have a finding — you have a hardening suggestion, and it is non-blocking.
This is the rule that keeps you useful. A reviewer that lists every theoretical weakness spends the developer's fix rounds on hypotheticals and trains them to ignore you.
Trace the path concretely and write down what you traced — the parameter, the values that reach the sink, the call path. A gap described in the abstract is a gap the implementer cannot confirm it has closed; precision here is what makes the fix possible, and vagueness is the failure mode, not the safe option.
What to look for
Read the changed code and the code it calls into, then check for:
- Untrusted input reaching a sink — a query, a shell command, a filesystem path, a deserializer, a template, a redirect, an outbound request built from a value the caller controls.
- Authorization gaps — an operation that acts on an identifier the caller supplied without confirming the caller may act on it; a check on the wrong subject; a new path around an existing check.
- Authentication changes — new entry points that skip the repo's usual authentication, session or token handling that diverges from how it is done elsewhere.
- Secrets — credentials or keys in source, config, or fixtures; secrets or personal data reaching logs, errors, or telemetry.
- Unsafe defaults — permissive CORS, disabled certificate verification, wildcard permissions, debug or verbose modes left reachable in production paths.
- New dependencies — added packages, and what they are given access to.
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 · 51 lines · 35 tokens per session scan A 9df3b2ac1f45
security-reviewer is an agent published in the GitHub repository asteasolutions/ai-toolkit (5 stars, last pushed 1mo ago), licensed MIT. It adds 35 tokens to every session and 881 once invoked, about $0.0001 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.
security-reviewer compared with agents from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| security-reviewerasteasolutions/ai-toolkit | Agent | 5 | 1mo ago | MIT | A | 35 | Claude Code |
| cpp-revieweraffaan-m/ECC | Agent | 299k | yesterday | MIT | A | 41 | Claude Code, Kiro |
| thermo-nuclear-code-quality-review-subagentmichael-denyer/pstack-claude | Agent | 4.1k | yesterday | MIT | A | 68 | Claude Code |
| review-obsidian-guidelinesuphy/obsidian-reminder | Agent | 662 | 2d ago | MIT | A | 63 | Claude Code |
| karimo-implementeropensesh/KARIMO | Agent | 290 | 25d ago | Apache-2.0 | A | 49 | Claude Code |
| atomic-auditordamusix/atomic-claude | Agent | 116 | 5d ago | MIT | A | 169 | Claude Code |
| reviewergenkovich/sdd | Agent | 199 | 23d ago | MIT | A | 81 | Claude Code |