One session. Every tool.
Stop copy-pasting your auth token. scope is a lightweight CLI session manager for web hacking set your headers, proxy, and base URL once, then run curl, ffuf, nuclei, sqlmap and more with everything auto-injected.
scope new bugcrowd-target --url https://api.target.com
scope set header "Authorization: Bearer eyJhbG..."
scope set header "Cookie: session=abc123"
scope set proxy http://127.0.0.1:8080
scope use bugcrowd-target
scope curl /users # → curl -H "Authorization: ..." https://api.target.com/users
scope ffuf -w words.txt -u /FUZZ
scope nuclei -t exposures/go install github.com/lucap123/scope@latestOr build from source:
git clone https://github.com/lucap123/scope
cd scope
make installscope new <name> # create a session
scope new <name> --url https://target.com
scope set <name> url https://target.com # set base URL
scope set <name> header "Authorization: Bearer <token>"
scope set <name> header "Cookie: session=abc123"
scope set <name> proxy http://127.0.0.1:8080
scope unset <name> header Authorization # remove a header
scope use <name> # set active session
scope show # inspect active session
scope show --reveal # show full header values (not masked)
scope list # list all sessions
scope delete <name> # delete a sessionSet SCOPE_SESSION=<name> in your shell to override the active session per terminal without touching the global state.
scope curl /users
scope curl -X POST /login -d '{"user":"test","pass":"test"}'
scope ffuf -w wordlist.txt -u /FUZZ
scope ffuf -w wordlist.txt -u /api/FUZZ
scope http GET /users
scope http POST /login user=test pass=test
scope nuclei -t exposures/
scope nuclei -t cves/ -severity high,critical
scope sqlmap -u /search?q=test --dbsPaths starting with / are automatically prefixed with the session base URL. All other arguments are passed through unchanged.
Use --verbose to see the full command before it runs:
scope --verbose curl /users
# [scope] curl -H "Authorization: Bearer ey..." --proxy http://127.0.0.1:8080 https://api.target.com/users# Generate a copy-paste ready command
scope export curl /users
scope export ffuf -w words.txt -u /FUZZ
# Export the session itself
scope export <name> --format json > session.json
scope export <name> --format envRight-click a request in Burp → Save item → import it:
scope import burp burp-export.xmlParses base URL, auth headers, and cookies. Skips Host, Content-Length, and other per-request headers automatically.
scope note "Admin panel at /manage no auth check"
scope note "v1 endpoint still active at /api/v1/auth"
scope notesPlain JSON files in ~/.scope/sessions/. No cloud, no account, no telemetry.
~/.scope/
sessions/
bugcrowd-target.json
hackerone-acme.json
active
Files are chmod 600. Tokens are stored in plaintext this is a hacking tool, you control your own security.
Override the storage directory with SCOPE_HOME=/path/to/dir.
make build # builds ./scope
make install # installs to $GOPATH/bin
make test # runs tests
make release # builds for linux/mac/windows| Version | Features |
|---|---|
| v0.1 | Sessions, headers, proxy, curl/ffuf/nuclei/sqlmap wrapping ✓ |
| v0.2 | Burp import, session export, notes ✓ |
| v0.3 | Token auto-refresh via hook script |
| v0.4 | Team sharing with optional encryption |
| v1.0 | Plugin system for community tools |
MIT