⭐ Dê uma estrela se o projeto te ajudou! | Baixar a Última Versão »
- ⚡ Instale em 30 segundos
- 🛠️ Como Usar (GUI)
- 🛠️ Como Usar (CLI)
- 🚀 Funcionalidades Principais
- ⚙️ Configuração Essencial
- ✅ Requisitos
- 📦 Instalação pelo Código-Fonte
- 🎛️ Calibrando a Precisão da Análise
- ⚖️ Aviso de Segurança e Privacidade
- 🛠️ Tecnologias
- 🤝 Contribuição
- ☕ Apoie o Projeto
- 📜 Licença
Baixe o executável para o seu sistema operacional na página de Releases.
Exemplo 1: Analisando IOCs
Abra Análise de IOCs e cole indicadores (um por linha), ou clique em Importar Alvos de Arquivo para enviar IPs/domínios em lote:
185.172.128.150
https://some-random-domain.net/path
8.8.8.8
Clique em Analisar Alvos. O app consulta APIs em paralelo e gera um Excel com os resultados.
Exemplo 2: Analisando um repositório suspeito
Abra Análise de Repositórios e cole repositórios (um por linha), ou clique em Importar Alvos de Arquivo para enviar repositórios em lote (não recomendado sem token de API; para volumes corporativos, pode ser necessário GitHub Enterprise).
https://github.com/DevGreick/threatspy-test-env
Clique em Analisar Repositórios. A ferramenta detecta segredos e IOCs, gerando um relatório sem precisar clonar o repositório inteiro.
Exemplo 3: Analisando Arquivos Locais
- Na aba Análise de IOCs, clique em Verificar Reputação de Arquivos.
- Selecione um ou mais arquivos (PDFs, executáveis, etc.).
- O ThreatSpy não envia seus arquivos: ele calcula o hash SHA256 localmente e consulta no VirusTotal e no MalwareBazaar.
# Ver ajuda geral
threatdeflect --help
# Analisa múltiplos alvos e gera relatório com resumo por IA
threatdeflect ioc 8.8.8.8 https://malware.com/payload.php --ai gpt-oss:20b
# Analisa alvos de um arquivo e salva em Excel
threatdeflect ioc --file C:\Users\SeuUsuario\Desktop\targets.txt -o C:\Users\SeuUsuario\Desktop\report_iocs.xlsx# Ver ajuda
threatdeflect --help
# Analisa múltiplos alvos
threatdeflect ioc 8.8.8.8 https://malware.com/payload.php --ai gpt-oss:20b
# Analisa via arquivo e exporta
threatdeflect ioc --file ~/targets.txt -o ~/report_iocs.xlsxApós descompactar o release, torne o binário executável com:
chmod +x ThreatDeflect-CLI-Linux# Ver ajuda
./ThreatDeflect-CLI-Linux --help
# Analisa múltiplos alvos com resumo por IA local
./ThreatDeflect-CLI-Linux ioc 8.8.8.8 https://malware.com/payload.php --ai gpt-oss:20b
# Analisa via arquivo e salva Excel
./ThreatDeflect-CLI-Linux ioc --file ~/targets.txt -o ~/report_iocs.xlsxTrês Módulos de Análise:
- Análise de IOCs: Consulta massiva de IPs e URLs contra VirusTotal, AbuseIPDB, Shodan e URLHaus.
- Análise de Repositórios: Varredura de repositórios GitHub e GitLab em busca de segredos, vulnerabilidades, dependências maliciosas e IOCs.
- Análise de Arquivos: Consulta a reputação de arquivos locais (via hash SHA256) no VirusTotal e MalwareBazaar.
Interface Dupla:
- GUI Completa: Interface gráfica construída com PySide6, intuitiva e com todas as funcionalidades.
- CLI Robusta: Linha de comando moderna com Typer e Rich para automação e uso em scripts.
Integração com IA Local (Ollama):
- Geração de dossiês completos e resumos executivos sem enviar dados para APIs de nuvem.
Sistema de Atualização Automática (GUI):
- Notifica sobre novas versões disponíveis no GitHub e oferece um processo de atualização simplificado.
Segurança:
- Armazena chaves de API de forma segura usando o keyring do sistema operacional.
- Não envia o conteúdo de arquivos locais, apenas seus hashes.
Modularidade:
- Dois idiomas disponíveis: inglês e português, pra facilitar o uso em diferentes cenários.
| Serviço | Necessidade | O que habilita? |
|---|---|---|
| VirusTotal | Obrigatória | Reputação de IPs, URLs e arquivos |
| GitHub/GitLab | Recomendada | Análise de repositórios com mais limites da API |
| AbuseIPDB | Opcional | Score de abuso de IPs |
| Shodan | Opcional | Portas e serviços para IPs |
| URLHaus | Opcional | Verificar se as URLs são ativamente usadas para distribuir malware |
| MalwareBazaar | Opcional | Nome da ameaça |
| Ollama (IA) | Opcional | Resumos automáticos locais |
As chaves são salvas de forma segura com keyring no cofre do seu sistema operacional.
Para um guia detalhado sobre como obter e configurar cada chave, consulte o nosso Guia de Configuração de APIs .
Cache de Análise:
- O cache do SQLite é armazenado no mesmo diretório, dentro da subpasta
.threatdeflect_cache.
- Executável: não precisa de Python.
- Código-fonte: Python 3.11+ e Git.
- Chave do VirusTotal: obrigatória para análises de IPs, URLs e arquivos.
Para usar a IA local (opcional): Ollama instalado e em execução.
Windows: https://ollama.com
macOS:
brew install --cask ollamaLinux:
curl -fsSL https://ollama.com/install.sh | shTeste rápido:
ollama --version
ollama pull llama3Para melhores resultados use o gpt-oss:20b
Sem Ollama, os botões de resumo por IA ficam indisponíveis. As demais funções seguem ativas.
# Clone o repositório
git clone https://github.com/DevGreick/ThreatDeflect.git
cd ThreatDeflect
# Crie e ative um ambiente virtual (recomendado)
python3 -m venv .venv
source .venv/bin/activate # No Windows: .venv\Scripts\activate
# Instale as dependências
pip install -r requirements.txt
# Instale o pacote em modo editável para registrar os comandos
pip install -e .
# Execute a versão GUI
threatdeflect-gui # Ou acesse o arquivo main_gui.py na pasta \ThreatDeflect\threatdeflect\ui
# Execute a versão CLI
threatdeflect --help- Como toda ferramenta de Análise Estática de Segurança, o ThreatDeflect trabalha encontrando padrões que podem representar riscos, isso significa que ela pode gerar falsos positivos.
- A precisão do ThreatDeflect é diretamente controlada pelo arquivo rules.yaml, se você é um analista de segurança, é fortemente encorajado a calibrar este arquivo para reduzir o ruído e focar em riscos reais, ajustando as regras de detecção (
rules) e principalmente a lista de exclusão (ignore_patterns) para remover pastas de teste, documentação ou outros diretórios que não são relevantes.
- Os IPs e URLs fornecidos são enviados para as APIs de terceiros configuradas.
- O ThreatDeflect não envia seus arquivos, apenas o hash SHA256 é calculado localmente e enviado para as APIs.
- Não submeta dados sensíveis ou internos. A responsabilidade pela segurança dos dados analisados é sua.
| Tecnologia | Propósito |
|---|---|
| Python | Linguagem principal |
| PySide6 | Interface gráfica |
| Typer / Rich | CLI |
| SQLite | SQlite |
| Requests | Comunicação com APIs |
| Keyring | Cofre de credenciais |
| XlsxWriter / ReportLab | Relatórios Excel e PDF |
| Ollama | IA local |
| PyInstaller | Executáveis multiplataforma |
- Faça um fork.
- Crie a branch
feature/nova-feature. - Commit:
git commit -m "Adiciona nova feature". - Push:
git push origin feature/nova-feature. - Abra um Pull Request.
Ao submeter um Pull Request, você concorda que suas contribuições serão licenciadas sob a mesma licença GPLv3 do projeto, concedendo ao mantenedor o direito de usar, modificar e distribuir seu código como parte do ThreatDeflect.
Distribuído sob a licença GPLv3. Consulte o arquivo LICENSE para mais informações.