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/awarexone/agentic-bug-hunter/jwt-scangit clone --depth 1 https://github.com/Awarexone/Agentic-Bug-HunterWhat 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.00000 | $0.00543 |
| Opus 5 | $0.00000 | $0.00271 |
| Sonnet 5 | $0.00000 | $0.00109 |
| Haiku 4.5 | $0.00000 | $0.00054 |
Grade A, and why
jwt-scan 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 2d 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.
What it actually says
/jwt-scan
Forge and analyze JWTs offline. Implements the three highest-paid JWT bugs from the auth skill. All crypto is pure stdlib — no network needed to mint a forgery.
Usage
/jwt-scan <token> --analyze
/jwt-scan <token> --alg-none
/jwt-scan <token> --confuse --public-key pub.pem --set role=admin
/jwt-scan <token> --crack --wordlist wordlists/jwt-secrets.txt
Run directly:
tools/jwt_scanner.py "$TOKEN" --analyze
tools/jwt_scanner.py "$TOKEN" --crack --wordlist secrets.txt
Attacks
| Flag | Attack | When it works |
|---|---|---|
--alg-none |
Strip signature, set alg to none/None/NONE/nOnE |
verifier honors alg from the header |
--confuse --public-key |
RS256→HS256: re-sign with the server's public key as the HMAC secret | verifier calls generic verify(token, key) |
--crack --wordlist |
Brute-force the HS256 secret | weak/guessable signing secret |
--analyze |
Static: flags alg=none, missing exp, trust-bearing claims (role/is_admin/scope), kid (probe for traversal/SQLi) |
always |
--set key=value (repeatable) overrides claims in --alg-none/--confuse
forgeries — e.g. --set role=admin --set sub=1.
Workflow
--analyzeto read the header/claims and pick an attack.- Mint a forgery (
--alg-noneor--confuse) with--set role=admin. - Replay the forged token against an authenticated endpoint — if it's accepted, you have privilege escalation / auth bypass (Critical).
Getting the public key for --confuse: try /jwks.json,
/.well-known/jwks.json, or extract it from the TLS cert / a verify endpoint.
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.
- 2d ago First seen · 47 lines · 0 tokens per session scan A 68398c49e8be
jwt-scan is a command published in the GitHub repository Awarexone/Agentic-Bug-Hunter (4,651 stars, last pushed yesterday), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 543 tokens. 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
recon
Run full recon pipeline on a target — subdomain enum (Chaos API + subfinder), live host discovery (dnsx + httpx), URL crawl (katana + waybackurls + gau), gf pattern classification, nuclei scan. Outputs to recon/ / directory. Usage: /recon target.com.
hunt
Active vulnerability hunting. Two-track dispatcher — asks Red Team vs WAPT, hands off to hunt-dispatch skill and sibling commands. Usage: /hunt target.com | /hunt .target.com | /hunt targets.txt [--vuln-class X] [--source-code P] [--chrome].
token-scan
Meme coin and token security scan — checks for rug pull vectors (hidden mint, honeypot, fee manipulation, LP lock bypass, authority retention, bonding curve exploits, fake renounce, sandwich amplification). Manual 8-class grep audit (with an optional automated scanner if present). Usage: /token-scan [--chain solana].
autopilot
Run autonomous hunt loop on a target — scope check → recon → rank surface → hunt → validate → report with configurable checkpoints. Usage: /autopilot target.com [--paranoid|--normal|--yolo].
triage
Quick 7-Question Gate triage on a finding before writing a report. Kills N/A submissions before they happen. Faster than /validate — for quick go/no-go decisions. Usage: /triage.
validate
Validate a finding — runs 7-Question Gate + 4-gate checklist. Kills weak findings before report writing. Prevents N/A submissions that hurt validity ratio. Usage: /validate.