skills/fuzz/SKILL.md
Use when discovering hidden endpoints, parameters, files, routes, directories, request fields, or undocumented application surface through fuzzing.
npx skillsauth add ghostonbutterbread/bug-bounty-harness fuzzInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Discover hidden endpoints, parameters, and files through enumeration.
Load this skill whenever the agent plans to discover unknown application surface by trying candidates, even if the word "fuzz" is not used.
Route these phrases and tasks here:
Do not create a separate policy path for these cases. Once /fuzz is loaded,
the fuzz skill owns the depth, rate-limit, scoping, filtering, artifact, and
handoff rules for the run.
Read shared state in this order before testing:
notes/summary.mdnotes/observations.mdchecklist.md (fuzz items only)todo.md (fuzz items only)Use ffuf as the primary operator-facing harness. agents/fuzz_runner.py exists as a campaign-managed helper class, but it does not expose a stable CLI in this repo.
ffuf -u https://target.com/FUZZ \
-w ~/wordlists/SecLists/Discovery/Web-Content/common.txt \
-mc 200,204,301,302,307,401,403,405 -fc 404 -rate 5 -c -v
Fuzzing is allowed to go deep when the target is in scope, rate limits are clear, and the run is paced. Do not cap ideas just because the wordlist is large. A 50,000-candidate parameter or path campaign is acceptable when it is:
ffuf -rate or equivalent pacingDepth is not permission for destructive payloads, lockout-prone login spraying, state-changing spam, or testing outside scope.
| Mode | Use When | What It Finds |
|------|----------|---------------|
| content | Mapping hidden paths and endpoints | Directories, files, panels, APIs |
| extensions | Static file or backup exposure is likely | .bak, .old, config, env, and source artifacts |
| params | Interesting endpoints exist already | Hidden parameters and debug switches |
| vhost | Shared infrastructure or wildcard hosting is suspected | Alternate virtual hosts and shadow apps |
# Path and endpoint discovery
ffuf -u https://target.com/FUZZ \
-w ~/wordlists/SecLists/Discovery/Web-Content/common.txt \
-mc 200,204,301,302,307,401,403,405 -fc 404 -rate 5 -c -v
# Parameter discovery on a known endpoint
ffuf -u 'https://target.com/api/search?FUZZ=test' \
-w ~/wordlists/SecLists/Discovery/Web-Content/burp-parameter-names.txt \
-mc all -fc 404 -fs 0 -rate 3 -c -v
ffuf| Option | Description |
|--------|-------------|
| -u | Target URL with FUZZ marker |
| -w | Wordlist path |
| -mc | Match status codes |
| -fc | Filter status codes |
| -fs | Filter by response size |
| -rate | Requests per second |
| -c | Colored output |
| -v | Verbose output |
$HARNESS_ROOT/prompts/fuzz-playbook.md$HARNESS_SHARED_BASE/{program}/agent_shared/$HARNESS_SHARED_BASE/{program}/agent_shared/findings/fuzz/findings.md$HARNESS_SHARED_BASE/{program}/agent_shared/findings/fuzz/prompts/fuzz-playbook.md.ffuf with the smallest wordlist that answers the current question.agent_shared/findings/fuzz/findings.md.checklist.md, todo.md, and relevant notes.testing
Systematic live request mutation: flip booleans, field ops, headers, content-type, parser differentials, replay vs intercept, null/empty testing. Inherits live-testing-policy scope/rate/ownership rules.
development
Test password reset, forgot-password, reset-token, email reset, and account recovery flows for account takeover risks.
tools
Targeted param/field discovery using tech stack clues, naming conventions, and controlled-rate ffuf — then feeds findings into request-exploration for mutation. Not brute-force; informed and scoped.
testing
Ghost-only workflow for creating approved bug bounty test accounts and saving credential references.