Tooluck logoTooluck
SKILL.md

hunt-cors

Agent skill fromelementalsouls/Claude-BugHunter

Hunt CORS Misconfiguration — origin-reflection with credentials, null-origin trust, subdomain-regex bypass (unanchored vs unescaped-dot vs prefix-only), pre-flight (OPTIONS) gating bypass, postMessage origin checks. High only when an attacker-controlled origin can perform a CREDENTIALED cross-origin read of sensitive data and you have proven it in a browser. Use when testing API endpoints, SPAs, or any app emitting Access-Control-* headers.

How to install hunt-cors

install hunt-cors
# install the Claude-BugHunter pack with the skills CLI
npx skills add elementalsouls/Claude-BugHunter

# or add only this skill to Claude Code: copy the folder

skills/hunt-cors/

# into

~/.claude/skills/hunt-cors/ (all projects)

.claude/skills/hunt-cors/ (one project)

skills/hunt-cors/SKILL.md

MITFull file
1# HUNT-CORS — Cross-Origin Resource Sharing Misconfiguration
2
3## What actually pays (and what does not)
4
5CORS pays High **only** when an attacker-controlled origin can perform a
6**credentialed** cross-origin read of sensitive authenticated data, and you
7have a browser PoC proving the response body is readable from `evil.com`.
8
9Two hard browser rules that kill most "findings" — check these FIRST:
10
11- **`Access-Control-Allow-Origin: *` CANNOT be combined with credentials.**
12 If the server returns `ACAO: *`, the browser refuses to send/expose the
13 response for a `credentials: include` request. A wildcard-only endpoint is
14 **not** credential-exploitable. It is only interesting if the data it serves
15 is sensitive *without* a session (rare) — usually this is Informational/Low.
16- **`Access-Control-Allow-Credentials: true` is meaningless on its own.** It
17 matters only if `ACAO` reflects/allows your specific attacker origin AND a
18 cross-origin credentialed `fetch` actually returns a readable body. ACAC on a
19 response that does not reflect your origin proves nothing.
20
21If you cannot demonstrate a readable cross-origin authed body in a real
22browser, you do not have a High. Do not submit header-diffing alone.
23
24---
25
26## Crown Jewel Targets
27
28- **Reflect-any-origin + credentials** — server echoes the `Origin` header AND
29 sets `ACAC: true` → any site reads authed API responses. The classic High.
30- **Null-origin trust** — `ACAO: null` + `ACAC: true`. A `sandbox` iframe (or a
31…

Excerpt shown under the repository's MIT license.

More skills in Claude-BugHunter

Keep exploring

Similar skill repositories

thedotmack /

claude-mem
116k

Persistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More

CCCXGHGM+135 skills

Newsletter

Join the Community

Subscribe to our newsletter for the latest news and updates