SkillProgramaçãoDiagnostica

Análise de Variantes de Vulnerabilidade

A partir de uma vulnerabilidade confirmada, encontra suas variantes no código — o mesmo padrão de bug em outros arquivos — por meio de busca e análise. Use após corrigir uma falha de segurança para caçar os irmãos dela.

Ações
PerfilDev
ProfundidadeAlta
IdiomaInglês (skill original)
Objetivo

Em uma frase.

Para cada vulnerabilidade confirmada, encontrar seus irmãos: o mesmo padrão de bug repetido em locais diferentes. A maioria das classes de bug aparece várias vezes em um código, e corrigir apenas a instância encontrada deixa o resto explorável. A análise de variantes caça o padrão, não a instância, e termina codificando uma regra de detecção em CI para impedir a reintrodução.

Aplicação

Quando
faz sentido.

Usar
  • Após corrigir um bug de segurança, para encontrar instâncias gêmeas
  • Após receber uma divulgação de vulnerabilidade (disclosure)
  • Em caças periódicas por classes de bug já conhecidas
Não usar
  • Em uma revisão de segurança geral de PR (use reviewing-security)
  • Na modelagem de ameaças inicial (use applying-stride-threat-analysis)
  • Ao corrigir um único bug confirmado (use uma skill de remediação direta; a análise de variantes vem depois)
Prompt

Instruções
para a IA.

### 1 — Destilar o padrão

Reduza o bug encontrado ao seu padrão abstrato, por exemplo: "input do usuário concatenado em SQL sem parametrização", "caminho de arquivo unido a input do usuário sem normalização" ou "JSON não confiável desserializado sem schema".

### 2 — Buscar variações

Para cada padrão, desenhe buscas. Use grep/regex para padrões simples e busca semântica (preferível) com CodeQL para análise cross-language ou Semgrep para correspondência de padrões. O "find usages" da IDE ajuda a enumerar callsites.

### 3 e 4 — Filtrar falsos positivos e corrigir

Para cada match, verifique manualmente se é de fato o padrão, se o input é realmente não confiável e se não há sanitização upstream. Cada variante confirmada recebe a mesma correção da original.

### 5 — Regra de detecção

Codifique o padrão como uma regra Semgrep ou CodeQL que roda em CI, prevenindo a reintrodução. Considere as categorias de variante: mesmo arquivo, mesmo módulo, módulo diferente e até codebase diferente quando vários repositórios compartilham arquitetura. Evite os anti-padrões: corrigir só a instância divulgada, ou criar um padrão estreito demais (não pega variantes) ou amplo demais (volume enorme de falsos positivos).
Constelação

Onde
ela vive.

Execução

Como usar
com IA.

  1. 01Copie a skill (botão "Copiar skill para IA", no topo): o texto copiado já é a skill completa, não um resumo.
  2. 02Abra o Claude ou Claude Code e cole — a IA recebe todas as instruções e fica pronta para a tarefa.
  3. 03Prefere usar como arquivo reutilizável? Baixe o .zip e coloque o SKILL.md em .claude/skills/ (Claude Code) ou anexe o arquivo no Claude (claude.ai).