hunt-xss
Ensina seu agente de IA a proteger aplicações contra ataques.
O que ela faz
Esta ferramenta ajuda a encontrar falhas de segurança chamadas XSS (Cross-Site Scripting) em sites. Ela verifica se um código malicioso pode ser inserido e executado em um navegador.
Quando usar
- ✓Ao testar a segurança de um site com permissão.
- ✓Para aprender como falhas XSS funcionam.
- ✓Ao verificar se um site protege bem contra injeção de código.
Exemplo do que pedir para a IA
“Quero verificar se o site 'exemplo.com' é vulnerável a XSS. Qual o URL exato e tenho permissão escrita para testar?”
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 tenta injetar pequenos códigos em diferentes partes de um site. Se o código aparecer sem ser modificado na resposta do site, significa que há uma falha.
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-xssOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/hunt-xss/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.
Portão de confirmação obrigatório 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.
Prioridade de Teste Autônomo
Verifique a reflexão antes de reivindicar XSS — a codificação é tudo.
Seu payload deve aparecer no corpo da resposta com colchetes angulares DESCODIFICADOS. <script> é XSS. <script> é codificação segura — não vulnerável.
Use um CANÁRIO NUMÉRICO ÚNICO em seu payload de prova — por exemplo, <script>alert(91234)</script> ou "><img src=x onerror=alert(91234)>. Escolha um número distinto de 4+ dígitos, não alert(1). Páginas de prática estão cheias de payloads de exemplo como alert(1)/alert('XSS') em seu texto de dica; um número único é como você distingue seu payload refletido dos exemplos de isca da página. Prova = seu alert(<canary>) aparece na resposta com colchetes angulares crus e não codificados.
Tente estes contextos em ordem:
Injeção de script inline (funciona quando o contexto HTML permite novas tags):
<script>alert(CANARY)</script>Use qualquer string de canário que seu contrato de prova especifique. Confirmado quando
<script>alert(CANARY)aparece literalmente (não codificado em HTML) na resposta.Injeção de evento de atributo (quando
<é filtrado, mas atributos são injetáveis):" onmouseover="alert(CANARY) " onerror="alert(CANARY) " onload="alert(CANARY)Contexto URL/href:
javascript:alert(CANARY)
Distinguindo sucesso de falha:
- Vulnerável: a resposta contém
<script>alert(não codificado — o navegador o executaria - Filtrado/seguro: a resposta contém
<script>ou<script>— devidamente codificado - Bloqueado: a resposta é um erro, ou o valor refletido está ausente completamente
Para XSS armazenado: injete em um campo que outras páginas exibem (comentários, nomes de usuário, títulos de tickets). Em seguida, busque a página de renderização e verifique se há payload não codificado. O payload é executado quando qualquer usuário visualiza essa página — maior gravidade do que o refletido.
Alvos de Joias da Coroa
XSS é de alto valor quando combina contexto privilegiado + entrega persistente + escalonamento de escopo. Os maiores pagamentos vêm de:
- Painéis de administração e dashboards autenticados (por exemplo,
*/admin,*/settings) — o invasor pode sequestrar sessões com privilégios elevados, exfiltrar tokens ou fazer pivô para tomada de conta - Fluxos de pagamento/financeiros (
paypal.com, páginas de checkout, conversores de moeda) — XSS aqui permite a coleta de credenciais e fraude financeira em escala - XSS armazenado em recursos colaborativos (wikis, renderizadores markdown, rastreadores de issues, RDoc, rótulos, tags) — um payload infecta todos os visualizadores, multiplicando o impacto
- Páginas de SSO/login (por exemplo,
paypal.com/signin) — XSS aqui é crítico porque pode roubar tokens de autenticação em toda a plataforma - Superfícies de tenant SaaS compartilhadas (
*.myshopify.com,api.collabs.*) — XSS no contexto de um tenant pode vazar entre limites de tenant - Sites de ajuda/documentação (
help.shopify.com) — menor gravidade individualmente, mas geralmente têm sanitização mais frouxa e percepção de usuário confiável - Endpoints de upload de SVG/arquivos — frequentemente contornam CSP e sanitização simultaneamente
Tipos de ativos que pagam mais: Domínios principais do produto > Subdomínios de administração > Endpoints de API > Sites de marketing/ajuda
Portão OOB-Ou-Não-Aconteceu (XSS Cego / Armazenado)
Para XSS cego e armazenado — as reivindicações exigem uma confirmação fora de banda, o mesmo que SSRF cego. O receptor OOB dispara quando o payload realmente executa em um navegador em algum lugar (um administrador revisando logs, um analista de SOC abrindo um ticket, um e-mail renderizando um payload armazenado).
O que NÃO é confirmação
- O validador de requisição ASP.NET rejeitou seu
<e retornou um código de status diferente → não é XSS, isso é ruído de WAF.
…
Perguntas frequentes
O que é XSS?
XSS é uma falha de segurança onde um atacante consegue fazer um site executar um código malicioso no navegador de outra pessoa, como roubar informações.
Por que preciso de permissão?
Testar a segurança de sites sem permissão é ilegal. Esta ferramenta só deve ser usada em locais onde você tem autorização explícita para testar.
Como sei se encontrei uma falha?
A ferramenta procura por um código específico (como `<script>alert(1234)</script>`) que apareça exatamente como foi enviado na resposta do site, sem ser 'codificado' ou alterado.
Detalhes
Descrição original do autor
Hunting skill for xss vulnerabilities.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3296
- 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