semgrep-rule-variant-creator
Permite que seu agente adapte regras de segurança para diferentes linguagens de programação. Ele cria versões da regra para cada linguagem.
O que ela faz
Esta ferramenta ajuda a adaptar regras de segurança de código (chamadas 'Semgrep rules') para diferentes linguagens de programação. Se você tem uma regra que funciona em uma linguagem, ela pode ajudar a criar uma versão dessa regra para outras linguagens.
Quando usar
- ✓Adaptar uma regra de segurança existente para uma nova linguagem.
- ✓Criar versões de uma mesma verificação de segurança para várias linguagens em um projeto.
- ✓Expandir a cobertura de segurança do seu código para linguagens que você ainda não cobria.
Exemplo do que pedir para a IA
“Adapte a regra 'sql-injection' para Go e Java.”
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 se a regra original faz sentido na nova linguagem, cria exemplos de código para testar a regra e depois gera a nova regra e seus testes. Ela garante que cada nova regra seja testada independentemente.
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 semgrep-rule-variant-creatorOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/semgrep-rule-variant-creator/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.
Criador de Variantes de Regras Semgrep
Porte regras Semgrep existentes para novas linguagens de destino com análise de aplicabilidade adequada e validação orientada por testes.
Quando Usar
Cenários ideais:
- Portar uma regra Semgrep existente para uma ou mais linguagens de destino
- Criar variantes específicas de linguagem de um padrão de vulnerabilidade universal
- Expandir a cobertura de regras em uma base de código poliglota
- Traduzir regras entre linguagens com construtos equivalentes
Quando NÃO Usar
NÃO use esta habilidade para:
- Criar uma nova regra Semgrep do zero (use
semgrep-rule-creatorem vez disso) - Executar regras existentes em código
- Linguagens onde o padrão de vulnerabilidade fundamentalmente não se aplica
- Variações sintáticas menores dentro da mesma linguagem
Especificação de Entrada
Esta habilidade requer:
- Regra Semgrep existente - Caminho do arquivo YAML ou conteúdo da regra YAML
- Linguagens de destino - Uma ou mais linguagens para portar (por exemplo, "Golang e Java")
Especificação de Saída
Para cada linguagem de destino aplicável, produz:
<original-rule-id>-<language>/
├── <original-rule-id>-<language>.yaml # Ported Semgrep rule
└── <original-rule-id>-<language>.<ext> # Test file with annotations
Exemplo de saída para portar sql-injection para Go e Java:
sql-injection-golang/
├── sql-injection-golang.yaml
└── sql-injection-golang.go
sql-injection-java/
├── sql-injection-java.yaml
└── sql-injection-java.java
Racionalizações para Rejeitar
Ao portar regras Semgrep, rejeite estes atalhos comuns:
| Racionalização | Por que Falha | Abordagem Correta |
|---|---|---|
| "Estrutura do padrão é idêntica" | ASTs diferentes entre linguagens | Sempre descarregue o AST para a linguagem de destino |
| "Mesma vulnerabilidade, mesma detecção" | Fluxo de dados difere entre linguagens | Analise os idiomas da linguagem de destino |
| "Regra não precisa de testes, pois a original funcionou" | Casos extremos da linguagem diferem | Escreva NOVOS casos de teste para o destino |
| "Pular aplicabilidade - obviamente se aplica" | Alguns padrões são específicos da linguagem | Conclua a análise de aplicabilidade primeiro |
| "Criarei todas as variantes e depois testarei" | Erros se acumulam, difíceis de depurar | Conclua o ciclo completo por linguagem |
| "Equivalente de biblioteca é próximo o suficiente" | Similaridade superficial esconde diferenças | Verifique se as semânticas da API correspondem |
| "Apenas traduza a sintaxe 1:1" | Linguagens têm idiomas diferentes | Pesquise os padrões da linguagem de destino |
Nível de Rigor
Este fluxo de trabalho é rigoroso - não pule etapas:
- Análise de aplicabilidade é obrigatória: Não presuma que os padrões se traduzem
- Cada linguagem é independente: Conclua o ciclo completo antes de passar para a próxima
- Teste primeiro para cada variante: Nunca escreva uma regra sem casos de teste
- 100% de aprovação nos testes é exigido: "A maioria dos testes passa" não é aceitável
Visão Geral
Esta habilidade orienta a criação de variantes específicas de linguagem de regras Semgrep existentes. Cada linguagem de destino passa por um ciclo independente de 4 fases:
FOR EACH target language:
Phase 1: Applicability Analysis → Verdict
Phase 2: Test Creation (Test-First)
Phase 3: Rule Creation
Phase 4: Validation
(Complete full cycle before moving to next language)
Conhecimento Fundamental
A habilidade semgrep-rule-creator é a referência autoritária para os fundamentos da criação de regras Semgrep. Embora esta habilidade se concentre em portar regras existentes para novas linguagens, os princípios centrais de escrita de regras de qualidade permanecem os mesmos.
Consulte semgrep-rule-creator para orientação sobre:
- Quando usar modo de contaminação (taint mode) vs. correspondência de padrões - Escolhendo a abordagem correta para o tipo de vulnerabilidade
- Metodologia de teste primeiro - Por que os testes vêm antes das regras e como escrever casos de teste eficazes
- Antipadrões a evitar - Erros comuns como padrões excessivamente amplos ou excessivamente específicos
- Iterar até que os testes passem - O loop de validação e técnicas de depuração
- Otimização de regras - Removendo padrões redundantes após a aprovação dos testes
Ao portar uma regra, você está aplicando esses mesmos princípios em um novo contexto de linguagem. Se tiver dúvidas sobre a estrutura ou abordagem da regra, consulte semgrep-rule-creator primeiro.
Fluxo de Trabalho de Quatro Fases
Fase 1: Análise de Aplicabilidade
Antes de portar, determine se o padrão se aplica à linguagem de destino.
Critérios de análise:
- A classe de vulnerabilidade existe na linguagem de destino?
- Existe um construto equivalente (função, padrão, biblioteca)?
- As semânticas são suficientemente semelhantes para uma detecção significativa?
Opções de veredito:
APPLICABLE→ Prosseguir com a criação da variante
…
Perguntas frequentes
O que são 'Semgrep rules'?
São como receitas que ensinam um programa a encontrar padrões específicos de código, geralmente para identificar problemas de segurança ou bugs.
Por que não posso simplesmente copiar a regra para outra linguagem?
Cada linguagem tem suas próprias 'manias' e formas de fazer as coisas. Uma regra que funciona perfeitamente em uma linguagem pode não funcionar ou detectar coisas erradas em outra, mesmo que pareçam semelhantes.
Preciso saber programar para usar isso?
Não é necessário ser um programador experiente. A ferramenta automatiza o processo de adaptação, mas entender o básico do que a regra original faz ajuda a escolher as linguagens corretas.
Detalhes
Descrição original do autor
Creates language variants of existing Semgrep rules. Use when porting a Semgrep rule to specified target languages. Takes an existing rule and target languages as input, produces independent rule+test directories for each language.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4100
- 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
benchmark-optimization-loop
Faz seu agente melhorar a velocidade de algo de forma medida. Ele testa várias versões e escolhe a mais rápida que ainda funciona corretamente.
affaan-m/ECC
change-impact
Ajuda seu agente a analisar o impacto de mudanças no código antes de fazê-las. Ele compara o planejado com o real depois, cobrindo caminhos, dados, testes e documentação. É útil para mudanças arriscadas ou que afetam várias partes do sistema.
affaan-m/ECC
click-path-audit
Faz seu agente rastrear todos os botões e interações do usuário para achar bugs. Ele encontra problemas onde funções parecem funcionar sozinhas, mas falham juntas. Útil quando bugs persistem mesmo após depuração.
affaan-m/ECC