/wordlist-gen
Generate a company-specific password wordlist for spray attacks. Crawls the target website with cewler, dedups + length-filters, then applies hashcat rules to produce a ranked candidate list. Output -> recon/<target>/wordlists/. Usage /wordlist-gen <target> [--depth N] [--mode
$ npx -y skills add shuvonsec/claude-bug-bounty --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/wordlist-gen
Context preview
What this command does when you run it.
Generate a company-specific password wordlist for spray attacks. Crawls the target website with cewler, dedups + length-filters, then applies hashcat rules to produce a ranked candidate list. Output -> recon/<target>/wordlists/. Usage /wordlist-gen <target> [--depth N] [--mode
Command definition
wordlist-gen.mddescription: Generate a company-specific password wordlist for spray attacks. Crawls the target website with cewler, dedups + length-filters, then applies hashcat rules to produce a ranked candidate list. Output -> recon/<target>/wordlists/. Usage /wordlist-gen <target> [--depth N] [--mode minimal|balanced|aggressive]
/wordlist-gen
Generate a company-specific password wordlist by crawling the target website and applying hashcat mutation rules.
Usage
/wordlist-gen target.com
/wordlist-gen target.com --depth 3
/wordlist-gen target.com --mode aggressive # 52k rules, for offline cracking only
/wordlist-gen target.com --filter loose # keep raw cewler tokens (CSS/URL slugs)
/wordlist-gen target.com --min-len 6 --rate 3 # slower, longer-min crawl
Pipeline
1. **cewler** crawls `https://<target>` (depth 2 by default, lowercase, polite rate limit) → `from-website.txt` 2. Awk dedup + filter → `cleaned.txt`
- **strict** (default): start with letter, alphanum only, max 14 chars, drops 10+ char mixed tokens (kills API key examples, CSS colors, URL slugs)
- **loose**: only length + printable filter (cewler raw)
3. **hashcat --stdout -r <rules>** applies password mutations (l33t, case, year suffix, exclamation, digit append) → `ranked.txt`
Modes
| Mode | Rule file | Rules | Use case | |---|---|---|---| | `minimal` | `top10_2025.rule` | ~10 | Cautious spray — minimum noise per base word | | `balanced` *(default)* | `best66.rule` | ~66 | Standard spray — best signal/cost ratio | | `aggressive` | `OneRuleToRuleThemAll.rule` | 52,014 | **Offline cracking only** — too many candidates for spray |
Output
recon/<target>/wordlists/
├── from-website.txt # raw cewler output
├── cleaned.txt # dedup + length-filtered
└── ranked.txt # final spray candidates (use this)
Example
$ /wordlist-gen quotes.toscrape.com --mode minimal
[+] Step 1/3: crawling https://quotes.toscrape.com (depth=2, min-len=5, rate=5/s)
[+] Crawled 3199 raw words
[+] Step 2/3: dedup + length filter (5-20 chars, printable ASCII)
[+] Cleaned -> 3159 unique words
[+] Step 3/3: applying rules (top10_2025.rule)
[+] Final wordlist: 31182 candidates
Sample mutations for the word "absurd":
absurdist absurdist! absurdist1 absurdist123
absurdist2025 Absurdist ABSURDIST absurdistabsurdist
Why this beats generic wordlists
Password sprays with `rockyou.txt` fail fast — every WAF/lockout-detector knows those passwords. Company-specific wordlists succeed because employees pick passwords from their own world: product names, office cities, internal project codes, founder surnames. cewler harvests exactly those terms from the public website.
Dependencies
Install once: `./install_tools.sh --with-credential-attack`
The script checks for `cewler` and `hashcat` and exits with a helpful hint if missing.
What this does NOT do
- **No HIBP filtering** — PR #4 will add `tools/breach_checker.py` to rank by leak prevalence.
- **No OSINT input** — PR #3 will feed employee names, birthdays, and project codes via pydictor.
- **No spray execution** — PR #5 will add `/spray` (with mandatory scope check and lockout warning).
Underlying tool
`tools/wordlist_engine.sh <target> [flags]` — call directly if you prefer a non-slash interface.
Read more
description: Generate a company-specific password wordlist for spray attacks. Crawls the target website with cewler, dedups + length-filters, then applies hashcat rules to produce a ranked candidate list. Output -> recon/<target>/wordlists/. Usage /wordlist-gen <target> [--depth N] [--mode minimal|balanced|aggressive]
/wordlist-gen
Generate a company-specific password wordlist by crawling the target website and applying hashcat mutation rules.
Usage
/wordlist-gen target.com /wordlist-gen target.com --depth 3 /wordlist-gen target.com --mode aggressive # 52k rules, for offline cracking only /wordlist-gen target.com --filter loose # keep raw cewler tokens (CSS/URL slugs) /wordlist-gen target.com --min-len 6 --rate 3 # slower, longer-min crawl
Pipeline
1. **cewler** crawls `https://<target>` (depth 2 by default, lowercase, polite rate limit) → `from-website.txt` 2. Awk dedup + filter → `cleaned.txt`
- **strict** (default): start with letter, alphanum only, max 14 chars, drops 10+ char mixed tokens (kills API key examples, CSS colors, URL slugs)
- **loose**: only length + printable filter (cewler raw)
3. **hashcat --stdout -r <rules>** applies password mutations (l33t, case, year suffix, exclamation, digit append) → `ranked.txt`
Modes
| Mode | Rule file | Rules | Use case | |---|---|---|---| | `minimal` | `top10_2025.rule` | ~10 | Cautious spray — minimum noise per base word | | `balanced` *(default)* | `best66.rule` | ~66 | Standard spray — best signal/cost ratio | | `aggressive` | `OneRuleToRuleThemAll.rule` | 52,014 | **Offline cracking only** — too many candidates for spray |
Output
recon/<target>/wordlists/ ├── from-website.txt # raw cewler output ├── cleaned.txt # dedup + length-filtered └── ranked.txt # final spray candidates (use this)
Example
$ /wordlist-gen quotes.toscrape.com --mode minimal [+] Step 1/3: crawling https://quotes.toscrape.com (depth=2, min-len=5, rate=5/s) [+] Crawled 3199 raw words [+] Step 2/3: dedup + length filter (5-20 chars, printable ASCII) [+] Cleaned -> 3159 unique words [+] Step 3/3: applying rules (top10_2025.rule) [+] Final wordlist: 31182 candidates
Sample mutations for the word "absurd":
absurdist absurdist! absurdist1 absurdist123 absurdist2025 Absurdist ABSURDIST absurdistabsurdist
Why this beats generic wordlists
Password sprays with `rockyou.txt` fail fast — every WAF/lockout-detector knows those passwords. Company-specific wordlists succeed because employees pick passwords from their own world: product names, office cities, internal project codes, founder surnames. cewler harvests exactly those terms from the public website.
Dependencies
Install once: `./install_tools.sh --with-credential-attack`
The script checks for `cewler` and `hashcat` and exits with a helpful hint if missing.
What this does NOT do
- **No HIBP filtering** — PR #4 will add `tools/breach_checker.py` to rank by leak prevalence.
- **No OSINT input** — PR #3 will feed employee names, birthdays, and project codes via pydictor.
- **No spray execution** — PR #5 will add `/spray` (with mandatory scope check and lockout warning).
Underlying tool
`tools/wordlist_engine.sh <target> [flags]` — call directly if you prefer a non-slash interface.
AI-powered bug bounty hunting from your terminal - recon, 20 vuln classes, autonomous hunting, and report generation. All inside Claude Code.
Repo: shuvonsec/claude-bug-bounty
Other commands on claude-bug-bounty.
- /arsenal
Show which external bug-bounty tools are installed on this machine and print install hints for the missing ones. Curated from high-signal repos. Use to bootstrap a fresh box or audit which optional capabilities are wired in. Usage: /arsenal | /arsenal <tool-name>
Open command - /autopilot
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]
Open command - /breach-check
HIBP k-anonymity check on a password wordlist. Enriches each password with its breach count, ranks DESC. Free API (no key), only first 5 chars of SHA-1 sent. Output -> <input>-ranked.txt. Usage /breach-check <wordlist> [--min-count N] [--max-count N] [--with-counts]
Open command - /bypass-403
Probe a 403/401 endpoint with the most-paid bypass tricks (header injection, path encoding, method swap, WAF fingerprint, vendor-specific). Wraps byp4xx when installed; otherwise runs a built-in matrix of 38+ techniques. Usage: /bypass-403 <url> | /bypass-403 -l <urls-file>
Open command - /chain
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
Open command - /cloud-recon
Sweep cloud assets for a target — public S3/Azure/GCP buckets via S3Scanner and cloud_enum, plus CloudFlare-bypassed origin IPs via CloudFail (or built-in DNS-history fallback). Use --keyword for storage discovery and --cf-bypass to find an origin IP behind CloudFlare. Usage:
Open command

