hunt-burp
Drive Burp Suite over its MCP server as an AI triage + attack layer - review proxy history for signals, replay via Repeater/send,…
Autonomous bug-bounty campaign driver. Runs a full programme end to end with no operator approvals - the deterministic driver (scripts/campaign.py) owns pass state, generates the killchain board from recon, and prints the exact next action (including which Skill and tool to run)
$ npx -y skills add Encod3d-Sec/TORCH --skill bb-workflow --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/bb-workflowContext preview
The summary Claude sees to decide when to auto-load this skill.
Autonomous bug-bounty campaign driver. Runs a full programme end to end with no operator approvals - the deterministic driver (scripts/campaign.py) owns pass state, generates the killchain board from recon, and prints the exact next action (including which Skill and tool to run)
name: bb-workflow description: Autonomous bug-bounty campaign driver. Runs a full programme end to end with no operator approvals - the deterministic driver (scripts/campaign.py) owns pass state, generates the killchain board from recon, and prints the exact next action (including which Skill and tool to run) every turn. Use when starting or resuming a bug-bounty engagement, "run the bb workflow", "hunt this program", "9-pass campaign", or when handed a *.scope wildcard to test for TIER1 findings. Single agent, refuter-verified, wiki-first, tool-first.
The driver is the plan. You run one command, do exactly what it prints, record the result, repeat. Nothing here is advisory: the gates are enforced by `scripts/campaign.py`, so follow its output literally rather than improvising. This exists because prose routing failed - 22 Skill calls against 341 hand-rolled curls in the reference campaign; the board fixes that by making the mandate tool output, fresh every turn.
python3 scripts/campaign.py next # prints ONE required-action block # do EXACTLY what it lists, in order python3 scripts/campaign.py note <row> --arsenal <slug> # after Skill(wiki-arsenal) python3 scripts/campaign.py done <row> --poc <img> --kind req # | --dead R | --park Q | --find F # repeat
1. `python3 scripts/campaign.py init --type bb` - validates `scope.md` + the autonomy envelope, repairs `engagement_type`/schema, prints the Deadends size. If it exits 2, fix what it names (an empty `scope.md` is the one thing it cannot invent - fill it from the programme brief first). 2. Passes 0-3 (OSINT/Wayback, crawl, fingerprint, CVE) feed `state.md`. Read every JS bundle and handler end to end (`Skill`-less; volume-reduce first: source-map, drop vendor, beautify, read). Grep never substitutes for the read. 3. `python3 scripts/campaign.py board` - writes the killchain 4a rows. Refuses on an empty state. 4. Enter the loop. `next` serves one row, depth-first, one open row at a time.
The programme's targets are internet-reachable, so **drive them through a real browser**, not just `curl` - a modern site's real attack surface is only visible rendered. Use the `chrome-devtools` MCP:
page makes reveal the **API endpoints/routes** a static crawl never sees (this is exactly the lead a curl-only recon misses). `take_snapshot` for the rendered DOM; `evaluate_script` to read client config / `__NEXT_DATA__` / JS globals.
`take_screenshot` of the exploited state is a valid `web` PoC (G3).
Caveat: chrome-devtools drives a **local** browser, so it only reaches internet targets. For a VPN-boxed host it cannot connect - use the VM-side browser (`scripts/browser.sh` / `capture.sh web`) as the equivalent. `pt-workflow` / `ctf-workflow` default to the VM browser for that reason.
**Manual login / MFA the agent cannot do headlessly** (Smart-ID, Mobile-ID, a CAPTCHA) -> `Skill(chrome-devtools-browser)`: a VISIBLE chromium on the VM desktop (`scripts/browser-visible.sh`) the operator logs into, driven + observed live via the chrome-devtools MCP - capture the authenticated session and the real `/…` API calls, then feed the hunt skills.
only). A page render is not evidence of a bug.
No approvals. Out-of-envelope work **parks** to `decisions.md` and the loop moves on - it never blocks and never asks a question. A confirmed TIER1 is written up and chained but does not stop the run; the campaign ends when the board is exhausted (two dry reframe rounds) or the request budget is spent.
Explicit per-role model assignment (the driver enforces the verifier gate; the rest is operating policy):
The line that keeps quota safety: Haiku is allowed for a **bounded single job**, never for open-ended parallel hunting.
no parallel `TaskCreate` list. The board is the plan.
the mandatory Opus **verifier** gates every finding (`done --find` refuses without a passing `verdicts/<F>.json`). Still **no open-ended hunter fan-out** (it exhausted the weekly quota last time) - Haiku is only for single, fully-specified jobs.
`capture.sh req` when it is not. Never block on Burp. -
An AI-powered penetration testing and bug-bounty knowledge base and automation harness for Claude Code.
Drive Burp Suite over its MCP server as an AI triage + attack layer - review proxy history for signals, replay via Repeater/send,…
Capture a Burp Suite Repeater request/response as a PoC image (targets/<eng>/poc/) by driving the Burp MCP + the Kali GUI.…
OFFLINE FALLBACK for the claude-md-management plugin - prefer that plugin when it is installed. Audit and improve CLAUDE.md files…
Drive responsible disclosure of a proven finding to a CVE. Package the report, find the vendor contact, report privately,…
Active Directory attack hunting - enumeration to domain dominance. Spray-safe (lockout gate), AS-REP/Kerberoast, ACL + ADCS…
API attack hunting (REST / GraphQL / gRPC) - BOLA/IDOR, BFLA, mass assignment, excessive data exposure, auth/JWT, introspection +…