hunt-websocket
Ensina seu agente de IA a proteger aplicações contra ataques.
O que ela faz
Esta ferramenta ajuda a encontrar falhas de segurança em conexões de internet chamadas WebSockets. Ela verifica se essas conexões podem ser usadas para roubar informações ou realizar ações indevidas.
Quando usar
- ✓Ao testar a segurança de um site ou aplicativo.
- ✓Para verificar se dados sensíveis podem ser expostos por conexões em tempo real.
- ✓Ao investigar como um invasor poderia manipular transações ou mensagens.
Exemplo do que pedir para a IA
“Verifique a segurança das conexões WebSocket no site exemplo.com”
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 analisa como o site estabelece conexões de internet em tempo real. Ela procura por maneiras de enganar essas conexões para que revelem informações ou permitam ações não autorizadas, como se fosse um usuário legítimo.
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-websocketOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/hunt-websocket/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 é apenas para 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 exato do alvo, IP, conta ou recurso.
- 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-WEBSOCKET — Segurança de WebSocket
Alvos de Joia da Coroa
CSWSH (Cross-Site WebSocket Hijacking) com um handshake autenticado por cookie e sem token CSRF/por conexão = Alto–Crítico (exfiltração em tempo real de dados de qualquer vítima logada).
Cadeias de maior valor:
- CSWSH → exfiltração de dados / ATO — o handshake autentica via cookie ambiente, sem token CSRF, Origin não aplicado → a página do atacante abre o WS como a vítima e transmite suas mensagens/PII/tokens. Se o stream carregar um token de sessão/atualização/CSRF, isso escala para ATO.
- Sem autenticação por mensagem — autenticação HTTP/handshake presente, mas quadros WS individuais não são reautorizados → mensagens privilegiadas aceitas (
deleteUser,getSecretConfig). - Adulteração de mensagens — modificar quadros em trânsito (preço, quantidade, userId, valor) em aplicativos de negociação/jogos/checkout → fraude financeira.
- Bypass de autorização de namespace / sala do socket.io — conectar-se a um namespace privilegiado ou entrar na sala de outro usuário sem uma verificação de permissão → exfiltração em tempo real entre inquilinos.
- Tunneling de falsificação de Upgrade na camada de handshake — um handshake
Upgrade/Connection/Sec-WebSocket-*malformado faz com que o proxy frontal e a origem discordem sobre se uma atualização ocorreu → túnel de falsificação de solicitação.
Fundamentação — Casos de Referência (leia antes de caçar)
Estas são referências públicas e verificáveis. Use-as para calibrar como é uma descoberta de WS real e como ela foi comprovada. Não invente IDs de relatório ou pagamentos adicionais.
| # | Fonte / ID | Classe | Lição |
|---|---|---|---|
| 1 | PortSwigger Web Security Academy — "Cross-site WebSocket hijacking" (pesquisa + laboratórios) | CSWSH | Modelo canônico de CSWSH: handshake com autenticação por cookie + sem token CSRF + verificação de Origin ausente → atacante lê/envia como vítima. A metodologia autoritativa. |
| 2 | Christian Schneider — "Cross-Site WebSocket Hijacking (CSWSH)" (divulgação/redação original, 2013) | CSWSH | Primeira técnica pública de CSWSH: handshake com autenticação por cookie + sem aplicação de Origin; PoC deve provar o recebimento de dados da vítima no navegador do atacante, não apenas um 101. |
| 3 | Coda CSWSH (referenciado no conjunto hunt-csrf deste repositório) | CSWSH | Aplicativos de colaboração em tempo real comumente autenticam o socket puramente via cookie; a lista de permissões de Origin era o controle ausente. |
| 4 | CVE-2020-7662 — websocket-extensions (Node) ReDoS |
DoS | Um cabeçalho Sec-WebSocket-Extensions criado aciona backtracking catastrófico — o cabeçalho do handshake é uma superfície de ataque, não apenas os quadros. |
| 5 | CVE-2024-37890 — ws (Node) DoS |
DoS | Muitos cabeçalhos de solicitação de handshake esgotam o servidor; confirma que o próprio handshake é atacável pelo parser antes dos quadros. |
| 6 | Pilhas desatualizadas de socket.io / Engine.IO |
socket.io | Motiva a etapa de impressão digital da versão na Fase 7 — imprima a versão digitalmente e, em seguida, verifique os avisos conhecidos dessa versão. |
Apenas os quatro CVEs acima são afirmados com IDs exatos porque são verificáveis. Para qualquer caso em que você não tenha certeza do identificador exato, descreva a técnica sem citação — um CVE incorreto é pior do que nenhum.
Fase 1 — Descobrir Endpoints WebSocket
# Grep JS para conexões WS (URLs de handshake, clientes socket.io)
grep -rE "new WebSocket|io\(|io\.connect|socket\.io|new SockJS|signalr|Phoenix\.Socket|wss?://" \
recon/$TARGET/ --include="*.js" 2>/dev/null | \
grep -oE "(wss?://[^'\"]+|/[a-zA-Z0-9/_.-]*socket[^'\"]*|/signalr[^'\"]*|/cable\b)" | sort -u
# Rastrear URLs para dicas em tempo real
grep -iE "socket|/ws\b|websocket|stream|realtime|live|chat|events|/cable|/signalr|notifications" \
recon/$TARGET/urls.txt | sort -u
# Sondar handshake (101 = upgrade suportado)
curl -sI -o /dev/null -w "%{http_code}\n" \
…
Perguntas frequentes
O que é um WebSocket?
É uma forma de comunicação entre o seu navegador (ou aplicativo) e um servidor na internet que permite a troca de dados em tempo real, como em chats ou jogos online.
O que é CSWSH?
É um tipo de ataque (Cross-Site WebSocket Hijacking) onde um invasor tenta roubar dados de um usuário através de uma conexão WebSocket explorando falhas na autenticação.
Preciso ter permissão para usar esta ferramenta?
Sim, é crucial ter permissão explícita e por escrito do proprietário do sistema antes de usar esta ferramenta. O uso indevido é ilegal.
Detalhes
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3295
- 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