◈ ProjView
← todos os projetos

malware-analyzer

Python Defensiva GitHub ↗

Análise estática de malware: hashes, entropia, strings, IOCs e APIs suspeitas.

7 testes · 7 passou · 0 falhou · 0 skip

Entrypoints (CLI)

Módulos e funções principais

malanalyzer/__init__.py
malanalyzer/analyzer.py
  • shannon_entropy()
  • identify_format()
  • extract_strings() — Strings ASCII imprimíveis (equivalente ao comando `strings`).
  • analyze_file()
  • risk_summary() — Score heurístico 0-100 a partir dos indicadores.
malanalyzer/cli.py
  • main()

Estrutura de arquivos

README

# Malware Analyzer (estático) 🔬 Análise **estática** de arquivos binários suspeitos — **nunca executa o arquivo**. Extrai hashes, entropia (detecção de packing), strings, IOCs (URLs/IPs/domínios/e-mails) e APIs do Windows frequentemente associadas a malware, produzindo uma pontuação de risco. > ⚠️ Ferramenta educacional. Esta é análise **estática**: lê bytes, não executa. Ainda assim, manipule amostras reais de malware apenas em ambiente isolado. **Nunca** execute arquivos suspeitos fora de uma sandbox. ## Recursos - **Hashes**: MD5, SHA1, SHA256 - **Entropia de Shannon** + heurística de *packing* (entropia > 7.2) - Identificação de formato: **PE / ELF / Mach-O / ZIP / Java / script** - Extração de **strings** (como o `strings`) - **APIs suspeitas** (VirtualAlloc, WriteProcessMemory, CreateRemoteThread…) - **IOCs**: URLs, IPs, domínios, e-mails - Strings notáveis (cmd.exe, powershell, chaves de registro Run, ransom…) - **Score de risco** 0–100 - Sem dependências externas (stdlib pura) ## Instalação ```bash git clone https://github.com/Diogo-Damasceno/malware-analyzer.git cd malware-analyzer pip install -e . ``` ## Uso ```bash malanalyze suspeito.exe malanalyze --json amostra.bin > relatorio.json malanalyze --min-len 8 arquivo.dll ``` ## Testes ```bash pip install -e '.[dev]' pytest -q ``` ## Roadmap - Parsing completo de imports PE (via `pefile`) e ELF (via `pyelftools`) - Regras YARA - Integração com o Threat Intelligence Platform do portfólio ## Licença MIT
malware-analyzer SIM NÃO Arquivo suspeito Hashes (MD5/SHA1/SHA256) Entropia alta? Suspeitar de packing Extrair strings + IOCs (URL/IP/domínio) Matching APIs do Windows suspeitas Pontuar risco Relatório estático (sem execução)

Como rodar na prática (entrada → saída):

$ malware-analyzer suspicious.bin
md5  9f3a...
sha256 1c7e...
entropia 7.9 (ALTA -> possivel packing)
IOC: 185.220.101.4, submit.php
risco: ALTO (relatorio estatico)