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/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/propagate)<a href="https://agentmods.dev/commands/allsmog/vuln-scout/propagate"><img src="https://agentmods.dev/badge/commands/allsmog/vuln-scout/propagate.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.1 | $0.00020 | $0.02050 |
| Opus 5 | $0.00010 | $0.01025 |
| Sonnet 5 | $0.00004 | $0.00410 |
| Haiku 4.5 | $0.00002 | $0.00205 |
Grade A, and why
propagate 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 8d 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 — 328 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Pattern Propagation
When you find one vulnerability, search for the same pattern everywhere else. Developers often make the same mistake repeatedly.
Philosophy
"If you find one bug, look for the same bug everywhere else." - Common Bug Bounty Wisdom
Why pattern propagation works:
- Developers copy/paste code
- Codebases have consistent (bad) patterns
- Same developer makes same mistakes
- Frameworks encourage certain anti-patterns
- One finding often multiplies into many
Usage
Option 1: Describe the Pattern
/vuln-scout:propagate "string concatenation in SQL queries"
Option 2: Reference a Known Vulnerability
/vuln-scout:propagate src/api/users.py:45
The command will analyze the code at that location and extract the generalizable pattern.
Phase 1: Pattern Extraction
If file:line provided
- Read the specified file and line
- Analyze the vulnerable code
- Identify the anti-pattern
- Extract searchable characteristics
Example analysis:
# Given: src/api/users.py:45
# Code: query = f"SELECT * FROM users WHERE id = {user_id}"
# Extracted pattern:
# - f-string or format() with SQL keywords
# - Variable interpolation in query string
# - Missing parameterization
If description provided
- Parse the vulnerability description
- Map to known vulnerability patterns
- Generate search patterns
Example mapping:
Description: "string concatenation in SQL queries"
Patterns:
- f"SELECT.*{
- "SELECT.*" +
- "SELECT.*%s" %
- "SELECT.*".format(
- query.*=.*+.*user
Phase 2: Generate Search Patterns
SQL Injection Patterns
# f-strings with SQL
grep -rniE 'f"(SELECT|INSERT|UPDATE|DELETE|FROM|WHERE).*\{' --include="*.py"
# String concatenation with SQL
grep -rniE '"(SELECT|INSERT|UPDATE|DELETE).*"\s*\+' --include="*.py" --include="*.java" --include="*.js"
# Format strings with SQL
grep -rniE '(SELECT|INSERT|UPDATE|DELETE).*%s.*%' --include="*.py"
grep -rniE '\.format\(.*\).*(SELECT|INSERT|UPDATE|DELETE)' --include="*.py"
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.
- 8d ago First seen · 328 lines · 20 tokens per session scan A 29f7122545cd
propagate is a command published in the GitHub repository allsmog/vuln-scout (24 stars, last pushed 2mo ago), licensed MIT. It adds 20 tokens to every session and 2,050 once invoked, about $0.0001 per session on Opus 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-30.
Other commands, from other repositories
security-sast
Static Application Security Testing (SAST) for code vulnerability analysis across multiple languages and frameworks.
fix
Apply code-level fixes for ALL validated findings, one at a time — modifies the target repository's source code.
security-semgrep-setup
Check if Semgrep is installed and working. If not, install it using the best available method. Then log in to Semgrep Pro, enable the Pro engine, and run a local Pro scan in the current directory.
sessions
List all Claude Code sessions across all projects, sorted by most recent. Show project context, date, and the exact resume command for each session.
security-sast
Static Application Security Testing (SAST) for code vulnerability analysis across multiple languages and frameworks.
init
Install the formatters this repository needs, with every command visible before it runs.