Wraith is an open-source, AI-assisted web penetration testing proxy — a lightweight Burp Suite alternative with an AI pentester built in. It logs your browser's traffic, highlights the requests worth attacking (and hides the noise), and when you click “AI it” an AI penetration tester proposes concrete edits that test that exact request for real bugs — IDOR, auth bypass, SQL injection, price tampering — with reasoning, risk levels, and a one-click Replay.
No API key. No command line. Wraith runs the AI on the Claude you already have — your existing Claude Code CLI login/subscription — yet you never touch a terminal. Just click AI it in the browser. (Got an Anthropic API key? Drop it in for near-instant responses. Totally optional.)
Burp is the gold standard, but the loop is all you: spot the interesting request, guess the attack, hand-craft the payload, replay, repeat. Wraith keeps that loop — and puts an AI pentester in the seat next to you. It triages traffic so you only look at what matters, and turns “what should I try on this endpoint?” into a button.
- Runs in your real, authenticated browser. No certificate juggling, no separate proxy — it rides your live session via the Chrome DevTools protocol.
- Signal over noise. Static assets are hidden; requests with params, bodies, auth headers, or API-shaped paths are highlighted automatically.
- One-click exploitation ideas. “AI it” returns ranked, risk-rated edits with the reasoning behind each — then you Replay or Forward them live.
- Bring your own Claude — no API key. It runs on the Claude subscription you already have through the local CLI, with zero key management. Add an API key only if you want it faster.
- Safe by default. Default-deny scope: nothing is logged, analyzed, or replayed for hosts you haven't explicitly put in scope.
Authorized testing only. Use Wraith against assets you own or are explicitly authorized to test (your apps, in-scope bug-bounty programs, lab environments).
| Feature | What it does |
|---|---|
| Live request feed | Every in-scope request, interesting ones highlighted, resources hidden |
| AI it | An AI pentester proposes ranked edits (vuln class, reasoning, risk) for any request |
| No API key | Runs on your existing Claude CLI subscription — API key optional, for speed |
| Edit & diff | Apply a suggestion or hand-edit the raw request; see a live unified diff |
| Replay | Send the edited request out-of-band and inspect the full response |
| Intercept & forward | Optionally hold requests/responses and modify them in flight |
| Scope gating | Default-deny host allowlist gates capture, replay, and credential access |
| Built-ins | Intruder-style fuzzing, request diffing, encode/decode (base64/url/jwt/…) |
flowchart LR
A["Chrome extension (MV3)<br/>· logs in-scope traffic<br/>· Console: list + AI it + replay"]
D["Wraith daemon (Node)<br/>· AI analysis<br/>· HTTP replay · scope"]
AI["Claude<br/>(Anthropic API or local CLI)"]
T["Your authenticated tab"]
A -- "localhost WebSocket" --> D
D -- "AI it" --> AI
A -- "CDP / Fetch" --> T
- Interception uses
chrome.debugger+ the CDP Fetch domain (MV3'swebRequestcan't modify bodies — CDP can), inside your real browser profile. - “AI it” calls Claude with a tight pentest prompt and a JSON schema for structured output.
cd bridge
npm install
npm start # prints a one-time token; keep this running- Default — no API key: if you have the
claudeCLI installed and logged in (any Claude subscription), Wraith uses it automatically. Nothing else to configure. Analysis takes ~20–40s. - Optional speed-up: drop in an Anthropic API key for near-instant (~3–6s) responses —
ANTHROPIC_API_KEY=sk-ant-... npm start.
The daemon log shows which is active (backend: cli / backend: api (fast)).
- Open
chrome://extensions→ enable Developer mode → Load unpacked → selectextension/. - Click the Wraith icon → side panel → paste the token (printed by the daemon, also at
~/.wraith/token) → Save. The daemon badge turns green.
- Open your target, set in-scope hosts (e.g.
*.example.com) → Save scope. - Attach to this tab → Open Wraith Console.
- Browse the app, click a highlighted request → AI it → review the suggested edits → Replay (or Forward live if you're holding requests).
| Env var | Default | Purpose |
|---|---|---|
ANTHROPIC_API_KEY |
– | enables the fast API backend |
WRAITH_AI_MODEL |
sonnet |
sonnet · opus · haiku |
WRAITH_WS_PORT |
9234 |
daemon WebSocket port |
WRAITH_INSECURE_TLS |
0 |
1 to skip TLS verification (self-signed targets) |
WRAITH_TOKEN |
auto | override the auto-generated token |
- Default-deny scope. Out-of-scope traffic is never logged, modified, or replayed, and cookies can only be exported for in-scope hosts.
- Locked-down control channel. The daemon's WebSocket binds to
127.0.0.1, requires a per-machine token, and validatesHost/Origin— closing DNS-rebinding and other local-process access. - You're always in control. Attaching shows Chrome's debugging banner; Detach stops everything instantly. Held requests wait for your decision.
cd bridge && npm test # daemon: AI engine, replay (real socket), scope, codec, diff, intruder
node --test "extension/test/*.test.js" # extension: request classifier, scope, CDP helpers, raw parsing- Browser-native replay (faithful TLS/HTTP-2 fingerprint against anti-bot targets)
- Findings tracker + exportable report
- WebSocket-frame observation
- Saved sessions
Issues and PRs welcome. The codebase is small and dependency-light — bridge/ is the Node daemon,
extension/ is the MV3 extension. Run the tests above before opening a PR.
AI penetration testing · AI pentest assistant · AI-powered security testing · Burp Suite alternative · open-source intercepting proxy · HTTP request interception & replay · web application security · bug bounty tooling · IDOR / BOLA / SQL injection / auth-bypass / SSRF testing · LLM-assisted exploitation · Chrome MV3 extension · DevTools-protocol proxy · DAST · offensive security · ethical hacking · web request manipulation · vulnerability discovery · "bring your own Claude" (no API key).