agentic-app-audit
Black-box security audit of a DEPLOYED AI agent (not the MCP server behind it) — tool-call hijacking, cross-session memory…
Use when the user says "run johnwick" / "/johnwick", hands you a bug-bounty target or scope and wants the full manual+recon+automated hunt run end-to-end, or asks to hunt a target with total coverage (every in-scope domain/subdomain, all JS, signup+login, then exploit and
Claude Code
$ npx -y skills add awarexone/agentic-bug-hunter --skill johnwick --agent claude-code
Codex
$ npx skills add awarexone/agentic-bug-hunter --skill johnwick -a codex -y
Cursor
$ npx skills add awarexone/agentic-bug-hunter --skill johnwick -a cursor -y
Gemini CLI
$ npx skills add awarexone/agentic-bug-hunter --skill johnwick -a gemini-cli -y
GitHub Copilot
$ npx skills add awarexone/agentic-bug-hunter --skill johnwick -a github-copilot -y
OpenCode
$ npx skills add awarexone/agentic-bug-hunter --skill johnwick -a opencode -y
Windsurf
$ npx skills add awarexone/agentic-bug-hunter --skill johnwick -a windsurf -y
name: johnwick description: Use when the user says "run johnwick" / "/johnwick", hands you a bug-bounty target or scope and wants the full manual+recon+automated hunt run end-to-end, or asks to hunt a target with total coverage (every in-scope domain/subdomain, all JS, signup+login, then exploit and validate). Self-contained long-running orchestrator — recon, JS mining, auto-signup, and hunting for IDOR, SSRF, RCE, SSTI, XXE, SQLi, request smuggling, cache poisoning, race conditions, OAuth/JWT/SAML ATO, GraphQL, 403-bypass, and mobile are all built in via internal reference files (each grounded in disclosed paid HackerOne reports), with a zero-skip coverage ledger and a superpowers verification gate between every phase.
<!-- MANDATORY-JS-RECON-DOCTRINE v1 — injected across EVERY skill. Do not delete or gate behind a condition. -->
**This block is law in every skill.** Whatever else this skill does, if a web/HTTP target is anywhere in scope you MUST complete the JS recon pipeline below BEFORE you conclude recon, rank surface, declare "nothing found," or move to the next phase. Skipping any step is a **process failure, not an optimization.** There is no file-count exception, no time-pressure exception, no "it's a small app / SPA / static site" exception.
> Client-side JS is the attack-surface map of the entire application. Every bundle, chunk, > worker, and source map leaks endpoints, secrets, roles, feature flags, and business logic > the server never meant you to see. Hunters who skip JS lose the P1s.
---
Run **all three** — never just one, never "pick your favourite." Enumerate subdomains first, then run this per host (each subdomain can ship its own bundle, secrets, and logic):
subfinder -d "$T" -all -silent | httpx -silent -mc 200 -o live_hosts.txt # per-host, not per-apex # PASSIVE (zero-touch history — catches dead/forgotten/rotated-but-still-live JS) echo "$HOST" | waybackurls | grep -iE '\.js(\?|$)' | anew js.txt echo "$HOST" | gau --subs | grep -iE '\.js(\?|$)' | anew js.txt # gauplus --subs = same # ACTIVE (live DOM, dynamic <script>, chunk loads) katana -u "https://$HOST" -jc -jsl -d 5 -silent | grep -iE '\.js(\?|$)' | anew js.txt hakrawler -u "https://$HOST" -d 3 -subs 2>/dev/null | grep -iE '\.js' | anew js.txt gospider -s "https://$HOST" -d 3 --js 2>/dev/null | grep -oE 'https?://\S+\.js' | anew js.txt
**MANUAL CRAWL is equally mandatory — tools miss auth-gated and lazy-loaded routes:**
goes into `js.txt` / the endpoint list. SPAs load chunks lazily — a route you never visited = a bundle you never saw = bugs you never found.
---
sort -u js.txt -o js.txt && mkdir -p js_files beautified recovered
xargs -a js.txt -P20 -I@ sh -c 'curl -sL -A "Mozilla/5.0" "@" -o "js_files/$(echo @ | md5sum | cut -c1-16).js"'
for f in js_files/*.js; do js-beautify "$f" > "beautified/$(basename "$f")"; done
# SOURCE MAPS = full original source (readable, real var names, internal paths). A 200 is game over.
while read u; do curl -so /dev/null -w "%{http_code} $u.map\n" "$u.map"; done < js.txt | grep '^200'
sourcemapper -url "https://$HOST/static/main.js.map" -output ./recovered/ # or unwebpack / webcrack
# WEBPACK: pull the runtime bootstrap's chunk-id→hash map to enumerate LAZY chunks no crawler triggered
grep -oE '[0-9]+:"[0-9a-f]{6,}"' beautified/*runtime* 2>/dev/null | head -50**Grep is a triage pass to prioritize — NEVER the analysis itself.** Grep finds `apikey` and `fetch(`. It does not tell you a URL-upload feature silently proxies server-side (SSRF), or that a role flag is set client-side and never re-checked. **Every beautified/deobfuscated file gets read end to end.** No exception for hundreds of files across dozens of hosts — budget the time; this step is supposed to be slow.
---
Static-scan to triage, then READ to confirm. Scanners: `trufflehog filesystem js_files/` (verifies live keys), `jsluice urls|secrets js_files/*.js`, `mantra -f js.txt`, `SecretFinder -i <f> -o cli`, `LinkFinder -i beautified/ -o cli`, `xnLinkFinder`, `nuclei -t http/exposures/ -l js.txt`, `retire.js --js`.
Slack `xox…`, SendGrid `SG.`, Twilio `AC…`, JWTs `eyJ…`, `Authorization: Basic` blobs, `client_id`+`client_secret`, Firebase config, Algolia **admin** key, Mapbox `sk.`, private PEM keys.
`/api/`, `/internal/`, `/admin/`, `/graphql`, `v1|v2|v3`, `*-dev|staging|uat|sandbox`. Real payout pattern: `/api/v2/internal/users` recovered from obfuscated JS → full user DB → $25k.
`atob(token)`, `localStorage.setItem('admin',…)`. Any UI/route gated ONLY client-side is a BAC/BFLA lead — call the endpoint directly with a low-priv token.
route config) from the bundle → visit admin/beta/internal routes the nav never links. **Flip feature flags** (`localStorage`, `?feature=`, cookie, JSON config) to unlock ungated functionality.
AI-powered bug bounty hunting toolkit that works with or without subscription.
Black-box security audit of a DEPLOYED AI agent (not the MCP server behind it) — tool-call hijacking, cross-session memory…
Argus — the all-seeing scanner suite. Six automated scanners for high-value web + LLM bug classes — CORS misconfiguration (origin…
Use at the START of any bug bounty hunting session, when switching targets, or when feeling lost about what to do next. Master…
Complete bug bounty workflow — recon, pre-hunt learning, vulnerability hunting (IDOR, SSRF, XSS, auth bypass, CSRF, race…
Standalone bug chaining skill — synthesized from omni-killchain, omni-references/chaining-impact, triage-validation, apex-hunter,…
Bugcrowd-specific reporting tactics complementing report-writing: VRT category search-and-fallback strategy when no exact match…
Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication,…
Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys)…
Clean and finalize authorized natural-language text intended for readers by auditing suspicious invisible Unicode and rewriting…