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.
npx agentmods add commands/allsmog/vuln-scout/tracegit clone --depth 1 https://github.com/allsmog/vuln-scoutWrote 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/commands/allsmog/vuln-scout/trace)<a href="https://agentmods.dev/commands/allsmog/vuln-scout/trace"><img src="https://agentmods.dev/badge/commands/allsmog/vuln-scout/trace.svg" alt="Measured on agentmods" 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 | $0.00018 | $0.00892 |
| Opus 5 | $0.00009 | $0.00446 |
| Sonnet 5 | $0.00004 | $0.00178 |
| Haiku 4.5 | $0.00002 | $0.00089 |
Grade A, and why
trace 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 5d 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.
- Controls: parameter binding, Jinja auto-escaping, `urllib.parse`, allowlists How it starts
The opening of the file, as written. The whole thing — 119 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Data Flow Trace Command
Trace attacker-controlled input to a sink and document whether it is a verified vulnerability, a hotspot that still needs proof, or a false positive.
Required Evidence
Every trace must include these four evidence buckets:
-
Source evidence
- Exact code line where attacker-controlled data enters.
- Why that source is user-controlled or externally influenced.
-
Hop chain
- Every variable handoff or function call from source to sink.
- File:line references for each step.
-
Control evidence
- Validation, encoding, normalization, or allowlist logic seen on the path.
- Whether the control applies to all paths or only some branches.
-
Exploitability evidence
- Why the sink remains reachable with controlled input.
- Constraints that would block or narrow exploitation.
Workflow
Step 1: Parse the target
Accept:
function_namefile:line$variable
Step 2: Resolve the sink
Read the target location and capture:
- Sink function or statement
- Parameters reaching the sink
- Immediate code context
Step 3: Build the trace
For each sink argument:
- Find its last assignment
- Follow callers or field propagation across files
- Stop only when you reach a trusted source, an untrusted source, or a dead end
Step 4: Classify the result
- Finding: attacker-controlled input reaches the sink and controls remain ineffective or absent
- Hotspot: risky sink/pivot is present, but attacker control or exploit path is still unproven
- False positive: a control clearly makes the path safe for this vulnerability class
Language-specific tracing templates
JavaScript / TypeScript
- Sources:
req.body,req.params,req.query,headers,cookies, browserpostMessage - Controls: parameterized SQL,
DOMPurify,path.resolveplus prefix check, URL allowlists - Notes: treat
redirect()and framework handlers as hotspots until attacker control is shown
Python
- Sources:
request.args,request.form,request.json, Flask/Django route params - Controls: parameter binding, Jinja auto-escaping,
urllib.parse, allowlists - Notes:
render_template_stringis a hotspot unless user-controlled template data reaches it
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.
- 5d ago First seen · 119 lines · 18 tokens per session scan A cccd668cda3d
trace is a command published in the GitHub repository allsmog/vuln-scout (24 stars, last pushed 2mo ago), licensed MIT. It adds 18 tokens to every session and 892 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.
Other commands, from other repositories
security-sast
Static Application Security Testing (SAST) for code vulnerability analysis across multiple languages and frameworks.
scan-diff
Scan only the changed files in a single commit or PR/MR for newly introduced vulnerabilities (fast incremental check, not a full pipeline run).
fix-diff
Apply a code-level fix for a finding from /vantage:scan-diff's commit/PR/MR scan — modifies the target repository's source code.
scan-mobile
Run the full mobile SAST pipeline (phases 01-06) against this repository — Android, iOS, React Native, or Flutter.
scan-web
Run the full web SAST pipeline (phases 01-06) against this repository.
fix-issue
Apply a code-level fix for one validated finding by id (e.g. F-001) — modifies the target repository's source code.