/scope
Check if a target asset is in scope for the program before hunting or submitting. Reads program scope page, checks asset against in-scope and out-of-scope lists, verifies the asset is owned by the target organization. Usage: /scope <asset>
$ 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
/scope
Context preview
What this command does when you run it.
Check if a target asset is in scope for the program before hunting or submitting. Reads program scope page, checks asset against in-scope and out-of-scope lists, verifies the asset is owned by the target organization. Usage: /scope <asset>
Command definition
scope.mddescription: Check if a target asset is in scope for the program before hunting or submitting. Reads program scope page, checks asset against in-scope and out-of-scope lists, verifies the asset is owned by the target organization. Usage: /scope <asset>
/scope
Verify an asset is in scope before hunting or submitting a finding.
Why This Matters
Out-of-scope reports are immediately closed. Testing out-of-scope assets can get you banned. Always check scope BEFORE the first request.
**Real example:** City of Vienna explicitly excludes `/advuew/*`. Submitting XSS on that path = instant close.
Usage
/scope api.target.com
/scope https://target.com/api/v2/users
/scope target-staging.company.com
/scope *.company.com
Deterministic Local Check
Use the local scope checker before sending traffic:
python3 tools/scope_checker.py https://api.target.com/v2/users \
--domain target.com \
--domain '*.target.com' \
--exclude-domain staging.target.com
Filter a discovered URL list:
python3 tools/scope_checker.py \
--domain target.com \
--domain '*.target.com' \
--exclude-domain staging.target.com \
--input-file recon/target.com/urls/all.txt \
--output recon/target.com/urls/in_scope.txt
Scope Check Process
Step 1: Read In-Scope List
Go to the program page and extract:
In-scope:
- *.target.com
- target.com
- api.target.com
- mobile.target.com (iOS + Android apps)
Out-of-scope:
- staging.target.com (explicitly excluded)
- target.com/help/* (documentation only)
- partners.target.com (third-party managed)
Step 2: Asset Ownership Check
Verify the asset is actually owned by the target company (not a third party):
# WHOIS
whois api.target.com | grep -iE "registrant|admin|tech|org"
# DNS — is it CNAME to a third party?
dig +short api.target.com CNAME
# If CNAME to salesforce.com, zendesk.com, etc. → not in scope
# Check if it's a known third-party service:
# intercom.io, freshdesk.com, zendesk.com, hubspot.com, etc.
Step 3: Wildcard Interpretation
| Scope Pattern | Covers | Does NOT Cover | |---|---|---| | `*.target.com` | `api.target.com`, `app.target.com` | `target.com` itself | | `target.com` | `target.com` only | `api.target.com` | | `*.target.com` + `target.com` | Both | Sub-subdomains like `a.api.target.com` (depends on program) |
Step 4: Path Exclusions
Some programs exclude specific paths on in-scope domains:
Domain: target.com (in scope)
But: target.com/terms, target.com/privacy, target.com/help/* = usually excluded
Check for:
- Wildcard exclusions: /admin/* excluded
- Path-specific exclusions: /api/v1/* excluded (use v2 only)
- Feature exclusions: "Do not test file upload feature"
Step 5: Staging / Dev Check
Unless the program explicitly includes staging:
staging.target.com → NOT in scope (usually)
dev.target.com → NOT in scope (usually)
qa.target.com → NOT in scope (usually)
test.target.com → NOT in scope (usually)
Always confirm: does scope say "*.target.com" or only list production domains?
Output
**IN SCOPE:** "asset.target.com is covered by the *.target.com wildcard. Owned by TargetCorp (WHOIS confirms). No path exclusions apply. Clear to test."
**OUT OF SCOPE:** "target.com/admin/* is explicitly excluded in the program rules under 'Out of Scope: Internal admin panel.' Do not test. Move to a different endpoint."
**UNCLEAR:** "third-party.target.com appears to be a CNAME to Zendesk. This is a third-party service not owned by TargetCorp. Most programs exclude third-party services even if they're in the scope wildcard. Do not test without explicit confirmation."
Safe Harbor Check
Before testing, confirm the program has a safe harbor clause:
Look for: "We will not pursue legal action against security researchers who..."
If no safe harbor → be more careful → stick strictly to documented scope
Read more
description: Check if a target asset is in scope for the program before hunting or submitting. Reads program scope page, checks asset against in-scope and out-of-scope lists, verifies the asset is owned by the target organization. Usage: /scope <asset>
/scope
Verify an asset is in scope before hunting or submitting a finding.
Why This Matters
Out-of-scope reports are immediately closed. Testing out-of-scope assets can get you banned. Always check scope BEFORE the first request.
**Real example:** City of Vienna explicitly excludes `/advuew/*`. Submitting XSS on that path = instant close.
Usage
/scope api.target.com /scope https://target.com/api/v2/users /scope target-staging.company.com /scope *.company.com
Deterministic Local Check
Use the local scope checker before sending traffic:
python3 tools/scope_checker.py https://api.target.com/v2/users \ --domain target.com \ --domain '*.target.com' \ --exclude-domain staging.target.com
Filter a discovered URL list:
python3 tools/scope_checker.py \ --domain target.com \ --domain '*.target.com' \ --exclude-domain staging.target.com \ --input-file recon/target.com/urls/all.txt \ --output recon/target.com/urls/in_scope.txt
Scope Check Process
Step 1: Read In-Scope List
Go to the program page and extract:
In-scope: - *.target.com - target.com - api.target.com - mobile.target.com (iOS + Android apps) Out-of-scope: - staging.target.com (explicitly excluded) - target.com/help/* (documentation only) - partners.target.com (third-party managed)
Step 2: Asset Ownership Check
Verify the asset is actually owned by the target company (not a third party):
# WHOIS whois api.target.com | grep -iE "registrant|admin|tech|org" # DNS — is it CNAME to a third party? dig +short api.target.com CNAME # If CNAME to salesforce.com, zendesk.com, etc. → not in scope # Check if it's a known third-party service: # intercom.io, freshdesk.com, zendesk.com, hubspot.com, etc.
Step 3: Wildcard Interpretation
| Scope Pattern | Covers | Does NOT Cover | |---|---|---| | `*.target.com` | `api.target.com`, `app.target.com` | `target.com` itself | | `target.com` | `target.com` only | `api.target.com` | | `*.target.com` + `target.com` | Both | Sub-subdomains like `a.api.target.com` (depends on program) |
Step 4: Path Exclusions
Some programs exclude specific paths on in-scope domains:
Domain: target.com (in scope) But: target.com/terms, target.com/privacy, target.com/help/* = usually excluded Check for: - Wildcard exclusions: /admin/* excluded - Path-specific exclusions: /api/v1/* excluded (use v2 only) - Feature exclusions: "Do not test file upload feature"
Step 5: Staging / Dev Check
Unless the program explicitly includes staging:
staging.target.com → NOT in scope (usually) dev.target.com → NOT in scope (usually) qa.target.com → NOT in scope (usually) test.target.com → NOT in scope (usually) Always confirm: does scope say "*.target.com" or only list production domains?
Output
**IN SCOPE:** "asset.target.com is covered by the *.target.com wildcard. Owned by TargetCorp (WHOIS confirms). No path exclusions apply. Clear to test."
**OUT OF SCOPE:** "target.com/admin/* is explicitly excluded in the program rules under 'Out of Scope: Internal admin panel.' Do not test. Move to a different endpoint."
**UNCLEAR:** "third-party.target.com appears to be a CNAME to Zendesk. This is a third-party service not owned by TargetCorp. Most programs exclude third-party services even if they're in the scope wildcard. Do not test without explicit confirmation."
Safe Harbor Check
Before testing, confirm the program has a safe harbor clause:
Look for: "We will not pursue legal action against security researchers who..." If no safe harbor → be more careful → stick strictly to documented scope
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

