Skip to content

Uma ferramenta de análise de ameaças que automatiza a consulta de IPs/URLs em múltiplas fontes (VirusTotal, Shodan, etc.), gera relatórios e cria resumos com IA local.

Notifications You must be signed in to change notification settings

DevGreick/ThreatDeflect

Repository files navigation

🛡️ ThreatDeflect

Logo do ThreatDeflect
Uma ferramenta de análise de ameaças que automatiza a consulta de IOCs e repositórios em múltiplas fontes, gera relatórios e cria resumos com IA local.

⭐ Dê uma estrela se o projeto te ajudou! | Baixar a Última Versão »

Python Version License Project Status GUI Framework Contributions

Screenshot da interface do ThreatDeflect

📑 Sumário

⚡ Instale em 30 segundos

Baixe o executável para o seu sistema operacional na página de Releases.

🛠️ Como Usar (GUI)

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.

Demonstração da Análise de IOCs no ThreatSpy


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.

Demonstração da Análise de Repositorio no ThreatSpy


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.

🛠️ Como Usar (CLI)

Windows (PowerShell ou CMD)

# 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

Demonstração da Análise de IOCs no ThreatSpy


macOS (Terminal)

# 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.xlsx

Linux (Terminal)

Apó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.xlsx

🚀 Funcionalidades Principais

Trê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.

⚙️ Configuração Essencial

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.

✅ Requisitos

  • 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 ollama

Linux:

curl -fsSL https://ollama.com/install.sh | sh

Teste rápido:

ollama --version
ollama pull llama3

Para 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.


📦 Instalação pelo Código-Fonte

# 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

🎛️ Calibrando a Precisão da Análise

  • 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.

⚖️ Aviso de Segurança e Privacidade

  • 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.

🛠️ Tecnologias

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

🤝 Contribuição

  1. Faça um fork.
  2. Crie a branch feature/nova-feature.
  3. Commit: git commit -m "Adiciona nova feature".
  4. Push: git push origin feature/nova-feature.
  5. 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.

☕ Apoie o Projeto

📜 Licença

Distribuído sob a licença GPLv3. Consulte o arquivo LICENSE para mais informações.

About

Uma ferramenta de análise de ameaças que automatiza a consulta de IPs/URLs em múltiplas fontes (VirusTotal, Shodan, etc.), gera relatórios e cria resumos com IA local.

Resources

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

No packages published

Languages