Pular para o conteúdo
Skillpedia
Diversos35 mil · #5528

building-automated-malware-submission-pipeline

Ajuda seu agente a criar um sistema automático para enviar e analisar arquivos suspeitos. Ele coleta arquivos, envia para análise e gera relatórios. Útil para equipes de segurança que recebem muitos alertas.

O que ela faz

Esta ferramenta automatiza o processo de análise de arquivos suspeitos. Ela coleta arquivos de computadores e e-mails, envia para análise em ambientes seguros e verifica se são maliciosos, gerando relatórios.

Quando usar

  • ✓Quando muitos alertas de arquivos suspeitos chegam e precisam ser analisados rapidamente.
  • ✓Quando a análise manual de arquivos suspeitos atrasa a resposta a incidentes.
  • ✓Quando ferramentas de segurança precisam de veredictos automáticos sobre arquivos.

Exemplo do que pedir para a IA

“Automatize a análise de arquivos suspeitos coletados de nossos endpoints.”

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/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/building-automated-malware-submission-pipeline/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/building-automated-malware-submission-pipeline/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta coleta arquivos de fontes como EDRs e e-mails. Em seguida, verifica se os arquivos já são conhecidos em bancos de dados como VirusTotal. Se não forem conhecidos, envia para análise em 'sandboxes' (ambientes seguros) para determinar se são maliciosos.

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 building-automated-malware-submission-pipeline

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/building-automated-malware-submission-pipeline/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.

Construindo um Pipeline Automatizado de Submissão de Malware

Quando Usar

Use esta funcionalidade quando:

  • Equipes de SOC enfrentam um alto volume de alertas de arquivos suspeitos que exigem análise em sandbox.
  • A submissão manual em sandbox cria gargalos no fluxo de trabalho de triagem de alertas.
  • Ferramentas de segurança de endpoint e e-mail quarentenam arquivos que necessitam de determinação automatizada de veredicto.
  • A resposta a incidentes requer identificação rápida da família de malware e extração de IOCs.

Não use para analisar amostras de malware ativas em ambientes de produção — sempre utilize infraestrutura de sandbox isolada.

Pré-requisitos

  • Ambiente de sandbox: Cuckoo Sandbox, Joe Sandbox, Any.Run ou VMRay.
  • Chave de API do VirusTotal (Enterprise para submissão, gratuita para consulta).
  • Acesso à API do MalwareBazaar para consulta de malware conhecido.
  • Mecanismo de coleta de arquivos: API de quarentena do EDR, exportação de gateway de e-mail, captura de rede.
  • Python 3.8+ com as bibliotecas requests, vt-py, pefile.
  • Rede de análise isolada, sem conectividade com a produção.

Fluxo de Trabalho

Etapa 1: Construir o Pipeline de Coleta de Arquivos

Colete arquivos suspeitos de várias fontes:

import requests
import hashlib
import os
from pathlib import Path
from datetime import datetime

class MalwareCollector:
    def __init__(self, quarantine_dir="/opt/malware_quarantine"):
        self.quarantine_dir = Path(quarantine_dir)
        self.quarantine_dir.mkdir(exist_ok=True)

    def collect_from_edr(self, edr_api_url, api_token):
        """Pull quarantined files from CrowdStrike Falcon"""
        headers = {"Authorization": f"Bearer {api_token}"}

        # Get recent quarantine events
        response = requests.get(
            f"{edr_api_url}/quarantine/queries/quarantined-files/v1",
            headers=headers,
            params={"filter": "state:'quarantined'", "limit": 50}
        )
        file_ids = response.json()["resources"]

        for file_id in file_ids:
            # Download quarantined file
            dl_response = requests.get(
                f"{edr_api_url}/quarantine/entities/quarantined-files/v1",
                headers=headers,
                params={"ids": file_id}
            )
            file_data = dl_response.content
            sha256 = hashlib.sha256(file_data).hexdigest()

            filepath = self.quarantine_dir / f"{sha256}.sample"
            filepath.write_bytes(file_data)
            yield {"sha256": sha256, "path": str(filepath), "source": "edr"}

    def collect_from_email_gateway(self, smtp_quarantine_path):
        """Pull attachments from email gateway quarantine"""
        import email
        from email import policy

        for eml_file in Path(smtp_quarantine_path).glob("*.eml"):
            msg = email.message_from_binary_file(
                eml_file.open("rb"), policy=policy.default
            )
            for attachment in msg.iter_attachments():
                content = attachment.get_content()
                if isinstance(content, str):
                    content = content.encode()
                sha256 = hashlib.sha256(content).hexdigest()
                filename = attachment.get_filename() or "unknown"

                filepath = self.quarantine_dir / f"{sha256}.sample"
                filepath.write_bytes(content)
                yield {
                    "sha256": sha256,
                    "path": str(filepath),
                    "source": "email",
                    "original_filename": filename,
                    "sender": msg["From"],
                    "subject": msg["Subject"]
                }

    def compute_hashes(self, filepath):
        """Calculate MD5, SHA1, SHA256 for a file"""
        with open(filepath, "rb") as f:
            content = f.read()
        return {
            "md5": hashlib.md5(content).hexdigest(),
            "sha1": hashlib.sha1(content).hexdigest(),
            "sha256": hashlib.sha256(content).hexdigest(),
            "size": len(content)
        }

Etapa 2: Pré-triagem com Consultas de Hash

Verifique se o arquivo já é conhecido antes da submissão para sandbox:

import vt

class MalwarePreScreener:
    def __init__(self, vt_api_key, mb_api_url="https://mb-api.abuse.ch/api/v1/"):
        self.vt_client = vt.Client(vt_api_key)
        self.mb_api_url = mb_api_url

    def check_virustotal(self, sha256):
        """Consulta hash no VirusTotal"""
        try:
            file_obj = self.vt_client.get_object(f"/files/{sha256}")
            stats = file_obj.last_analysis_stats
            return {
                "found": True,

…
Perguntas frequentes

O que é uma 'sandbox'?

É um ambiente seguro e isolado onde arquivos suspeitos podem ser executados e analisados sem risco de infectar sistemas reais.

Preciso pagar por algum serviço?

Sim, é necessário ter uma chave de API para o VirusTotal (pode ser gratuita para consultas básicas ou paga para envios) e acesso ao MalwareBazaar.

Posso usar isso para analisar malware em computadores de trabalho?

Não, esta ferramenta é apenas para análise em ambientes isolados (sandboxes) e nunca em sistemas de produção.

Detalhes

Descrição original do autor

Builds an automated malware submission and analysis pipeline that collects suspicious files from endpoints and email gateways, submits them to sandbox environments and multi-engine scanners, and generates verdicts with IOCs for SIEM integration. Use when SOC teams need to scale malware analysis beyond manual sandbox submissions for high-volume alert triage. '

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#5528
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas