agentic-app-audit
Black-box security audit of a DEPLOYED AI agent (not the MCP server behind it) — tool-call…
Argus — the all-seeing scanner suite. Six automated scanners for high-value web + LLM bug classes — CORS misconfiguration (origin reflection / null / credentialed read), CRLF & host-header injection, NoSQL injection (operator auth-bypass / $where blind), JWT attacks (alg:none /
$ npx -y skills add awarexone/agentic-bug-hunter --skill argus --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/argusContext preview
The summary Claude sees to decide when to auto-load this skill.
Argus — the all-seeing scanner suite. Six automated scanners for high-value web + LLM bug classes — CORS misconfiguration (origin reflection / null / credentialed read), CRLF & host-header injection, NoSQL injection (operator auth-bypass / $where blind), JWT attacks (alg:none /
name: argus description: Argus — the all-seeing scanner suite. Six automated scanners for high-value web + LLM bug classes — CORS misconfiguration (origin reflection / null / credentialed read), CRLF & host-header injection, NoSQL injection (operator auth-bypass / $where blind), JWT attacks (alg:none / RS256→HS256 confusion / secret crack), out-of-band confirmation of blind SSRF/XXE/SQLi/RCE/Log4Shell via interactsh, and an LLM red-team corpus (prompt-injection / jailbreak / system-prompt leak / exfil / indirect injection). Use when a target exposes a JSON API, a login endpoint, JWT auth, a parameter that might reach the server, a chatbot/agent, or any endpoint suspected of a blind/out-of-band bug.
> Named for Argus Panoptes, the hundred-eyed giant. Six "eyes" that surface what > ordinary scans miss: two of the most common web2 classes (CORS, CRLF), the > NoSQL "db" surface, JWT forging, **blind-bug confirmation via OOB** (the eye > that sees the invisible — unblocks an entire severity band), and automated LLM > red-teaming. All pure-Python, no new deps. Core logic is offline-testable.
---
| Signal on the target | Tool / command | |---|---| | API reflects `Origin`, or `ACAO`/`ACAC` headers seen | `/cors` | | Param reaches a redirect / `Location` / log / response header | `/crlf` | | JSON login or `{user,pass}` body, Mongo/Mongoose stack | `/nosqli` | | `Authorization: Bearer ey...` / JWT in cookie or storage | `/jwt-scan` | | Suspected **blind** SSRF/XXE/SQLi/RCE (no in-band signal) | `/oob` | | Chatbot / agent / LLM feature | `/llm-redteam` |
---
tools/cors_scanner.py https://api.target.com/me --cookie "session=..." tools/cors_scanner.py -l recon/target.com/urls/api.txt --json
Sends crafted `Origin` headers, classifies `Access-Control-Allow-Origin` / `Access-Control-Allow-Credentials`:
**Always pass `--cookie` with a live session** — the credentialed path is the win.
tools/crlf_scanner.py "https://target.com/r?u=x" --host-header
Injects encoded CRLF (`%0d%0a`, double-encoded, UTF-8 overlong `%E5%98%8A%E5%98%8D`) trying to land `Set-Cookie: crlftest=1` in the response. `--host-header` also tests `Host` / `X-Forwarded-Host` / `Forwarded` injection and flags attacker-host reflection in `Location` (password-reset poisoning). Impact: session fixation, open redirect, cache poisoning, reset poisoning.
> `urllib` strips raw `\r\n` from URLs by design — the **encoded** variants are > what actually go on the wire.
tools/nosqli_scanner.py --login https://t/api/login --user-field email --pass-field password tools/nosqli_scanner.py --query "https://t/api/items?id=1" # emits bracket variants
Sends a wrong-credential baseline first, flags a finding when status flips 401→200, body length jumps >25%, or the `$where` payload delays the response ≥3.5 s.
tools/jwt_scanner.py "$TOKEN" --analyze tools/jwt_scanner.py "$TOKEN" --alg-none --set role=admin tools/jwt_scanner.py "$TOKEN" --confuse --public-key jwks_pub.pem --set role=admin tools/jwt_scanner.py "$TOKEN" --crack --wordlist secrets.txt
Get the public key from `/.well-known/jwks.json` or `/jwks.json`. Replay the forged token against an authed endpoint — acceptance = **auth bypass / privesc**.
The highest-leverage tool. Confirms **blind** bugs that have no in-band signal by correlating interactsh callbacks to the firing payload.
# 1. listener (prints your OOB domain, streams interactions) tools/oob_listener.py --listen > inter.jsonl # 2. payloads embedding a unique marker per injection point tools/oob_listener.py --payloads cXXXX.oast.fun --json > payloads.json # 3. correlate received callbacks tools/oob_listener.py --correlate inter.jsonl --payloads-file payloads.json
Covers blind SSRF, XXE (incl. OOB-DTD exfil), SQLi (MSSQL `xp_dirtree` / MySQL `LOAD_FILE` / Oracle `UTL_HTTP` / Postgres `COPY…PROGRAM`), RCE (`curl`/`nslookup`/backticks), and Log4Shell (`${jndi:ldap://…}` + `${lower:j}` filter bypass). Needs `interactsh-client` (`/arsenal interactsh-client` for the install hint); payload generation + correlation work offline without it.
**Why it matters:** without OOB you cannot *prove* blind SSRF/XXE/SQLi/RCE — a whole band of Critical findings is otherwise un-submittable.
tools/llm_redteam.py --url https://t/api/chat --field message
tools/llm_redteam.py --url https://t/api/chat \
--template '{"messages":[{"role":"user","content":"{{PAYLOAD}}"}]}' \
--response-path choices.0.message.content --category jailbreakFires a categorized corpus — `prompt-injection`, `jailbreak`, `system-prompt-leak`, `data-exfil`, `indirect-injection`, `guardrail-bypass` — and uses a **canary token** (`RT_PWNED_xxxx`) f
AI-powered bug bounty hunting toolkit that works with or without subscription.
Repo: awarexone/agentic-bug-hunter
Black-box security audit of a DEPLOYED AI agent (not the MCP server behind it) — tool-call…
Use at the START of any bug bounty hunting session, when switching targets, or when feeling…
Complete bug bounty workflow — recon, pre-hunt learning, vulnerability hunting (IDOR, SSRF,…
CI/CD pipeline security hunting — GitHub Actions workflow injection, secret exfiltration,…
Client-side request-signing and anti-bot token reversal for bug bounty — when a request…
Post-access cloud exploitation for AWS, GCP, and Azure — what to do AFTER you obtain…