hunt-cors
Faz seu agente procurar por configurações incorretas de CORS. Isso previne acesso não autorizado a recursos web.
O que ela faz
Esta ferramenta ajuda a encontrar falhas de segurança em como sites lidam com requisições de origens diferentes. Ela verifica se um site permite indevidamente que outros sites acessem informações sensíveis.
Quando usar
- ✓Quando você tem permissão para testar a segurança de um site.
- ✓Para verificar se um site está protegendo bem os dados dos usuários contra acessos não autorizados.
- ✓Para entender como as configurações de segurança de sites (CORS) funcionam e onde podem falhar.
Exemplo do que pedir para a IA
“Quero verificar a segurança das configurações CORS no site exemplo.com. Tenho permissão escrita para isso.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta envia requisições para o site com diferentes cabeçalhos 'Origin' para ver como o site responde. Ela procura por respostas que indiquem que o site está permitindo acesso indevido a dados sensíveis.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill hunt-corsOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/hunt-cors/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
⚠️ USO AUTORIZADO APENAS Esta habilidade destina-se apenas a fins educacionais ou avaliações de segurança autorizadas. Você deve ter permissão explícita e por escrito do proprietário do sistema antes de usar esta ferramenta. O uso indevido desta ferramenta é ilegal e estritamente proibido.
Porta de confirmação obrigatória Antes de executar qualquer comando que sonde, explore, altere, persista, extraia dados ou tente acesso a credenciais contra um alvo:
- Peça ao usuário para declarar o URL, IP, conta ou recurso exato do alvo.
- Peça ao usuário para confirmar a autorização por escrito e o escopo permitido.
- Mostre o(s) comando(s) exato(s) e explique seu efeito esperado.
- Aguarde a confirmação explícita na conversa atual.
Sem essa confirmação, permaneça apenas em modo de leitura e forneça orientação defensiva. Prefira um sandbox, VM descartável ou laboratório controlado.
HUNT-CORS — Má configuração de Compartilhamento de Recursos de Origem Cruzada
O que realmente vale a pena (e o que não vale)
CORS vale Alto apenas quando uma origem controlada pelo atacante pode realizar uma
leitura de origem cruzada com credenciais de dados autenticados sensíveis, e você
tem um PoC de navegador provando que o corpo da resposta é legível a partir de evil.com.
Duas regras rígidas do navegador que anulam a maioria das "descobertas" — verifique estas PRIMEIRO:
Access-Control-Allow-Origin: *NÃO PODE ser combinado com credenciais. Se o servidor retornarACAO: *, o navegador se recusa a enviar/expor a resposta para uma solicitaçãocredentials: include. Um endpoint apenas com wildcard não é explorável com credenciais. Ele só é interessante se os dados que ele serve forem sensíveis sem uma sessão (raro) — geralmente isso é Informacional/Baixo.Access-Control-Allow-Credentials: trueé sem sentido por si só. Ele só importa seACAOrefletir/permitir sua origem de atacante específica E uma leitura de origem cruzada com credenciaisfetchrealmente retornar um corpo legível. ACAC em uma resposta que não reflete sua origem não prova nada.
Se você não conseguir demonstrar um corpo autenticado legível de origem cruzada em um navegador real, você não tem um Alto. Não envie apenas a comparação de cabeçalhos.
Alvos de Joias da Coroa
- Refletir-qualquer-origem + credenciais — o servidor ecoa o cabeçalho
OriginE defineACAC: true→ qualquer site lê respostas de API autenticadas. O clássico Alto. - Confiança de origem nula —
ACAO: null+ACAC: true. Um iframesandbox(ou uma cadeia dedata:/redirecionamento) emiteOrigin: null, então qualquer página pode ler dados autenticados. - Bypass de regex de subdomínio — regex de origem confiável com uma falha de análise. O payload correto depende de qual falha (veja Fase 3 — é aqui que a maioria das habilidades erra).
- Tomada de subdomínio → origem confiável — um subdomínio pendente que a política CORS confia; tome posse dele, hospede o PoC lá (veja hunt-subdomain).
- postMessage com verificação de origem ausente/frouxa — manipulador que processa
event.datasem validar estritamenteevent.origin.
Sinais de Superfície de Ataque
Any endpoint returning an Access-Control-Allow-Origin header
API endpoints: /api/*, /v1/*, /graphql
Profile/account: /api/me, /api/profile, /api/user, /api/session
Secrets/tokens: /api/tokens, /api/keys, /api/csrf, /api/account/settings
Financial: /api/balance, /api/transactions
Admin/internal: /api/admin/*, /api/internal/*
Priorize endpoints que (a) exigem um cookie de sessão e (b) retornam PII, tokens, tokens CSRF ou outros segredos no corpo.
Metodologia de Caça Passo a Passo
Fase 1 — Descobrir endpoints CORS
# Probe API endpoints. Use GET (not -I): some servers only emit CORS on GET,
# and -I sends HEAD which may be handled differently.
while read url; do
result=$(curl -s -D - -o /dev/null "$url" \
-H "Origin: https://evil.com" \
-H "Cookie: $SESSION_COOKIE" | grep -i "access-control")
[ -n "$result" ] && echo "=== $url ===" && echo "$result"
done < recon/$TARGET/api-endpoints.txt
# httpx bulk check
cat recon/$TARGET/live-hosts.txt | awk '{print $1}' | \
httpx -H "Origin: https://evil.com" -match-string "access-control-allow-origin"
Fase 2 — Refletir-qualquer-origem + origem nula
# O servidor reflete uma Origem arbitrária de volta?
curl -s -D - -o /dev/null https://$TARGET/api/me \
-H "Origin: https://evil.com" \
-H "Cookie: $SESSION_COOKIE" | grep -i "access-control"
# Vulnerável (o caso Alto):
# Access-Control-Allow-Origin: https://evil.com <- reflete a origem do atacante
# Access-Control-Allow-Credentials: true <- + credenciais => legível
#
…
Perguntas frequentes
O que é CORS?
CORS (Cross-Origin Resource Sharing) é um mecanismo de segurança que permite que um site peça recursos (como dados ou APIs) de outro domínio. Ele ajuda a proteger os dados, mas configurações incorretas podem criar brechas.
O que é uma 'falha de configuração CORS'?
É quando um site está configurado de forma incorreta, permitindo que sites não confiáveis acessem ou manipulem dados que deveriam ser privados.
Por que preciso de permissão para usar esta ferramenta?
Testar a segurança de um site sem permissão é ilegal. Esta ferramenta só deve ser usada em sistemas para os quais você tem autorização explícita e por escrito.
Detalhes
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3251
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
django-security
Ajuda seu agente a implementar práticas de segurança em aplicações Django. Ele foca em autenticação, autorização e prevenção contra ataques comuns, garantindo um código mais seguro.
affaan-m/ECC
laravel-security
Ajuda seu agente a proteger aplicações Laravel contra ameaças. Implementa práticas de segurança para autenticação, autorização e prevenção de ataques comuns.
affaan-m/ECC
module-regression
Ajuda seu agente a gerenciar mudanças em projetos grandes. Garante que alterações em uma parte do código não quebrem outras partes.
affaan-m/ECC