analyzing-supply-chain-malware-artifacts
Faz seu agente investigar ataques que afetam a cadeia de suprimentos. Ajuda a encontrar como os atacantes entraram e o que foi afetado.
O que ela faz
Esta ferramenta ajuda a investigar ataques que acontecem através de atualizações de software ou componentes que parecem confiáveis, mas foram modificados para espalhar programas maliciosos. Ela compara versões de programas para encontrar essas modificações.
Quando usar
- ✓Ao investigar um problema de segurança onde um programa confiável pode ter sido comprometido.
- ✓Ao tentar entender como um ataque cibernético se espalhou através de software.
- ✓Ao verificar se um programa de software é seguro antes de usá-lo.
Exemplo do que pedir para a IA
“Compare este arquivo de atualização de software com a versão oficial para ver se há algo malicioso.”
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 compara um arquivo de programa suspeito com uma versão conhecida como segura. Ela procura por partes adicionadas ou modificadas, ou por alterações nas funções que o programa pode chamar, indicando que algo foi injetado.
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 analyzing-supply-chain-malware-artifactsOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/analyzing-supply-chain-malware-artifacts/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.
Análise de Artefatos de Malware de Cadeia de Suprimentos
Visão Geral
Ataques à cadeia de suprimentos comprometem canais legítimos de distribuição de software para entregar malware através de mecanismos de atualização confiáveis. Exemplos notáveis incluem SolarWinds SUNBURST (2020, afetando mais de 18.000 clientes), 3CX SmoothOperator (2023, um ataque em cascata à cadeia de suprimentos originado da Trading Technologies) e inúmeras campanhas de envenenamento de pacotes npm/PyPI. A análise envolve a comparação de binários trojanizados com versões legítimas, identificação de código injetado em artefatos de build, exame de anomalias de assinatura de código e rastreamento da cadeia de infecção desde o comprometimento inicial até a entrega do payload. Em 2025, ataques à cadeia de suprimentos representam 30% de todas as violações, um aumento de 100% em relação aos anos anteriores.
Quando Usar
- Ao investigar incidentes de segurança que exigem análise de artefatos de malware de cadeia de suprimentos.
- Ao construir regras de detecção ou consultas de caça a ameaças para este domínio.
- Quando analistas de SOC precisam de procedimentos estruturados para este tipo de análise.
- Ao validar a cobertura de monitoramento de segurança para técnicas de ataque relacionadas.
Pré-requisitos
- Python 3.9+ com
pefile,ssdeep,hashlib - Ferramentas de comparação de binários (BinDiff, Diaphora)
- Ferramentas de verificação de assinatura de código (sigcheck, codesign)
- Ferramentas de análise de composição de software (SCA)
- Acesso a versões legítimas de software para comparação
- Monitoramento de repositório de pacotes (npm, PyPI, NuGet)
Fluxo de Trabalho
Etapa 1: Análise de Comparação de Binários
#!/usr/bin/env python3
"""Compara binário trojanizado com a versão legítima."""
import hashlib
import pefile
import sys
import json
def compare_pe_files(legitimate_path, suspect_path):
"""Compara estruturas de arquivos PE entre versões legítima e suspeita."""
legit_pe = pefile.PE(legitimate_path)
suspect_pe = pefile.PE(suspect_path)
report = {"differences": [], "suspicious_sections": [], "import_changes": []}
# Compara seções
legit_sections = {s.Name.rstrip(b'\x00').decode(): {
"size": s.SizeOfRawData,
"entropy": s.get_entropy(),
"characteristics": s.Characteristics,
} for s in legit_pe.sections}
suspect_sections = {s.Name.rstrip(b'\x00').decode(): {
"size": s.SizeOfRawData,
"entropy": s.get_entropy(),
"characteristics": s.Characteristics,
} for s in suspect_pe.sections}
# Encontra seções novas ou modificadas
for name, props in suspect_sections.items():
if name not in legit_sections:
report["suspicious_sections"].append({
"name": name, "reason": "Nova seção não encontrada na versão legítima",
"size": props["size"], "entropy": round(props["entropy"], 2),
})
elif abs(props["size"] - legit_sections[name]["size"]) > 1024:
report["suspicious_sections"].append({
"name": name, "reason": "Tamanho da seção alterado significativamente",
"legit_size": legit_sections[name]["size"],
"suspect_size": props["size"],
})
# Compara imports
legit_imports = set()
if hasattr(legit_pe, 'DIRECTORY_ENTRY_IMPORT'):
for entry in legit_pe.DIRECTORY_ENTRY_IMPORT:
for imp in entry.imports:
if imp.name:
legit_imports.add(f"{entry.dll.decode()}!{imp.name.decode()}")
suspect_imports = set()
if hasattr(suspect_pe, 'DIRECTORY_ENTRY_IMPORT'):
for entry in suspect_pe.DIRECTORY_ENTRY_IMPORT:
for imp in entry.imports:
if imp.name:
suspect_imports.add(f"{entry.dll.decode()}!{imp.name.decode()}")
new_imports = suspect_imports - legit_imports
if new_imports:
report["import_changes"] = list(new_imports)
# Verifica assinatura de código
report["legit_signed"] = bool(legit_pe.OPTIONAL_HEADER.DATA_DIRECTORY[4].Size)
report["suspect_signed"] = bool(suspect_pe.OPTIONAL_HEADER.DATA_DIRECTORY[4].Size)
return report
def hash_file(filepath):
"""Calcula múltiplos hashes para um arquivo."""
hashes = {}
with open(filepath, 'rb') as f:
data = f.read()
for algo in ['md5', 'sha1', 'sha256']:
h = hashlib.new(algo)
h.update(data)
hashes[algo] = h.hexdigest()
return hashes
if __name__ == "__main__":
if len(sys.argv) < 3:
print(f"Uso: {sys.argv[0]} <binário_legítimo> <binário_suspeito>")
sys.exit(1)
report = compare_pe_files(sys.argv[1], sys.argv[2])
print(json.dumps(report, indent=2))
…
Perguntas frequentes
O que é um ataque de cadeia de suprimentos?
É um tipo de ataque cibernético onde os criminosos invadem um fornecedor de software confiável para distribuir malware para os clientes desse fornecedor.
Por que comparar arquivos de programa?
Comparar arquivos ajuda a identificar se um programa foi alterado de forma maliciosa, procurando por diferenças que não deveriam estar lá.
O que são artefatos de malware?
São evidências ou rastros deixados por um programa malicioso, como partes de código alterado ou arquivos suspeitos, que ajudam a entender o ataque.
Detalhes
Descrição original do autor
Investigate supply chain attack artifacts including trojanized software updates, compromised build pipelines, and sideloaded dependencies to identify intrusion vectors and scope of compromise.
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #5492
- 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
deep-research
Faz seu agente pesquisar tópicos a fundo, reunindo informações de várias fontes. Ele cita as fontes e indica o nível de confiança. Ideal para análises detalhadas ou investigações.
affaan-m/ECC
research-ops
Permite que seu agente busque fatos e informações atuais. Ele usa pesquisas públicas e o contexto que você fornece para dar respostas baseadas em evidências.
affaan-m/ECC
scientific-thinking-literature-review
Ajuda seu agente a fazer revisões sistemáticas de literatura científica. É útil para compilar e entender pesquisas sobre um tema.
affaan-m/ECC