Skip to content
Security
Command

/domxss

Confirm DOM XSS in a real headless browser — injects canary payloads into params + URL fragment and only reports when the browser actually executes them. Usage: /domxss "<url>" [--params q,name] [--shot out.png]

From plugin
agentic-bug-hunter
5.8k42 skills9 agents42 commands3 hooks
$ npx -y skills add awarexone/agentic-bug-hunter --agent claude-code

Command definition

domxss.md
description: Confirm DOM XSS in a real headless browser — injects canary payloads into params + URL fragment and only reports when the browser actually executes them. Usage: /domxss "<url>" [--params q,name] [--shot out.png]

/domxss

Reflected-XSS scanners see a payload echoed back in HTML but can't tell whether it *ran* — CSP, framework auto-escaping, or a sink that never reaches `eval`/`innerHTML` all silently kill it. This drives headless Chromium, fires a uniquely-tagged payload through each parameter and the URL fragment, and only reports a finding when the browser executes the canary. That's the difference between "reflected, maybe" and a report-ready `[CONFIRMED]` DOM XSS.

Usage

/domxss "https://app.target.com/search?q=test"
/domxss "https://app.target.com/#name=x&redirect=y" --params name,redirect
/domxss "https://app.target.com/?q=1" --shot shots/domxss.png --json

Run directly:

bughunter/tools/dom_xss_harness.py "https://app.target.com/search?q=test"

Requires

Playwright (a new dependency, registered in `bughunter/tools/external_arsenal.sh`):

pip install playwright && playwright install chromium

If it isn't installed the command prints this hint and exits cleanly — the rest of the toolkit is unaffected.

How it decides

| Verdict | Meaning | |---|---| | `[CONFIRMED]` | the payload's unique canary **executed** in-browser — fired via `alert`/`prompt`/`confirm`, a hooked `window.__cbbx` sink, or the console. JS ran. | | `[POSSIBLE]` | the canary is reflected into the DOM but did **not** execute (likely CSP/escaping). Worth a manual look, not a finding on its own. |

Injection points: every `?query` parameter **and** every `#fragment` key (fragment-based DOM XSS never reaches the server, so server-side scanners miss it entirely). Add more with `--params`.

Why this matters

DOM XSS, client-side prototype pollution, and PostMessage bugs need a real DOM — this is the harness that lets the agent *confirm* them instead of guessing. A `[CONFIRMED]` hit passes `/validate` on its own because execution is proven; `--shot` captures the screenshot for `/report`.

Chain

`/recon` → JS/param discovery → `/domxss "<url>" --params <candidates>` → `[CONFIRMED]` → `/report` with the screenshot. Pairs with `/sast` (find the sink in source) → `/domxss` (prove it fires).

Read more
@awarexone
Ships withagentic-bug-hunter

AI-powered bug bounty hunting toolkit that works with or without subscription.

5.8k19 skills9 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
5.8k
Star history of awarexone/agentic-bug-hunter on GitHub, a chart by star-history.com

Other commands on agentic-bug-hunter.

arsenal

arsenal

Command

Show which external bug-bounty tools are installed on this machine and print install hints for the missing ones. Curated from…

autopilot

autopilot

Command

Run autonomous hunt loop on a target — scope check → recon → rank surface → hunt → validate → report with configurable…

breach-check

breach-check

Command

HIBP k-anonymity check on a password wordlist. Enriches each password with its breach count, ranks DESC. Free API (no key), only…

bypass-403

bypass-403

Command

Probe a 403/401 endpoint with the most-paid bypass tricks (header injection, path encoding, method swap, WAF fingerprint,…

chain

chain

Command

Build an exploit chain — given bug A, finds B and C to combine for higher severity and payout. Knows common chain patterns:…

cloud-recon

cloud-recon

Command

Sweep cloud assets for a target — public S3/Azure/GCP buckets via S3Scanner and cloud_enum, plus CloudFlare-bypassed origin IPs…

More commands from other plugins.

deslop-reborn

deslop-reborn

Command

One iteration of the IronClaw Reborn de-slop loop — take ONE Reborn crate, fan out parallel review sub-agents (thermo-nuclear…

ironclaw13d13k
@nearai@nearaiInstall Command
audit

audit

Command

Audit a file, directory, or whole repo for insecure default configuration: fallback secrets, default credentials, fail-open…

@trailofbits@trailofbitsInstall Command
arsenal

arsenal

Command

Show which external bug-bounty tools are installed on this machine and print install hints for the missing ones. Curated from…

@shuvonsec@shuvonsecInstall Command