performing-yara-rule-development-for-detection
Permite que seu agente crie regras YARA para detectar malware com base em padrões e características únicas.
O que ela faz
Esta ferramenta ajuda a criar regras para identificar programas maliciosos (malware). Ela analisa arquivos para encontrar padrões únicos, como sequências de texto ou bytes, que são específicos de um malware, ajudando a detectá-lo e a evitar falsos positivos.
Quando usar
- ✓Ao criar defesas contra ameaças digitais.
- ✓Ao classificar diferentes tipos de malware.
- ✓Ao transformar informações de ameaças em regras de detecção.
Exemplo do que pedir para a IA
“Crie uma regra YARA para detectar um malware que usa a string 'evil_command' e se conecta ao IP '192.168.1.100'.”
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 examina o código de um programa em busca de sequências de texto ou bytes que se destacam. Ela usa essas descobertas para construir uma 'assinatura' (a regra YARA) que pode identificar esse programa específico em outros computadores.
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 mukul975/Anthropic-Cybersecurity-Skills --skill performing-yara-rule-development-for-detectionOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/performing-yara-rule-development-for-detection/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.
Desenvolvimento de Regras YARA para Detecção
Visão Geral
YARA é a ferramenta versátil de correspondência de padrões para pesquisadores de malware, permitindo a identificação e classificação de malware com base em padrões textuais ou binários. Regras YARA eficazes combinam padrões de strings únicos, sequências de bytes, características do cabeçalho PE, análise da tabela de importação e lógica condicional para detectar famílias de malware, evitando falsos positivos. O moderno YARA-X (reescrito em Rust, estável desde junho de 2025) traz melhorias de desempenho e novos módulos. As regras devem ter como alvo artefatos de malware descompactados, como strings de pilha codificadas, URLs de C2, nomes de mutex, constantes de criptografia e sequências de código únicas, em vez de assinaturas de empacotadores.
Quando Usar
- Ao realizar avaliações de segurança que envolvam o desenvolvimento de regras YARA para detecção
- Ao seguir procedimentos de resposta a incidentes para eventos de segurança relacionados
- Ao realizar testes ou atividades de auditoria de segurança agendados
- Ao validar controles de segurança por meio de testes práticos
Pré-requisitos
- Python 3.9+ com a biblioteca
yara-python - YARA 4.5+ ou YARA-X 0.10+
- Ferramentas de análise PE (
pefile,pestudio) - Editor hexadecimal para identificar padrões de bytes únicos
- Acesso a amostras de malware (VirusTotal, MalwareBazaar)
- Compreensão do formato de arquivo PE, strings e tabelas de importação
Conceitos Chave
Estrutura da Regra
Cada regra YARA consiste em três seções: meta (metadados descritivos opcionais), strings (definições de padrões) e condition (lógica de correspondência). Os tipos de string incluem strings de texto (ASCII/wide/nocase), padrões hexadecimais com curingas e saltos, e expressões regulares. As condições combinam correspondências de strings com propriedades de arquivo usando operadores booleanos.
Estratégia de Seleção de Strings
Regras eficazes visam padrões que são únicos para a família de malware e sobrevivem à recompilação. Strings de pilha codificadas são excelentes escolhas porque os compiladores as incorporam de forma consistente. Padrões de domínio C2, rotinas de criptografia personalizadas, mensagens de erro exclusivas e sequências específicas de chamadas de API fornecem âncoras de detecção estáveis. Evite código gerado pelo compilador e strings de bibliotecas comuns.
Otimização de Desempenho
YARA avalia condições em estilo de curto-circuito. Coloque as condições mais discriminatórias e mais baratas de avaliar primeiro. Use limites de filesize para pular arquivos irrelevantes rapidamente. Minimize o uso de regex em favor de padrões hexadecimais. Use regras de private como blocos de construção para lógica de detecção complexa sem gerar correspondências independentes.
Fluxo de Trabalho
Etapa 1: Analisar Amostra em Busca de Padrões Únicos
#!/usr/bin/env python3
"""Extrai strings candidatas e padrões de bytes para a criação de regras YARA."""
import pefile
import re
import sys
from collections import Counter
def extract_strings(filepath, min_length=6):
"""Extrai strings ASCII e wide de um binário."""
with open(filepath, 'rb') as f:
data = f.read()
# Strings ASCII
ascii_strings = re.findall(
rb'[\x20-\x7e]{' + str(min_length).encode() + rb',}', data
)
# Strings Wide (UTF-16LE)
wide_strings = re.findall(
rb'(?:[\x20-\x7e]\x00){' + str(min_length).encode() + rb',}', data
)
return {
'ascii': [s.decode('ascii') for s in ascii_strings],
'wide': [s.decode('utf-16-le') for s in wide_strings],
}
def analyze_pe_imports(filepath):
"""Extrai a tabela de importação para detecção baseada em API."""
try:
pe = pefile.PE(filepath)
except pefile.PEFormatError:
return []
imports = []
if hasattr(pe, 'DIRECTORY_ENTRY_IMPORT'):
for entry in pe.DIRECTORY_ENTRY_IMPORT:
dll_name = entry.dll.decode('utf-8', errors='replace')
for imp in entry.imports:
if imp.name:
func_name = imp.name.decode('utf-8', errors='replace')
imports.append(f"{dll_name}!{func_name}")
return imports
def find_unique_byte_patterns(filepath, pattern_length=16):
"""Encontra sequências de bytes únicas adequadas para padrões hexadecimais YARA."""
with open(filepath, 'rb') as f:
data = f.read()
try:
pe = pefile.PE(filepath)
# Foca na seção de código
for section in pe.sections:
if section.Characteristics & 0x20000000: # IMAGE_SCN_MEM_EXECUTE
code_start = section.PointerToRawData
code_end = code_start + section.SizeOfRawData
code_data = data[code_start:code_end]
break
else:
code_data = data
…
Perguntas frequentes
O que são regras YARA?
Regras YARA são como assinaturas digitais que descrevem padrões encontrados em arquivos. Elas são usadas para identificar e classificar softwares maliciosos.
O que são 'falsos positivos'?
Falsos positivos acontecem quando uma regra de segurança identifica algo como malicioso, mas na verdade é um programa inofensivo.
Por que é importante analisar 'artefatos de malware descompactados'?
Malwares frequentemente se disfarçam (são 'empacotados'). Analisar o código após ele ser descompactado revela suas características reais e únicas, tornando a detecção mais precisa.
Detalhes
Descrição original do autor
Develops precise YARA and YARA-X rules for malware detection by identifying unique strings, byte sequences, PE header traits, and behavioral indicators in unpacked malware artifacts while minimizing false positives. Use when building detection signatures for threat hunting, classifying malware families, or authoring rules from IOCs such as C2 URLs, mutex names, and encryption constants.
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #6177
- Licença
- Apache-2.0
- Atualizada em
- 31/08/2026
Comentários
- …
Mais skills deste repositório
abusing-dpapi-for-credential-access
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
mukul975/Anthropic-Cybersecurity-Skills
abusing-shadow-credentials-for-privesc
Ensina seu agente de IA a escrever textos claros e bem estruturados.
mukul975/Anthropic-Cybersecurity-Skills
achieving-cmmc-level-2-compliance
Ajuda seu agente a preparar um ambiente para conformidade com CMMC Nível 2. Ele implementa requisitos de segurança e gerencia a documentação necessária.
mukul975/Anthropic-Cybersecurity-Skills
acquiring-disk-image-with-dd-and-dcfldd
Ajuda seu agente a criar cópias exatas de discos rígidos. Isso é útil para garantir que nenhuma informação seja perdida ou alterada durante investigações.
mukul975/Anthropic-Cybersecurity-Skills
Skills parecidas
agent-architecture-audit
Faz seu agente verificar se tudo está funcionando corretamente. Ele encontra e conserta problemas em sistemas de IA, garantindo que funcionem como esperado.
affaan-m/ECC
agent-eval
Ajuda seu agente a comparar diferentes ferramentas de programação de IA. Ele mede qual é mais rápido, barato e confiável para realizar tarefas específicas.
affaan-m/ECC
agent-harness-construction
Faz seu agente entender melhor como realizar tarefas. Ele otimiza as ferramentas e instruções que o agente usa para aumentar suas chances de sucesso.
affaan-m/ECC