hunt-clickjacking
Faz seu agente procurar por falhas de clickjacking. Ajuda a prevenir que usuários sejam enganados para clicar em links maliciosos.
O que ela faz
Esta ferramenta ajuda a verificar se um site pode ser enganado para que um usuário clique em algo sem perceber. Ela faz isso verificando se o site permite ser exibido dentro de outro site de forma invisível.
Quando usar
- ✓Ao testar a segurança de um site com permissão.
- ✓Para verificar se botões importantes (como 'pagar' ou 'confirmar') podem ser clicados sem o conhecimento do usuário.
- ✓Para entender como sites se protegem contra esse tipo de ataque.
Exemplo do que pedir para a IA
“Verifique se o site 'exemplo.com' pode ser enganado para que um usuário clique em um botão oculto.”
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
Primeiro, ela verifica as 'regras' do site para ver se ele permite ser exibido em outros sites. Se não houver regras claras de proteção, ela tenta exibir o site em um 'quadro' invisível para ver se ações importantes podem ser realizadas.
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-clickjackingOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/hunt-clickjacking/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 exato, IP, conta ou recurso 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 somente leitura e forneça apenas orientação defensiva. Prefira um sandbox, VM descartável ou laboratório controlado.
O que é Clickjacking
Clickjacking (UI Redressing) permite que um atacante carregue uma página alvo dentro de um iframe transparente em um site malicioso. A vítima vê a interface de usuário de isca do atacante, mas clica na interface de usuário alvo oculta abaixo dela. Nenhum JavaScript no alvo é necessário.
Alvos de maior valor:
- Páginas de login / autenticação — força o login com credenciais do atacante
- Transferência de dinheiro / checkout / botões "confirmar pagamento"
- Configurações da conta (alteração de e-mail, alteração de senha, desativação de 2FA)
- Diálogos de confirmação "Autorizar aplicativo" do OAuth / login social
- Ações de administrador (excluir, promover usuário, alterar função)
Cabeçalhos de Proteção
Dois mecanismos impedem o enquadramento:
X-Frame-Options: DENY # strongest — blocks all framing
X-Frame-Options: SAMEORIGIN # allows same-origin frames only
Content-Security-Policy: frame-ancestors 'none' # CSP equivalent of DENY
Content-Security-Policy: frame-ancestors 'self' # CSP equivalent of SAMEORIGIN
Se NENHUM dos dois estiver presente, a página pode ser enquadrada de qualquer origem.
Como Testar
A ausência de cabeçalho é o gatilho para investigação, não a descoberta. Duas etapas:
Etapa 1 — Verificação de cabeçalho (triagem). Busque a página alvo e inspecione os cabeçalhos de resposta:
curl -sI https://target.example/account/transfer | grep -iE 'x-frame-options|content-security-policy'
Se AMBOS X-Frame-Options e CSP frame-ancestors estiverem ausentes, a página é uma candidata. Se um deles estiver presente e restritivo (DENY/SAMEORIGIN/frame-ancestors 'none'|'self'), pare — está protegida.
Etapa 2 — Prove que realmente enquadra e clica (necessário para uma descoberta real). Construa um PoC mínimo e carregue-o em um navegador real:
<!doctype html>
<h1>Win a prize — click below</h1>
<iframe src="https://target.example/account/transfer"
style="opacity:0.1;position:absolute;top:0;left:0;width:1000px;height:800px"></iframe>
Confirme TUDO o seguinte, ou não é explorável:
- A página realmente renderiza dentro do iframe (nenhum JS de "framebusting" que a esvazia/redireciona — por exemplo, quebra de
if(top!==self), ou uma verificação de frameSec-Fetch-Dest/JS). - A ação sensível ainda funciona enquanto enquadrada — criticamente, a ação deve ter sucesso cross-site. Se depender de um cookie de sessão definido
SameSite=LaxouSameSite=Strict(o padrão moderno), o cookie não é enviado na solicitação enquadrada cross-site, e o clickjack falha. Verifique se o estado autenticado da vítima é transferido para o frame. - O alvo é uma ação que altera o estado (transferência, alteração de configurações/e-mail/senha, desativação de 2FA, autorização OAuth, ação de administrador), não uma página somente leitura.
Estratégia: mire primeiro nas páginas de ação mais sensíveis — a gravidade aumenta diretamente com o que a vítima é enganada a fazer.
Falsos Positivos
- Páginas públicas somente leitura (home/marketing) sem proteção de frame são de baixo risco/informativas — nenhuma ação sensível para redesenhar.
- APIs e endpoints não HTML (JSON, imagens) não são alvos de clickjacking.
- A ausência de cabeçalho por si só NÃO é uma descoberta. Cookies SameSite, JS de "framebusting" ou a falta de qualquer ação enquadrada sensível podem derrotá-la completamente — é por isso que a Etapa 2 é obrigatória.
Requisitos de Prova
Um relatório de clickjacking válido mostra: (1) a página alvo renderizada dentro de um iframe controlado pelo atacante em um navegador real, (2) uma ação sensível que altera o estado, alcançável por um clique enquadrado enquanto a vítima está autenticada (cookies sobrevivem ao contexto cross-site), e (3) uma captura de tela/gravação da sobreposição. Relatar cabeçalhos ausentes sem um PoC de frame funcional é um problema de qualidade de documentação, não uma vulnerabilidade.
Quando Usar
…
Perguntas frequentes
O que é Clickjacking?
É um ataque onde um site malicioso carrega um site alvo em um quadro invisível. O usuário pensa que está interagindo com o site malicioso, mas na verdade está clicando em botões ou links do site alvo sem saber.
Quais sites são mais vulneráveis?
Sites que lidam com logins, pagamentos, alterações de configurações importantes ou autorizações de aplicativos são alvos de alto valor.
Como os sites se protegem?
Eles usam 'cabeçalhos' de segurança como 'X-Frame-Options' ou 'Content-Security-Policy' para impedir que sejam exibidos em quadros de outros sites.
Detalhes
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3249
- 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