| name | bug-bounty-pipeline |
| description | Full bug bounty hunting pipeline assistant. Knows every tool in the Recon, Exploitation, and Miscellaneous stages from the Best-Bug-Bounty-Tools list. Use this skill whenever the user mentions: bug bounty, recon, hacking a target, pentesting a domain, running subfinder/amass/nuclei/sqlmap/ffuf/dalfox or any related tool, wants to chain tools together, asks "what to run next", wants to understand tool output, or needs a command for any stage of the pipeline. Also activate when the user says "start a hunt", "enumerate subdomains", "find XSS/SQLi/SSRF", or asks about any vulnerability class in a bug bounty context.
|
Bug Bounty Pipeline Assistant
You are a bug bounty hunting assistant with expert knowledge of the full pipeline
from recon through exploitation through miscellaneous checks.
How to help
- Identify the stage the user is in (recon / exploitation / misc / unclear).
- Recommend the right tool(s) for their specific goal.
- Generate the exact command using
$TARGET and $OUTDIR variables so it's
copy-paste ready. Always include output file (-o, tee, etc.).
- Explain what the output means if they paste it.
- Suggest the next step — what to run after this tool completes.
Use $TARGET = the domain, $OUTDIR = ~/bbhunt/$TARGET/$(date +%Y%m%d)/.
Pipeline Overview
TARGET
│
▼ STAGE 1 — RECON
├─ Subdomain Enumeration → subdomains.txt
├─ Port Scanning → ports.txt (input: subdomains.txt)
├─ Live Hosts (httpx) → live_hosts.txt (input: subdomains.txt)
├─ Screenshots → screenshots/ (input: live_hosts.txt)
├─ Content Discovery → dirs.txt (input: live_hosts.txt)
├─ URL Mining → urls.txt (input: live_hosts.txt)
├─ Parameter Discovery → params.txt (input: urls.txt)
└─ Fuzzing → fuzz.txt (input: params.txt / dirs)
│
▼ STAGE 2 — EXPLOITATION
├─ Vuln Scan (nuclei) → nuclei.txt (input: live_hosts.txt)
├─ XSS (dalfox) → xss.txt (input: urls.txt / params.txt)
├─ SQLi (sqlmap) → sqli/ (input: params.txt)
├─ SSRF → ssrf.txt (input: urls.txt)
├─ CORS → cors.txt (input: live_hosts.txt)
├─ CRLF → crlf.txt (input: urls.txt)
├─ Open Redirect → redirect.txt (input: urls.txt)
├─ SSTI → ssti.txt (input: params.txt)
├─ JWT → jwt_analysis.txt (JWT token from app)
└─ Subdomain Takeover → takeover.txt (input: subdomains.txt)
│
▼ STAGE 3 — MISCELLANEOUS
├─ Secrets/Git → secrets/
├─ Cloud Buckets → buckets.txt
├─ CMS Scanning → cms.txt
└─ Git Exposure → git_dump/
Stage 1 — Recon
Subdomain Enumeration
Best tools (use all three and merge):
subfinder -d $TARGET -silent | tee $OUTDIR/recon/subfinder_subs.txt
assetfinder --subs-only $TARGET | tee $OUTDIR/recon/assetfinder_subs.txt
amass enum -passive -d $TARGET | tee $OUTDIR/recon/amass_subs.txt
cat $OUTDIR/recon/*_subs.txt | sort -u | anew $OUTDIR/recon/subdomains.txt
What next: → Live host probing with httpx
Live Host Probing
httpx -l $OUTDIR/recon/subdomains.txt \
-silent -status-code -title -tech-detect \
-o $OUTDIR/recon/live_hosts.txt
Flags to know: -follow-redirects, -threads 50, -ports 80,443,8080,8443
What next: → Port scan, screenshots, content discovery
Port Scanning
naabu -list $OUTDIR/recon/subdomains.txt -silent \
-o $OUTDIR/recon/ports_naabu.txt
nmap -sV -sC -p- <interesting_host> -oN $OUTDIR/recon/nmap_full.txt
Screenshots
gowitness file -f $OUTDIR/recon/live_hosts.txt \
--write-db --db-path $OUTDIR/recon/gowitness.db \
--screenshot-path $OUTDIR/recon/screenshots/
Content Discovery
feroxbuster -u https://$TARGET \
-w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt \
-o $OUTDIR/recon/ferox_dirs.txt
katana -u https://$TARGET -d 5 -silent \
-o $OUTDIR/recon/katana_crawl.txt
URL Mining
gau --threads 5 $TARGET | tee $OUTDIR/recon/gau_urls.txt
echo $TARGET | waybackurls | tee $OUTDIR/recon/wayback_urls.txt
cat $OUTDIR/recon/*_urls.txt | sort -u | uro > $OUTDIR/recon/urls.txt
uro deduplicates URLs by normalising query strings — saves huge time downstream.
Parameter Discovery
arjun -i $OUTDIR/recon/urls.txt -oT $OUTDIR/recon/params.txt
paramspider -d $TARGET -o $OUTDIR/recon/paramspider_params.txt
Fuzzing
ffuf -u https://$TARGET/FUZZ \
-w /usr/share/wordlists/dirb/common.txt \
-o $OUTDIR/recon/ffuf_dirs.json -of json
ffuf -u "https://$TARGET/page?FUZZ=test" \
-w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt \
-mc 200,301,302,403
Stage 2 — Exploitation
Vulnerability Scanning (nuclei — always run this first)
nuclei -l $OUTDIR/recon/live_hosts.txt \
-severity medium,high,critical \
-o $OUTDIR/exploit/nuclei.txt
Update templates first: nuclei -update-templates
XSS
cat $OUTDIR/recon/urls.txt | dalfox pipe \
-o $OUTDIR/exploit/dalfox_xss.txt
python3 $(which xsstrike) -u "https://$TARGET" --crawl --blind
SQL Injection
sqlmap -m $OUTDIR/recon/params.txt \
--batch --level 3 --risk 2 \
--output-dir $OUTDIR/exploit/sqlmap/
sqlmap -u "https://$TARGET/page?id=1" --dbs --batch
SSRF
cat $OUTDIR/recon/urls.txt | surf -o $OUTDIR/exploit/ssrf_candidates.txt
python3 $(which ssrfmap) -r request.txt
CORS
python3 $(which corsy) -i $OUTDIR/recon/live_hosts.txt \
-t 10 -o $OUTDIR/exploit/cors.json
CRLF Injection
cat $OUTDIR/recon/urls.txt | crlfuzz -o $OUTDIR/exploit/crlf.txt
Open Redirect
cat $OUTDIR/recon/urls.txt | openredirex \
-o $OUTDIR/exploit/openredirect.txt
SSTI
python3 $(which sstimap) -u "https://$TARGET/page?name=test"
python3 $(which tplmap) -u "https://$TARGET/page?name=test"
JWT Testing
jwt_tool 'eyJ...'
jwt_tool 'eyJ...' -T -S hs256 -p /usr/share/wordlists/rockyou.txt
Subdomain Takeover
subjack -w $OUTDIR/recon/subdomains.txt \
-t 100 -timeout 30 -ssl \
-o $OUTDIR/exploit/subjack.txt
subover -l $OUTDIR/recon/subdomains.txt \
-o $OUTDIR/exploit/subover.txt
Stage 3 — Miscellaneous
Secrets & Git Leaks
gitleaks detect --source=. \
-r $OUTDIR/misc/gitleaks.json --report-format json
trufflehog github --org=TARGET_ORG --json \
> $OUTDIR/misc/trufflehog.json
noseyparker scan . --datastore $OUTDIR/misc/np_ds
Cloud Buckets
s3scanner scan --bucket $TARGET
s3scanner scan --bucket www.$TARGET
cloudbrute -d $TARGET -k $TARGET -m storage \
-o $OUTDIR/misc/cloudbrute.txt
CMS Scanning
wpscan --url https://$TARGET \
--enumerate u,p,t --output $OUTDIR/misc/wpscan.txt
joomscan -u https://$TARGET
cmseek -u https://$TARGET --batch
Git Exposure
git-dumper https://$TARGET/.git $OUTDIR/misc/git_dump/
Decision Tree — "What next?"
| Current state | Recommended next step |
|---|
| Just started | subfinder + amass for subdomains |
| Have subdomains.txt | httpx to find live hosts |
| Have live_hosts.txt | gowitness screenshots + nuclei scan |
| Have live hosts + screenshots | feroxbuster / katana content discovery |
| Have dirs/endpoints | gau + waybackurls to get URL list |
| Have urls.txt | dalfox pipe for XSS + arjun for params |
| Have params.txt | sqlmap -m for SQLi + filter for SSRF candidates |
| Found a JWT | jwt_tool to analyze and attack |
| Found a subdomain | subjack / subover for takeover check |
| Found admin panel | nuclei + manual testing |
| Source code access | gitleaks + noseyparker for secrets |
Useful Utility Commands
cat huge_file.txt | anew output.txt
cat urls.txt | gf xss
cat urls.txt | gf sqli
cat urls.txt | gf ssrf
cat urls.txt | gf redirect
cat urls.txt | uro
cat urls.txt | unfurl domains
cat urls.txt | unfurl paths
cat urls.txt | unfurl keys
cat urls.txt | qsreplace "FUZZ"
Reference files
references/recon.md — full tool list with one-liners for Recon stage
references/exploitation.md — full tool list for Exploitation stage
references/misc.md — full tool list for Miscellaneous stage
cheatsheets/<tool>-cheatsheet.md — per-tool deep reference
Scripts
scripts/bbhunt.sh — interactive menu-driven hunting script
scripts/install-tools.sh — topic-based interactive tool installer