ghidra-headless
Reverse engineers binaries using Ghidra's headless analyzer. Use when decompiling executables, extracting functions, strings,…
Expert guidance for ffuf web fuzzing during authorized penetration testing. Covers directory discovery, subdomain enumeration, parameter fuzzing, authenticated fuzzing with raw requests, auto-calibration, and result analysis. Use when running ffuf scans, analyzing ffuf output,
$ npx -y skills add trailofbits/skills-curated --skill ffuf-web-fuzzing --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/ffuf-web-fuzzingContext preview
The summary Claude sees to decide when to auto-load this skill.
Expert guidance for ffuf web fuzzing during authorized penetration testing. Covers directory discovery, subdomain enumeration, parameter fuzzing, authenticated fuzzing with raw requests, auto-calibration, and result analysis. Use when running ffuf scans, analyzing ffuf output,
name: ffuf-web-fuzzing description: >- Expert guidance for ffuf web fuzzing during authorized penetration testing. Covers directory discovery, subdomain enumeration, parameter fuzzing, authenticated fuzzing with raw requests, auto-calibration, and result analysis. Use when running ffuf scans, analyzing ffuf output, or building fuzzing strategies for web targets. allowed-tools: - Bash - Read - Write - Edit - Grep - Glob
Guidance for using ffuf (Fuzz Faster U Fool) effectively during authorized penetration testing.
ffuf must be installed: `brew install ffuf` (macOS) or `go install github.com/ffuf/ffuf/v2@latest`
1. **Always use `-ac`** (auto-calibration) unless you have a specific, documented reason not to 2. **Always save output** with `-o results.json` for later analysis 3. **Rate limit production targets** with `-rate` and `-t` flags 4. **Use `--request` for auth** -- raw request files beat command-line header chains 5. **Confirm authorization first** -- before running any scan, verify the user has written permission for the target. Ask if unclear.
# In URL path ffuf -w wordlist.txt -u https://target.com/FUZZ -ac # In headers ffuf -w wordlist.txt -u https://target.com -H "Host: FUZZ.target.com" -ac # In POST body ffuf -w wordlist.txt -X POST -d "user=admin&pass=FUZZ" -u https://target.com/login -ac # Multiple positions with custom keywords ffuf -w endpoints.txt:EP -w ids.txt:ID -u https://target.com/EP/ID -mode pitchfork -ac
`-ac` automatically detects and filters repetitive false-positive responses. It adapts to the target's specific behavior and removes noise from dynamic content.
ffuf -w wordlist.txt -u https://target.com/FUZZ -ac # Standard ffuf -w wordlist.txt -u https://target.com/FUZZ -ach # Per-host (multi-host scans) ffuf -w wordlist.txt -u https://target.com/FUZZ -acc "404" # Custom calibration string
ffuf -w /opt/SecLists/Discovery/Web-Content/raft-large-directories.txt \
-u https://target.com/FUZZ -e .php,.html,.txt,.bak \
-ac -c -v -o results.jsonffuf -w /opt/SecLists/Discovery/DNS/subdomains-top1million-5000.txt \
-u https://FUZZ.target.com -ac -c -v -o results.jsonffuf -w /opt/SecLists/Discovery/Web-Content/api/api-endpoints.txt \
-u https://api.target.com/v1/FUZZ \
-H "Authorization: Bearer YOUR_TOKEN_HERE" -mc 200,201 -ac -cCapture a full authenticated request, save to `req.txt`, insert `FUZZ`:
POST /api/v1/users/FUZZ HTTP/1.1
Host: target.com
Authorization: Bearer YOUR_TOKEN_HERE
Cookie: session=YOUR_SESSION_ID
Content-Type: application/json
{"action":"view","id":"1"}ffuf --request req.txt -w wordlist.txt -ac -o results.json
See [references/request-templates.md](references/request-templates.md) for pre-built templates covering bearer tokens, session cookies, API keys, and GraphQL.
Authenticated fuzzing requires real credentials that the agent cannot obtain independently. When the user asks for authenticated fuzzing:
1. Ask the user to provide ONE of:
2. If given a curl command, convert it to raw HTTP request format and write to `req.txt` 3. If given individual credentials, use a template from [references/request-templates.md](references/request-templates.md) and substitute real values 4. Never fabricate or guess authentication tokens
ffuf --request req.txt -w <(seq 1 10000) -ac -mc 200 -o idor_results.json
| Environment | Flags | Notes | |-------------|-------|-------| | Production (stealth) | `-rate 2 -t 10` | Avoid WAF triggers | | Production (normal) | `-rate 10 -t 20` | Balanced | | Staging/Dev | `-rate 50 -t 40` | Faster | | Local/Lab | No limit, `-t 100` | Maximum speed |
Save output as JSON (`-o results.json`),
Trail of Bits' reviewed and approved Claude Code plugins. Every skill and marketplace here has been vetted for quality and safety.
Reverse engineers binaries using Ghidra's headless analyzer. Use when decompiling executables, extracting functions, strings,…
Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and…
Researches a topic from the last 30 days on Reddit, X, and the web. Surfaces real community discussions with engagement metrics…
Deploy applications and infrastructure to Cloudflare using Workers, Pages, and related platform
Use when the agent is building or iterating on a web game (HTML/JS) and needs a reliable
Use when the task involves reading, creating, or editing `.docx` documents, especially when