tiny-auditor

A code-security audit format and checklist for finding serious vulnerabilities while avoiding unsupported warnings.

In plain words
What is it for?
It is for reviewing a codebase and producing a security report with prioritized findings, exact vulnerable locations, and remediation guidance.
Why use it?
It makes findings consistent and traceable, with severity, affected locations, attack steps, and suggested fixes recorded in a standard structure.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/forefy/.context/tiny-auditor
Any agent
npx skills add forefy/.context --skill tiny-auditor
Clone the repo
git clone --depth 1 https://github.com/forefy/.context

Made for: Claude Code, Codex.

Per session 16 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,408 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00016 $0.02408
Opus 5 $0.00008 $0.01204
Sonnet 5 $0.00003 $0.00482
Haiku 4.5 $0.00002 $0.00241

Measured 3d ago against content hash 5389680f9240, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

tiny-auditor scanned grade A with 1 finding 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 3d 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.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

- It’s always best to show the user a copy-paste, indisputable proof of the exploitability of the finding, e.g. PoC script, curl, or whatever is the normal interaction method with the audited codebase.
skills/hunter-utils/tiny-auditor/SKILL.md · 86 lines

How it starts

The opening of the file, as written. The whole thing — 86 lines — stays where its author put it; the contents beside it link to each section on GitHub.

List of always-true audit primitives:

Formatting and Style

  • Report format consists of ToC, Executive Summary, Findings Summary Table, and Findings. If the report is around a single finding, only the finding should be there.
  • Finding name format must be [C/H/M/L]-[Number] [Impact] via [Weakness] in [Feature]
  • Finding name number should mark his relative severity next to all the other items of the same level (e.g. H-1 is more of a priority than H-2)
  • Findings summary table should consist of ID (e.g. C-1), Risk, Status, and possible audit-specificity that’s key to track from a report receiver perspective) (e.g. if there are two environments tested, then a column for prod and staging or env names might make sense
  • Standard finding headings should be Severity, Probability, Locations, Description, Attack Flow, Remediations
  • Finding headings should match across all findings of the report
  • Vulnerable Occurrences are bullets with (usually) github links with exact line references and commit paths to the vulnerable sections of the code that directly create the vulnerability. If the audited item is not a code with direct gitlink, specifiy all the affected endpoints, or whatever it is instead. If an evidence (e.g. api key name) is preset, prioritize it in reading of the bullets (e.g. - found_secret (Line 485)) - where line is a hyperlink, putting more priority on the key name itsefl which is easier on the fixing team to understand on a quick read. If you are doing code-link - explaner text, the explainer text is really bloat unless it really explains something so leave it optional, and don't hyperlink it (just the link itself not the explainer part right of the "-")
  • Description must be technically accurate but concise and abstract. Plain narration of what was done and found.
  • Description must follow “XXX is a feature that does XXX, During the audit it was found that XXX. Although , an attacker that does XXX might…” - each portion should be logically separated with a newline to allow for easy clear reading
  • If severity is uncertain (e.g. no clear poc) the finding description needs to end with a note explaining the realism of it, while still emphasizing why it’s still a risk.
  • Attack Flow must be a bullet-point breadcrumb trace of how an attacker might exploit the finding from gaining prerequisites to actual exploitation. if the finding is not exactly an attacker gets to X, it should be developer/employee makes mistake Y, etc.
  • Remediations must be priority-sorted bullet items of fix recommendations to the team, usually, its one most-ideal fix and descending to next-best things that compliment/do 80% of the fix for 5% the effort. but if the best recommendation is the cleanest, that’s preferred.
  • Remediations (especially 2nd 3rd and so on) might be complementary or additional but not really stopping the fix, if that’s the case it should be clear from the way it is portrayed (e.g. As an extended blast-reduction, you may consider xxx)
  • Remediations must be battle-tested and NOT introduce extra complexity and NEVER introduce other risks
  • All text (finding name, description etc) needs to speak as if 80% certain because it should describe the vulnerable condition and the attack surface it opens, not assert the worst-case result as 100% guaranteed.
  • Extra thought processes, checks, and metadata is not relevant for the report itself - the report is about portraying the findings to the board
  • No emojis, no unnecessary or repeating information, no fluff
  • Use regular dashes over em-dashes
  • Finding summary table should clearly match findings to the component (one look at the finding summary table will tell the protocol "oh, they were on-track")
  • Every title in the finding body (e.g. description) should be a in its own line and have a newline before the text begins (description -> new line -> description text)
  • For impact, name the realistic actor (could also be a fat-fingering operator / lazy dev / curious user, not always a genius attacker), state the loss in plain terms, and be honest about reachability. If you can't name a realistic actor, the impact is "hardening," not "attack."
  • Some findings' impact is just an inflation/duplication of whatever is written on the description ending, in which case it is redundant
  • Almost all of the points to use ; are redundant - the point of descriptions and writing in a repot are to be read humanly, natural flow sentences rather than ";" or similar
  • Description + Impact should usually be no longer than 12 lines (excluding bullets), and recommendations between 2~3. If it's more - ask yourself why.

Read the full file on GitHub · 86 lines

Changes

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.

  1. 3d ago First seen · 86 lines · 16 tokens per session scan A 5389680f9240

Subscribe to this mod's changes

tiny-auditor is a skill published in the GitHub repository forefy/.context (133 stars, last pushed 6d ago), licensed MIT. It adds 16 tokens to every session and 2,408 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.