performing-ioc-enrichment-automation
Faz seu agente automatizar a coleta de informações sobre indicadores de comprometimento (IOCs) de várias fontes.
O que ela faz
Esta ferramenta automatiza a coleta de informações sobre possíveis ameaças digitais (como IPs, domínios ou arquivos suspeitos) consultando diversas fontes confiáveis. Ela organiza esses dados para ajudar a decidir se algo é realmente perigoso.
Quando usar
- ✓Quando você recebe um alerta de segurança e precisa entender rapidamente se ele é real.
- ✓Quando há muitos alertas e você precisa de ajuda para verificar todos eles sem perder tempo.
- ✓Quando você está investigando um incidente e precisa de muitos detalhes sobre um item suspeito.
Exemplo do que pedir para a IA
“Verifique este endereço IP: 192.168.1.1”
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 usa códigos (API keys) para se conectar a serviços como VirusTotal e AbuseIPDB. Ela envia o item suspeito para esses serviços e junta as respostas para dar um resumo.
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-ioc-enrichment-automationOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/performing-ioc-enrichment-automation/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.
Automação de Enriquecimento de IOCs
Quando Usar
Use esta funcionalidade quando:
- Analistas de SOC precisam enriquecer rapidamente IOCs de múltiplas fontes durante a triagem de alertas.
- Altos volumes de alertas exigem enriquecimento automatizado para reduzir o tempo de busca manual.
- Investigações de incidentes precisam de contexto abrangente de IOCs para avaliação de escopo.
- Playbooks de SOAR requerem ações de enriquecimento como parte de fluxos de trabalho de triagem automatizada.
Não use para decisões de bloqueio em massa sem revisão do analista — o enriquecimento fornece contexto, não determinação definitiva de malicioso/benigno.
Pré-requisitos
- Chaves de API: VirusTotal (gratuita ou premium), AbuseIPDB, Shodan, URLScan.io, GreyNoise
- Python 3.8+ com
requests,vt-py,shodanbibliotecas - Instância MISP ou TIP para referenciar inteligência organizacional
- Plataforma SOAR (opcional) para integração de fluxo de trabalho
- Consciência de limites de taxa: VT grátis (4 req/min), AbuseIPDB (1000/dia), Shodan (1 req/seg)
Fluxo de Trabalho
Passo 1: Construir o Motor de Enriquecimento Unificado
Crie um pipeline de enriquecimento multi-fonte:
import requests
import vt
import shodan
import time
from dataclasses import dataclass, field
from typing import Optional
@dataclass
class EnrichmentResult:
ioc_value: str
ioc_type: str
virustotal: dict = field(default_factory=dict)
abuseipdb: dict = field(default_factory=dict)
shodan_data: dict = field(default_factory=dict)
greynoise: dict = field(default_factory=dict)
urlscan: dict = field(default_factory=dict)
misp_matches: list = field(default_factory=list)
risk_score: float = 0.0
disposition: str = "Unknown"
class IOCEnrichmentEngine:
def __init__(self, config):
self.vt_client = vt.Client(config["virustotal_key"])
self.shodan_api = shodan.Shodan(config["shodan_key"])
self.abuseipdb_key = config["abuseipdb_key"]
self.greynoise_key = config["greynoise_key"]
self.urlscan_key = config["urlscan_key"]
def enrich_ip(self, ip_address):
result = EnrichmentResult(ioc_value=ip_address, ioc_type="ip")
# VirusTotal
try:
vt_obj = self.vt_client.get_object(f"/ip_addresses/{ip_address}")
result.virustotal = {
"malicious": vt_obj.last_analysis_stats.get("malicious", 0),
"suspicious": vt_obj.last_analysis_stats.get("suspicious", 0),
"total_engines": sum(vt_obj.last_analysis_stats.values()),
"reputation": vt_obj.reputation,
"country": getattr(vt_obj, "country", "Unknown"),
"as_owner": getattr(vt_obj, "as_owner", "Unknown")
}
except Exception as e:
result.virustotal = {"error": str(e)}
# AbuseIPDB
try:
response = requests.get(
"https://api.abuseipdb.com/api/v2/check",
headers={"Key": self.abuseipdb_key, "Accept": "application/json"},
params={"ipAddress": ip_address, "maxAgeInDays": 90}
)
data = response.json()["data"]
result.abuseipdb = {
"confidence_score": data["abuseConfidenceScore"],
"total_reports": data["totalReports"],
"is_tor": data.get("isTor", False),
"usage_type": data.get("usageType", "Unknown"),
"isp": data.get("isp", "Unknown"),
"domain": data.get("domain", "Unknown")
}
except Exception as e:
result.abuseipdb = {"error": str(e)}
# Shodan
try:
host = self.shodan_api.host(ip_address)
result.shodan_data = {
"ports": host.get("ports", []),
"os": host.get("os", "Unknown"),
"organization": host.get("org", "Unknown"),
"isp": host.get("isp", "Unknown"),
"vulns": host.get("vulns", []),
"last_update": host.get("last_update", "Unknown")
}
except shodan.APIError:
result.shodan_data = {"status": "Not found in Shodan"}
# GreyNoise
try:
response = requests.get(
f"https://api.greynoise.io/v3/community/{ip_address}",
headers={"key": self.greynoise_key}
)
gn_data = response.json()
result.greynoise = {
"classification": gn_data.get("classification", "unknown"),
"noise": gn_data.get("noise", False),
…
Perguntas frequentes
Preciso pagar por esses serviços?
Alguns serviços oferecem um plano gratuito com limites, outros podem exigir pagamento para uso mais intenso.
A ferramenta decide sozinha se algo é perigoso?
Não. Ela reúne informações para ajudar um especialista a tomar a decisão, mas não faz isso sozinha.
Quais tipos de ameaças ela verifica?
Ela verifica endereços de IP, nomes de domínio e códigos de arquivos (hashes).
Detalhes
Descrição original do autor
Automates Indicator of Compromise (IOC) enrichment by orchestrating lookups across VirusTotal, AbuseIPDB, Shodan, MISP, and other intelligence sources to provide contextual scoring and disposition recommendations. Use when SOC analysts need rapid multi-source enrichment of IPs, domains, URLs, and file hashes during alert triage or incident investigation. '
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #6083
- 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
cpp-testing
Faz seu agente escrever e melhorar testes para código C++. Ajuda a configurar ferramentas de teste e a corrigir erros.
affaan-m/ECC
csharp-testing
Ajuda seu agente a criar testes para código C# e .NET. Ele usa as melhores práticas para garantir que os testes sejam eficientes e confiáveis.
affaan-m/ECC
django-tdd
Faz seu agente aplicar estratégias de teste para Django com pytest-django e TDD. É útil para escrever testes robustos e garantir a qualidade do código, especialmente para APIs DRF.
affaan-m/ECC