hunt-cors

Tests web applications for exploitable CORS misconfigurations with browser-verified proof-of-concept methodology.

1|Updated Aug 21, 2026
One-click install
npx skills add https://github.com/marcboggs/BMAD-AppSec-Orchestrator --skill hunt-cors-marcboggs
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: hunt-cors
Source: https://github.com/marcboggs/BMAD-AppSec-Orchestrator/tree/main/.claude/skills/hunt-cors
Command: npx skills add https://github.com/marcboggs/BMAD-AppSec-Orchestrator --skill hunt-cors-marcboggs

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? CORS misconfiguration reports are frequently rejected because testers submit header reflections that browsers would actually block, wasting triage time and producing false positives. This Skill provides a disciplined hunting methodology that distinguishes genuinely exploitable credentialed cross-origin reads from non-issues like wildcard ACAO headers. ## Core Features & Use Cases - Origin Reflection & Null-Origin Testing: Systematically probes endpoints for reflect-any-origin, null-origin trust, and trusted insecure HTTP origins using curl and httpx. - Regex Bypass Classification: Maps subdomain-trust regex flaws (unescaped dot, missing end-anchor, prefix-only) to the exact bypass payload that matches each flaw class, eliminating wasted tests. - Browser PoC Validation: Provides ready-to-adapt HTML payloads for credentialed cross-origin reads, sandboxed-iframe null-origin reads, and postMessage origin-check auditing, since curl cannot prove CORS exploitability. - Use Case: While testing a target's API, you find /api/me reflects your Origin header with ACAC: true. Use the Phase 5a browser PoC to prove the authenticated response body is readable from an attacker-controlled origin, then chain the stolen CSRF token into a state-changing request for a High-severity report. ## Quick Start Ask the agent to test https://target.com/api/me for CORS misconfigurations using your authenticated session cookie and produce a browser-verified proof of concept.

Frequently Asked Questions about hunt-cors

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I test for CORS misconfiguration on an API endpoint?▼

Send requests with an attacker-controlled Origin header using curl and check whether the server reflects it in Access-Control-Allow-Origin alongside Access-Control-Allow-Credentials: true. Then confirm the credentialed cross-origin read in a real browser, since curl does not enforce CORS.

How to bypass CORS subdomain regex validation?▼

First identify the regex flaw class: missing end-anchor allows target.com.evil.com, a missing escaped dot allows eviltarget.com, and unescaped dots match any character. Send the payload matching the specific flaw and check whether your registerable origin is reflected with credentials allowed.

Is Access-Control-Allow-Origin wildcard with credentials exploitable?▼

No, browsers refuse to expose responses when ACAO is a wildcard and credentials are included, so it is not credential-exploitable. It only matters if the endpoint serves sensitive data without any session, which is usually Low or Informational severity.

Why does my CORS finding get rejected as a false positive?▼

Most rejections happen because curl shows a reflected header but a browser would block the read, or because ACAC: true appears without your origin being reflected. Always demonstrate the authenticated response body readable from an attacker origin in a real browser before submitting.

What tools automate CORS misconfiguration scanning?▼

corsy performs fast reflection, null-origin, and pre-domain checks, and nuclei has CORS templates under http/misconfiguration/cors. Treat every automated hit as a lead only and reproduce it with a browser proof of concept.

When is a CORS misconfiguration rated High severity?▼

High severity requires an attacker-controlled origin performing a credentialed cross-origin read of sensitive data such as PII, tokens, or financial records, proven in a browser. Reflection without credentials or without sensitive data is Low or Informational.