/osint-employees
Gather employee names + email patterns for password spray prep. Pipeline theHarvester (search engines + CT logs) -> derive names from email local-parts -> username-anarchy expansion. LinkedIn search is opt-in via --with-linkedin. Output -> recon/<target>/osint/. Usage
$ 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
/osint-employees
Context preview
What this command does when you run it.
Gather employee names + email patterns for password spray prep. Pipeline theHarvester (search engines + CT logs) -> derive names from email local-parts -> username-anarchy expansion. LinkedIn search is opt-in via --with-linkedin. Output -> recon/<target>/osint/. Usage
Command definition
osint-employees.mddescription: Gather employee names + email patterns for password spray prep. Pipeline theHarvester (search engines + CT logs) -> derive names from email local-parts -> username-anarchy expansion. LinkedIn search is opt-in via --with-linkedin. Output -> recon/<target>/osint/. Usage /osint-employees <target.com> [--with-linkedin] [--with-pydictor-social]
/osint-employees
Gather employee names and email patterns for the spray-prep phase. Read-only OSINT — no auth probing.
Usage
/osint-employees target.com
/osint-employees target.com --with-linkedin # add CrossLinked LinkedIn search
/osint-employees target.com --with-pydictor-social # add personal-style password candidates
/osint-employees target.com --company "Acme Corp" # override auto-detected company name
/osint-employees target.com --sources duckduckgo,crtsh --limit 200
Pipeline
1. **theHarvester** — emails + names from search engines + CT logs
- Default sources: `duckduckgo,brave,yahoo,mojeek,crtsh,certspotter,hackertarget,otx`
- All free, no API keys required, no LinkedIn-specific scraping
2. **Derive names** from email local-parts (`john.smith@x.com` → `John Smith`)
- Ambiguous patterns (`jsmith@x.com`) are skipped — not enough signal
3. **(opt) CrossLinked** — LinkedIn employee names via Google/Bing dorks
- `--with-linkedin` opts in
- Uses search engines only; no LinkedIn auth required
4. **username-anarchy** — expand "First Last" into 32+ username permutations
- `john`, `j.smith`, `jsmith`, `smithj`, `js`, `john.smith`, etc.
5. **(opt) pydictor --extend** — personal-style password candidates
- `--with-pydictor-social` opts in
- Generates `firstname2025!`, `firstname123` style mutations
Output
recon/<target>/osint/
├── theharvester.json # raw theHarvester output
├── emails.txt # extracted emails (unique)
├── employee-names.txt # "First Last" per line
├── usernames.txt # all username permutations
└── (personal-passwords.txt if --with-pydictor-social)
Why opt-in for LinkedIn
CrossLinked queries Google/Bing for `site:linkedin.com "Company Name"` — public search, no LinkedIn auth required. But some BBP programs classify LinkedIn-based employee identification under "social engineering reconnaissance" which they don't permit. **Read the program scope before running with `--with-linkedin`**.
Why the default is conservative
For mature, security-conscious targets (Twilio, Stripe, etc.) the default sources often return very few emails — that's expected. These companies have good email hygiene. Add `--with-linkedin` for those targets if scope permits.
What this does NOT do
- **No LinkedIn auth scraping** — LinkedInDumper was intentionally excluded from PR #1 (requires LinkedIn account, OPSEC cost).
- **No paid OSINT** — DeHashed, IntelX, Shodan, Censys all skipped (no API key required by default).
- **No spray execution** — PR #5 will add `/spray` (with mandatory scope check and lockout warning).
- **No automated combining** — `usernames.txt` and `wordlists/ranked.txt` are kept separate; you manually combine before spray.
Dependencies
Install once: `./install_tools.sh --with-credential-attack`
Underlying tool
`tools/osint_employees.sh <target> [flags]` — call directly if you prefer a non-slash interface.
Read more
description: Gather employee names + email patterns for password spray prep. Pipeline theHarvester (search engines + CT logs) -> derive names from email local-parts -> username-anarchy expansion. LinkedIn search is opt-in via --with-linkedin. Output -> recon/<target>/osint/. Usage /osint-employees <target.com> [--with-linkedin] [--with-pydictor-social]
/osint-employees
Gather employee names and email patterns for the spray-prep phase. Read-only OSINT — no auth probing.
Usage
/osint-employees target.com /osint-employees target.com --with-linkedin # add CrossLinked LinkedIn search /osint-employees target.com --with-pydictor-social # add personal-style password candidates /osint-employees target.com --company "Acme Corp" # override auto-detected company name /osint-employees target.com --sources duckduckgo,crtsh --limit 200
Pipeline
1. **theHarvester** — emails + names from search engines + CT logs
- Default sources: `duckduckgo,brave,yahoo,mojeek,crtsh,certspotter,hackertarget,otx`
- All free, no API keys required, no LinkedIn-specific scraping
2. **Derive names** from email local-parts (`john.smith@x.com` → `John Smith`)
- Ambiguous patterns (`jsmith@x.com`) are skipped — not enough signal
3. **(opt) CrossLinked** — LinkedIn employee names via Google/Bing dorks
- `--with-linkedin` opts in
- Uses search engines only; no LinkedIn auth required
4. **username-anarchy** — expand "First Last" into 32+ username permutations
- `john`, `j.smith`, `jsmith`, `smithj`, `js`, `john.smith`, etc.
5. **(opt) pydictor --extend** — personal-style password candidates
- `--with-pydictor-social` opts in
- Generates `firstname2025!`, `firstname123` style mutations
Output
recon/<target>/osint/ ├── theharvester.json # raw theHarvester output ├── emails.txt # extracted emails (unique) ├── employee-names.txt # "First Last" per line ├── usernames.txt # all username permutations └── (personal-passwords.txt if --with-pydictor-social)
Why opt-in for LinkedIn
CrossLinked queries Google/Bing for `site:linkedin.com "Company Name"` — public search, no LinkedIn auth required. But some BBP programs classify LinkedIn-based employee identification under "social engineering reconnaissance" which they don't permit. **Read the program scope before running with `--with-linkedin`**.
Why the default is conservative
For mature, security-conscious targets (Twilio, Stripe, etc.) the default sources often return very few emails — that's expected. These companies have good email hygiene. Add `--with-linkedin` for those targets if scope permits.
What this does NOT do
- **No LinkedIn auth scraping** — LinkedInDumper was intentionally excluded from PR #1 (requires LinkedIn account, OPSEC cost).
- **No paid OSINT** — DeHashed, IntelX, Shodan, Censys all skipped (no API key required by default).
- **No spray execution** — PR #5 will add `/spray` (with mandatory scope check and lockout warning).
- **No automated combining** — `usernames.txt` and `wordlists/ranked.txt` are kept separate; you manually combine before spray.
Dependencies
Install once: `./install_tools.sh --with-credential-attack`
Underlying tool
`tools/osint_employees.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

