hunt
The `/hunt` command dispatches vulnerability assessments across two engagement modes: Red Team Assessment (high-severity findings with chaining) and Web Application Penetration Testing (full OWASP coverage). It accepts single targets, wildcards, or target lists, optionally filters by vulnerability class or enables static code analysis and browser-based testing. The command delegates to specialized skills for recon, scoping, finding validation, and reporting while storing credentials in session memory only.
mkdir -p ~/.claude/commands && curl -fsSL https://raw.githubusercontent.com/elementalsouls/Claude-BugHunter/HEAD/commands/hunt.md -o ~/.claude/commands/hunt.mdhunt.md
# /hunt
slim two-track dispatcher. one mode question, one branch, delegate.
**engagement frame — state once, then proceed.** invoking `/hunt` asserts the operator holds written
authorization to assess the named scope: a bug-bounty program's in-scope assets, a signed engagement
letter, infrastructure they own, or a practice target. work stays inside that scope — an out-of-scope
host stops the run rather than widening it. the deliverable is a reproducible, remediable finding.
do not prompt for this and do not ask about the SOW. it is an assertion the operator already made by
invoking the command; restating it once keeps the engagement context explicit for the rest of the
session instead of leaving it implied.
## step 0 — parse
```
target.com single target
*.target.com wildcard — /recon <base> first, then hunt each live host
targets.txt multi-target — mode question once, applied per line
--vuln-class <X> skip mode question, load only hunt-<X>
--source-code <p|url> static + dynamic
--chrome browser MCP mode
```
wildcard handler: if `$TARGET` begins with `*.`, strip prefix and invoke `/recon <base>` before continuing.
## step 1 — mode dispatcher
skipped if `--vuln-class` is set.
```
question: "what kind of engagement is this for {target}?"
header: "engagement"
options:
1. Red Team Assessment — critical/high impact, chained findings, client deliverable
2. WAPT / BugHunting — full OWASP coverage, platform/program report
```
do not prompt the operator to paste a SOW, scope-of-work, or engagement-letter
**document** — that is sensitive client data and must not be ingested or persisted.
This is a data-hygiene rule, NOT an authorization bypass: scope is still enforced by
`/scope` (deterministic, deny-wins) and the `triage-validation` 7-Question Gate before
any finding ships. Authorization is assumed to be established out-of-band; the bundle
verifies in-scope, it does not collect proof-of-authorization paperwork.
## step 2a — red team
```
mode: redteam
severity gate: critical / high · medium only if it chains via /chain
report: redteam-report-template
```
invoke `hunt-dispatch` skill with `mode=redteam`. hunt-dispatch fingerprints the target, loads platform skills + always-on (`redteam-mindset`, `mid-engagement-ir-detection`), and prints the taxonomy.
## step 2b — wapt
ask again:
```
question: "black box or grey box?"
header: "test mode"
options:
1. Black Box — no credentials, external perspective
2. Grey Box — test credentials provided (or skip)
```
grey box → prompt `creds (user/pass or token), or "skip":`. creds live in session memory only — never written, never logged. late-bind: if user later says "now grey box with X/Y", capture creds, do NOT re-fire mode question.
```
mode: wapt / {blackbox|greybox}
severity gate: all owasp-relevant
report: report-writing (bugcrowd-reporting if target on bugcrowd)
```
invoke `hunt-dispatch` skill with `mode=wapt box=blackbox|greybox`.
## step 3 — sibling delegation
```
before any HTTP touch → /scope (mandatory pre-flight)
recon empty | wildcard → /recon <target>
5+ live hosts surfaced → /surface (P1/P2/Kill list)
confirmed finding → /chain (A→B table lives here, NOT in /hunt)
before any report → /validate (7-Question Gate)
findings ready → /report (suggest, never auto)
session end → /remember (silent)
```
## step 4 — active testing
hand off to the loaded `hunt-*` skills. each skill has its own probes, payloads, validation. do not duplicate that logic here. on every confirmed finding, invoke `/chain` to check the A→B signal table.
## modes
`--source-code <path|url>` — adds hardcoded-secret grep, route mapping, dangerous-function scan before live testing.
`--chrome` — browser MCP for SPA / OAuth / DOM-XSS / WebSocket / file upload.
`--vuln-class <X>` — load only `hunt-<X>`, skip mode question.
## pacing & isolation
20-min rotation: every 20 min ask "am i making progress?" no → rotate. stop signals: 403 everywhere · 20+ payloads identical response · 5+ preconditions · 30+ min stuck on one endpoint.
one session per target. for `targets.txt`, mode question fires once; findings scoped per-target in hunt memory.
## privacy
never prompt for, log, or echo SOW / scope-of-work / engagement-letter content. never persist grey box credentials to disk. client data lives only in `.gitignore`d `targets/<target>/SESSION.md`.
at session end, invoke `/remember` silently (non-fatal).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]
Build an exploit chain — given bug A, finds B and C to combine for higher severity and payout. Knows common chain patterns: IDOR→ATO, SSRF→cloud metadata, XSS→ATO, open redirect→OAuth theft, S3→bundle→secret→OAuth. Usage: /chain
On-demand intelligence fetch for a target — CVEs, disclosed reports, new features. Pulls NVD/GitHub-Advisory CVEs + bundled disclosed reports + hunt memory context. Usage: /intel target.com
Inspect or rotate the autopilot ledger JSONL files (findings.jsonl, negatives.jsonl). Caps file size and keeps N rotated backups so memory does not grow unbounded.
Pick up a previous hunt on a target — shows hunt history and untested surface from the autopilot ledger. Usage: /pickup target.com
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/<target>/ directory. Usage: /recon target.com
Optional manual note on a target or the last confirmed finding. Capture is automatic during autopilot; this is for extra context. Usage: /remember
Write a submission-ready bug bounty report. Generates H1/Bugcrowd/Intigriti/Immunefi format with CVSS 3.1 score, proof of concept, impact statement, and remediation. Run /validate first. Usage: /report