Pular para o conteúdo
Skillpedia
Segurança48 mil · #2465

bugs-are-annoying

Ajuda seu agente a procurar erros e falhas de segurança em códigos. Ele faz uma análise profunda para garantir que o programa funcione corretamente.

O que ela faz

Este agente de IA procura por erros em códigos de programação. Ele tenta 'quebrar' o código para encontrar falhas de lógica, segurança ou outros problemas que o código pode ter.

Quando usar

  • ✓Quando você quer ter certeza de que um código está funcionando corretamente.
  • ✓Para encontrar erros escondidos que outras ferramentas não acham.
  • ✓Antes de usar um código em um projeto importante.

Exemplo do que pedir para a IA

“Audite este código para encontrar todos os bugs possíveis.”

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

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/bugs-are-annoying/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/bugs-are-annoying/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Ele analisa o código linha por linha, simula cenários de erro e verifica se o código se comporta como esperado em situações inesperadas.

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 bugs-are-annoying

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/bugs-are-annoying/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Insetos São Irritantes

Uma análise de QA adversarial para qualquer base de código, em qualquer idioma. IDEs de IA são otimizadas para produzir código que parece finalizado — elas não são otimizadas para produzir código que é correto. Esta habilidade existe para fechar essa lacuna, tentando ativamente quebrar o código em vez de confirmar que ele funciona.

Mentalidade Principal

Trate todo código como culpado até que se prove inocente. A pergunta padrão ao ler a saída de um agente construtor não é "isso parece certo?" — é "como isso quebraria, e o que o autor não pensou?".

Esta é uma análise adversarial, não confirmatória. Não leia rapidamente e aprove. Não pule uma categoria porque "parece bem". Cada categoria na taxonomia abaixo deve ser verificada ativamente contra o código real, não assumida como limpa.

Quando Usar

Acione em: "encontrar bugs", "auditar este código/base de código", "executar caçador de bugs", "verificar erros", "encontrar falhas", "revisar isto para bugs", "este código é sólido", ou qualquer solicitação para uma análise profunda de correção em vez de uma revisão de estilo/legibilidade.

Processo — Execute Estas Fases Em Ordem

Não pule fases ou as combine em uma única leitura rápida. Cada fase captura coisas que as outras perdem.

  1. Determinar escopo — Se o usuário nomeou um arquivo ou pasta específica, limite a isso. Caso contrário, pergunte antes de começar: confirme se deve auditar toda a base de código, apenas os arquivos alterados em relação ao branch principal (git diff), ou uma área específica. Nunca adivinhe silenciosamente o escopo em uma base de código de tamanho desconhecido — uma passagem "exaustiva" sem escopo em um repositório grande pode estourar o contexto no meio da auditoria. Dentro do escopo, sempre exclua diretórios gerados e de dependências (node_modules, vendor, dist, build, .git) e arquivos minificados/empacotados — este não é o código escrito pelo usuário e auditá-lo desperdiça a passagem. Arquivos de lock são excluídos por padrão, mas devem ser inspecionados ao verificar Problemas de Dependência.
  2. Mapear a base de código — Identifique os pontos de entrada, o fluxo geral de dados e o que chama o quê antes de procurar qualquer coisa. Você não pode encontrar um bug entre arquivos sem primeiro conhecer as relações entre os arquivos.
  3. Passagem estática linha por linha — Leia todos os arquivos relevantes/alterados completamente, não uma leitura rápida. Verifique cada linha contra a taxonomia abaixo.
  4. Rastrear caminhos críticos de dados — Siga os dados da entrada para a saída através de limites de arquivos/funções. A maioria dos bugs reais vive nas junções entre funções e arquivos, não dentro de uma única função.
  5. Simulação adversarial — Execute mentalmente o código contra entradas hostis/de borda: nulo, indefinido, string vazia, array vazio, zero, números negativos, entrada de comprimento máximo, chamadas duplicadas, chamadas concorrentes, entrada malformada, campos ausentes.
  6. Passagem de referências cruzadas — Quando um bug é encontrado, verifique ativamente se o mesmo erro foi repetido em outro lugar. IDEs de IA frequentemente copiam e colam o mesmo padrão falho em vários arquivos.
  7. Triagem de gravidade — Classifique cada achado usando as definições abaixo. Não invente novos rótulos de gravidade.
  8. Escrever/atualizar bugs.md — Use o formato exato abaixo. Esta é a única saída de uma caçada — não narre um resumo longo no chat; aponte o usuário para o arquivo.

Taxonomia de Bugs

Independente de linguagem. Verifique cada categoria — estes são padrões, não sintaxe, então eles se aplicam independentemente da pilha.

  • Erros de lógica — erros de um a mais, condicionais invertidos, precedência incorreta de operadores, lógica booleana incorreta
  • Segurança de nulo/tipo — nulo/indefinido não tratado, conversões inseguras, falta de encadeamento opcional, tipo assumido incorreto
  • Casos de borda — entrada vazia, zero, números negativos, coleções de item único vs. múltiplos itens, primeira/última iteração de um loop
  • Tratamento de erros — exceções engolidas, falta de try/catch em torno de chamadas falíveis, erros capturados mas não registrados ou exibidos, erro incorreto propagado na pilha
  • Concorrência/assíncrono — condições de corrida, promessas não aguardadas, closures desatualizadas, estado atualizado após um componente/processo já ter sido encerrado
  • Segurança — pontos de injeção, segredos/chaves codificados, bypass de autenticação ou permissão, desserialização insegura
  • Vazamentos de recursos — identificadores de arquivo/streams/conexões não fechados, listeners ou assinaturas nunca removidos
  • Consistência entre arquivos — uma função/tipo/campo alterado em um arquivo, mas os locais de chamada em outros não atualizados (o modo de falha mais comum de IDEs de IA, já que os agentes construtores tendem a editar um arquivo por vez)
  • Incompatibilidades de API/contrato — chamador e chamado discordam sobre um nome de campo, tipo ou parâmetro necessário
  • Gerenciamento de estado — mutação de estado que deveria ser imutável, estado derivado que fica desatualizado, atualizações duplas

…

Perguntas frequentes

Ele encontra todos os tipos de erros?

Ele é projetado para encontrar muitos tipos de erros, como falhas de lógica, problemas de segurança e erros em casos raros (edge cases).

Ele verifica a aparência do código?

Não, ele foca apenas se o código está funcionando corretamente, não se ele está bonito ou bem escrito em termos de estilo.

O que ele faz se encontrar um erro?

Ele lista os erros encontrados, classifica a gravidade deles e indica onde eles estão no código, geralmente em um arquivo chamado bugs.md.

Detalhes

Descrição original do autor

Adversarial code auditor that hunts down bugs, logic errors, and security flaws. Use for deep correctness passes, not style reviews.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#2465
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas