malware-analyzer
Análise estática de malware: hashes, entropia, strings, IOCs e APIs suspeitas.
7 testes · 7 passou · 0 falhou · 0 skip
- test_entropy_bounds0.00s
- test_identify_pe0.00s
- test_identify_elf0.00s
- test_extract_strings0.00s
- test_valid_ip0.00s
- test_analyze_fake_pe0.00s
- test_hashes_stable0.00s
Entrypoints (CLI)
malanalyze
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
- LICENSE
- README.md
- malanalyzer/__init__.py
- malanalyzer/analyzer.py
- malanalyzer/cli.py
- malware_analyzer.egg-info/PKG-INFO
- malware_analyzer.egg-info/SOURCES.txt
- malware_analyzer.egg-info/dependency_links.txt
- malware_analyzer.egg-info/entry_points.txt
- malware_analyzer.egg-info/requires.txt
- malware_analyzer.egg-info/top_level.txt
- pyproject.toml
- tests/test_analyzer.py
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
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)