Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/eclipsemanic/threatsentry-ai
Ferramentas DefensivasReconhecimentoAnálise de VulnerabilidadesColeta de InformaçõesSegurança de RedeInteligência de AmeaçasAprendizado de MáquinaResposta a IncidentesAnálise de Logs

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
GitHubeclipsemanic/threatsentry-ai

ThreatSentry-AI

Ver Repositório
11há 7 mesesAinda não revisado

Sobre

ThreatSentry AI é um painel inteligente de caça a ameaças que utiliza aprendizado de máquina para identificar e priorizar proativamente riscos em sua rede. Ele automatiza o processo de coleta de informações dos dispositivos, enriquecendo-as com dados de vulnerabilidades e avaliando níveis de risco, permitindo que as equipes de segurança foquem nas ameaças mais críticas.

Compartilhar

ThreatSentry AI: Ferramenta de Caça a Ameaças Orientada por IA

License: MIT Python Version Framework ML Stack Database

Automatize a descoberta de ativos externos, enriqueça inteligentemente com dados de múltiplas fontes e aproveite o aprendizado de máquina ensemble para prever e priorizar riscos. Transforme a fadiga de alertas em inteligência acionável.

🚀 Declaração de Missão

ThreatSentry AI elimina a fadiga de alertas de segurança e possibilita a caça proativa a ameaças por meio da priorização inteligente de riscos. Combina descoberta automatizada de ativos, enriquecimento de dados de múltiplas fontes e aprendizado de máquina avançado para transformar dados brutos de segurança em inteligência acionável.


👨‍💻 Autor e Agradecimentos

Líder do Projeto: EclipseManic

Nota de Desenvolvimento: Esta plataforma de segurança empresarial abrangente foi arquitetada e desenvolvida por um único desenvolvedor com auxílio de ferramentas de desenvolvimento de IA para geração de código, otimização e documentação—demonstrando a viabilidade da engenharia de software aumentada por IA para sistemas complexos.


📋 Resumo Executivo

As equipas de segurança modernas enfrentam desafios sem precedentes:

  • Fadiga de Alertas: Milhares de alertas diários com relações sinal-ruído que tornam a triagem manual impossível
  • Dados Fragmentados: Contexto crítico disperso entre SIEM, CMDB, sistemas de patches e monitoramento de rede
  • Postura Reativa: Responder a ameaças conhecidas em vez de caçar riscos emergentes
  • Restrições de Recursos: Orçamentos e pessoal limitados em infraestruturas cada vez mais complexas

ThreatSentry AI resolve estes problemas através de:

  1. Descoberta Automatizada de Ativos Externos via API Shodan para visibilidade contínua
  2. Enriquecimento Inteligente Multifonte a partir de NVD, sistemas internos e análises comportamentais
  3. Pontuação de Risco Baseada em ML usando modelos ensemble para priorização precisa de ameaças
  4. Painéis Prontos para Executivos para inteligência acionável e resposta rápida
  5. Alertas Proativos que evidenciam ativos de alto risco antes que incidentes ocorram

✨ Funcionalidades Principais

🤖 Motor de Pontuação de Risco Inteligente

  • Modelo de Aprendizado de Máquina Ensemble: Combina Random Forest, Gradient Boosting e Redes Neurais para classificação robusta de riscos
  • Análise Multifatorial: Avalia mais de 40 atributos de segurança e negócios além da simples contagem de vulnerabilidades:
    • Contexto Temporal: Duração da exposição, atraso de patch, histórico de incidentes
    • Posição na Rede: Status de serviço crítico, segmento de rede, proteção de firewall
    • Sinais Comportamentais: Falhas de autenticação, anomalias de tráfego, histórico de falsos positivos
    • Impacto de Conformidade: Sensibilidade dos dados, requisitos regulatórios, ativos críticos conectados
  • Pontuação de Confiança: Cada previsão inclui uma métrica de confiança (0-1) para que os analistas avaliem a fiabilidade
  • Aprendizado Contínuo: O modelo é retreinado automaticamente em intervalos configuráveis com integração de feedback

🌐 Descoberta Automatizada de Ativos e Fusão de Inteligência

  • Integração com Shodan: Descoberta contínua de dispositivos voltados para a Internet com suporte a consultas avançadas
    • Consultas predefinidas para cenários comuns (certificados SSL, serviços RDP, ICS/Modbus, etc.)
    • Suporte a consultas personalizadas para caça de ativos específicos da organização
  • Enriquecimento com NVD: Correlação automática de CVE usando análise inteligente de banners
    • Extração de serviços de banner suportando mais de 14 tipos de produtos (Apache, Nginx, MySQL, IIS, etc.)
    • Pontuação CVSS e classificação de gravidade
    • Previne perda de dados: só atualiza métricas de CVE quando vulnerabilidades são encontradas
  • Integração de Dados Internos (Arquitetura extensível para o seu ambiente):
    • Coletor CMDB: Classificação de ativos, níveis de criticidade, tags de conformidade
    • Coletor SIEM: Métricas comportamentais, padrões de autenticação, pontuações de anomalia
    • Coletor de Gestão de Patches: Atualidade dos patches, atualizações em falta, análise de atraso de patches
    • Coletor de Monitoramento de Rede: Padrões de tráfego, deteção de DDoS, pontuações de anomalia
  • Base de Dados Unificada: SQLite com mais de 40 colunas indexadas para consulta e geração de relatórios eficientes

📊 Painel Executivo e Ferramentas de Análise

  • GUI Baseada em PyQt5 com suporte a temas claro/escuro:
    • Visualização em tempo real da distribuição de risco (gráficos de barras com Matplotlib)
    • Tabela de dispositivos ordenável e filtrável com indicadores de risco codificados por cor
    • Filtro rápido por Organização, País, Nível de Risco
    • Pesquisa automática nos campos IP, Org, País, Risco
  • Inspeção Interativa de Dispositivos:
    • Lista detalhada de vulnerabilidades com pontuações CVSS
    • Linha do tempo de vulnerabilidades e acompanhamento histórico
    • Detalhamento dos fatores de risco que explicam a pontuação
  • Operações em Massa:
    • Gatilhos de análise manual (Shodan + enriquecimento NVD)
    • Importação de dados CSV/JSON com validação de campos
    • Retreino do modelo com métricas de desempenho
    • Envio manual de alertas para validar configurações
  • Painel de Análises (Avançado):
    • Tendências de distribuição de risco
    • Análise de impacto de CVE
    • Métricas de vulnerabilidade por organização

📧 Alertas Proativos por Email

  • Integração com SendGrid: Notificações automáticas por email HTML para ativos de alto risco
    • Acionadas imediatamente após alteração do rótulo de risco (Baixo/Médio → Alto)
    • Previne alertas duplicados com rastreamento de status "notificado"
  • Conteúdo Rico do Alerta:
    • Sumário executivo com pontuação de risco e confiança
    • Lista detalhada de vulnerabilidades (top N por CVSS)
    • Detalhamento dos fatores de risco para contexto da equipa de segurança
    • Recomendações de remediação acionáveis
  • Configuração Flexível: Defina destinatários de alertas, modelos de email e condições de acionamento

Exemplo de Email de Alerta

![Modelo de Email de Alerta de Segurança Automatizado]

Screenshot 2026-01-10 160955

Email formatado em HTML com sumário de risco, detalhes de CVE e orientação de remediação enviado via SendGrid

📈 Transparência do Modelo e Melhoria Contínua

  • Monitoramento de Desempenho:
    • Acompanhamento da precisão ao longo das épocas de treino
    • Matriz de confusão e relatórios de classificação
    • Análise de importância de características para entender as decisões do modelo
    • Indicadores de deteção de desvio de dados
  • Ciclo de Feedback:
    • Correções manuais de rótulos de risco por analistas
    • Acompanhamento de verdadeiros positivos/falsos positivos
    • Ajustes de pesos do modelo com base no feedback
    • Agendamento de retreino automático com registo de metadados

⚡ Desempenho e Fiabilidade

  • Otimizado para Escala:
    • Indexação de base de dados em mais de 5 colunas para consultas em sub-milissegundos
    • Cache de resultados para dados frequentemente acedidos (28,7x de aceleração)
    • Paginação com "Carregar Mais" para grandes conjuntos de dados (50 linhas iniciais + incrementos de 50 linhas)
    • UI não bloqueante com threads de trabalho (QThread, ThreadPoolExecutor)
  • Tratamento Robusto de Erros:
    • Lógica de retry com backoff exponencial para falhas de API (Shodan, NVD, SendGrid)
    • Degradação graciosa se serviços opcionais estiverem indisponíveis
    • Registo abrangente com rotação de ficheiros
    • Arquitetura sinal/slot segura para threads previne condições de corrida
  • Eficiente em Memória:
    • Recolha de lixo após renderização de gráficos
    • Tabs da UI carregadas de forma preguiçosa para reduzir tempo de inicialização
    • Gestores de contexto de sessão garantem limpeza adequada

🎨 Visão Geral Visual

Painel Principal

![Painel do ThreatSentry AI - Interface Principal de Caça a Ameaças]

Screenshot 2026-01-10 153154

Visualização de risco em tempo real com tabela de dispositivos ordenável e gráfico de barras de distribuição de risco

Tabela de Avaliação de Risco de Dispositivos

![Tabela de Dispositivos com Indicadores de Risco]

image

Listagem de dispositivos ordenável e filtrável com níveis de risco codificados por cor (Verde=Baixo, Amarelo=Médio, Vermelho=Alto)

Painel de Filtragem Avançada

![Filtros Avançados - Intervalo CVSS, Organização, País, Nível de Risco]

Poderosos controlos de filtragem com filtro de intervalo CVSS, organização, país e nível de risco + botão "Limpar Tudo"

  • Filtro de Intervalo CVSS: Ajuste as pontuações mínima e máxima de CVSS (0-10) para focar em níveis de gravidade específicos
  • Filtro de Organização: Filtre rapidamente por uma organização específica a partir de uma lista suspensa de todas as organizações na sua base de dados
  • Filtro de País: Filtre por localização geográfica para identificar riscos regionais
  • Filtro de Nível de Risco: Exiba apenas dispositivos Alto, Médio, Baixo ou Todos para análise focada
  • Botão Limpar Tudo: Redefinição de todos os filtros para valores padrão com um clique para ver o conjunto de dados completo novamente
  • Aplicar Filtros: Aplique instantaneamente todos os filtros selecionados com resultados refletidos em tempo real

Capacidade de Pesquisa em Toda a Base de Dados

![Entrada de Pesquisa - Pesquisa em Múltiplas Colunas em Toda a Base de Dados]

Pesquisa inteligente que abrange toda a base de dados de dispositivos, não apenas as linhas atualmente exibidas

  • Pesquisa Abrangente: Pesquise em endereços IP, nomes de organização, países e níveis de risco
  • Deteção Automática de IP: Detecta automaticamente o formato de endereço IP e pesquisa em conformidade
  • Cobertura Total da Base de Dados: Os resultados da pesquisa incluem TODOS os dispositivos na base de dados, não limitados às primeiras 50 linhas
  • Resultados em Tempo Real: Atraso debounced de 300ms para pesquisa responsiva sem impacto no desempenho
  • Integração com Paginação: Os resultados da pesquisa respeitam o sistema de paginação para carregamento eficiente

Paginação Inteligente e Suporte a Grandes Conjuntos de Dados

![Botão Carregar Mais - Controlos de Paginação]

Sistema de paginação otimizado para lidar com milhares de dispositivos de forma eficiente

  • Exibição Padrão de 50 Linhas: O painel carrega com 50 dispositivos iniciais para renderização rápida
  • Carregamento Progressivo: Botão "Carregar Mais (50 linhas)" permite carregamento incremental sem timeout
  • Eficiente em Memória: Exibe apenas as linhas solicitadas; nunca carrega todo o conjunto de dados na memória
  • Desempenho Otimizado: UI não bloqueante impede o congelamento ao carregar grandes conjuntos de dados
  • Indicador de Estado: Mostra "A exibir X de Y dispositivos" para transparência sobre o total de dados disponíveis
  • Integração de Pesquisa: Os filtros de pesquisa funcionam perfeitamente com a paginação para resultados rápidos

Painel de Análises e Relatórios

![Separador de Análises - Tendências de Risco e Análise de CVE]

Screenshot 2026-01-10 153300

Tendências históricas de risco, análise de vulnerabilidades e métricas de segurança por organização

Ferramentas e Configuração

![Separador de Ferramentas - Estado do Modelo e Exportação de Dados]

Screenshot 2026-01-10 153240

Informações de treino do modelo, métricas de desempenho, exportação de dados e opções de filtragem avançada

Notificações de Alerta por Email

Screenshot 2026-01-10 153939

![Email de Alerta de Segurança Automatizado]

Email formatado em HTML com sumário executivo, detalhes de vulnerabilidade e orientação de remediação

Fluxo de Trabalho de Análise Manual

![Diálogo de Acionamento de Análise]

Screenshot 2026-01-10 153710

Execute Shodan + enriquecimento NVD com relatório de erro detalhado e indicação de progresso


🛠️ Stack Tecnológico

CamadaTecnologias
BackendPython 3.9+, SQLAlchemy ORM, APScheduler
ML/IAScikit-learn (Random Forest, Gradient Boosting, MLP), NumPy, Joblib
FrontendPyQt5, Matplotlib, Gestor de tema personalizado
DadosPandas, NumPy, SQLite3
APIsShodan, NVDLib, SendGrid, Requests
UtilitáriosPython-dotenv, Módulo de logging, Gestão de configuração

🏗️ Arquitetura e Fluxo de Dados```

┌─────────────────────────────────────────────────────────────┐ │ ThreatSentry AI │ ├─────────────────────────────────────────────────────────────┤ │ Scheduler (APScheduler) │ ├──────────┬──────────────┬──────────────┬───────────┬─────────┤ │ │ │ │ │ │ ▼ ▼ ▼ ▼ ▼ ▼ Shodan NVD Lib CMDB SIEM Patch Network Collector Collector Collector Collector Mgmt Monitor

root@kitploit:~
      │              │              │           │         │
      └──────────────┴──────────────┴───────────┴─────────┘
                       │
                       ▼
              ┌─────────────────┐
              │   SQLite DB     │
              │  (40+ Columns)  │
              └────────┬────────┘
                       │
    ┌──────────────────┼──────────────────┐
    ▼                  ▼                  ▼

Feature Engine Model Training Predictions │ │ │ └─────────┬───────┴──────────┬──────┘ ▼ ▼ ┌──────────────────────┐ │ Ensemble Model │ │ (RF + GB + MLP) │ └──────────┬───────────┘ │ ┌────────────┼────────────┐ ▼ ▼ ▼ PyQt5 GUI Email Alerts Analytics

root@kitploit:~
### Pipeline de Processamento de Dados

1. **Fase de Descoberta** (Intervalo configurável, padrão 30 min)
   - Varredura Shodan com consultas configuráveis
   - Enriquecimento NVD com correlação CVE
   - Enriquecimento interno do sistema para contexto

2. **Fase de Análise**
   - Engenharia de recursos a partir de 40+ atributos
   - Predição do modelo ensemble (Random Forest 40% + Gradient Boosting 40% + MLP 20%)
   - Geração de rótulo de risco (0=Baixo, 1=Médio, 2=Alto)
   - Pontuação de confiança

3. **Fase de Alerta**
   - Verificar novos ativos de alto risco
   - Gerar e enviar alertas por e-mail via SendGrid
   - Atualizar status de notificação

4. **Re-treinamento do Modelo** (Intervalo configurável, padrão 60 min)
   - Carregar todos os dados históricos
   - Extrair recursos
   - Treinar ensemble com pesos de classe balanceados
   - Validar métricas de desempenho
   - Salvar metadados para auditoria

---

## 📋 Primeiros Passos

### Pré-requisitos
- **Python**: 3.9 ou posterior
- **Chaves de API (obrigatório)**:
  - Chave de API Shodan (https://www.shodan.io/)
  - Chave de API SendGrid (https://sendgrid.com/) - para alertas por e-mail
- **Chaves de API opcionais (para enriquecimento aprimorado)**:
  - Endpoint e credenciais CMDB
  - Endpoint e credenciais SIEM
  - Endpoint e credenciais do sistema de gerenciamento de patches
  - Endpoint e credenciais de monitoramento de rede

### Instalação

#### Passo 1: Clonar Repositório```bash
git clone https://github.com/EclipseManic/ThreatSentry-AI.git
cd ThreatSentry-AI

Passo 2: Criar Ambiente Virtual```bash

On Windows

python -m venv .venv .venv\Scripts\activate

On macOS/Linux

python3 -m venv .venv source .venv/bin/activate

root@kitploit:~
#### Passo 3: Instalar Dependências```bash
pip install -r requirements.txt

Passo 4: Configurar o Ambiente

Crie um arquivo .env na raiz do projeto:```bash cp .env.example .env # If provided, or create new

root@kitploit:~
Edite `.env` com suas credenciais:```ini
# Required - Threat Discovery
SHODAN_API_KEY=your_shodan_api_key_here
SHODAN_QUERY=                          # Leave empty to use presets
SHODAN_QUERY_EMPTY_TO_PRESET=True      # Use preset queries when SHODAN_QUERY is empty

# Optional - Email Alerts
SENDGRID_API_KEY=your_sendgrid_key_here
[email protected]    # Must be verified in SendGrid
[email protected],[email protected]

# Optional - Internal Enrichment (Implement in collectors/)
CMDB_API_ENDPOINT=https://cmdb.internal/api
CMDB_API_KEY=your_cmdb_key
SIEM_API_ENDPOINT=https://siem.internal/api
SIEM_API_KEY=your_siem_key

# Configuration
SCAN_INTERVAL_MINUTES=30               # How often to scan for new assets
RETRAIN_INTERVAL_MINUTES=60            # How often to retrain the model
MAX_SHODAN_RESULTS=50                  # Results per Shodan query
LOG_LEVEL=INFO                         # DEBUG, INFO, WARNING, ERROR

# Paths (Optional)
SQLITE_PATH=data/db/threat_sentric_ai.db
MODEL_PATH=data/models/rf_model.pkl
LOG_FILE_PATH=data/logs/threat_sentric_ai.log

Passo 5: Inicializar o Banco de Dados```bash

python -c "from data import init_db; init_db()"

root@kitploit:~
#### Etapa 6: Executar a Aplicação```bash
python run.py

O painel será iniciado com o agendador em execução em segundo plano.


🚀 Guia de Uso

Visão Geral dos Componentes do Painel

![Interface Principal do Painel com Todas as Abas] Abas de Visão Geral, Análise e Ferramentas para avaliação abrangente de ameaças

1. Tabela de Dispositivos e Descoberta

![Filtros de Organização e País com Lista de Dispositivos] Tabela de dispositivos classificável com indicadores de risco codificados por cores (Verde=Baixo, Amarelo=Médio, Vermelho=Alto)

  • Codificação por Cores: Avaliação visual instantânea de risco
  • Classificável/Filtrável: Clique nos cabeçalhos das colunas ou use o Filtro Rápido para busca rápida
  • Atualizações em Tempo Real: O painel é atualizado à medida que novas ameaças são detectadas

2. Gráfico de Distribuição de Risco

![Gráfico de Barras de Distribuição de Risco] Visualização da postura geral de segurança com contagens de dispositivos por nível de risco

  • Mostra a contagem de dispositivos em todas as categorias de risco
  • Atualiza em tempo real à medida que as previsões do modelo mudam
  • Identifica pontos críticos de segurança que requerem atenção imediata

3. Botões de Ação Principais

  • Escanear Agora: Acione manualmente o enriquecimento Shodan + NVD com relatório detalhado de erros
  • Atualizar: Atualize o painel a partir do estado mais recente do banco de dados
  • Carregar Dados: Importe em lote CSV/JSON com informações do dispositivo
  • Treinar Modelo: Retreine manualmente o modelo ensemble com os dados atuais

Recursos Avançados

Aba de Análise

![Painel de Análise - Tendências e Métricas de Risco]

  • Tendências detalhadas de risco ao longo do tempo com análise histórica
  • Identificação dos principais serviços vulneráveis
  • Métricas de risco por organização e comparações
  • Análise de impacto de CVE e tendências de vulnerabilidade

Aba de Ferramentas

![Painel de Ferramentas - Status do Modelo e Exportação

  • Status do modelo e informações de treinamento

Configuração

Consultas Predefinidas (Editar core/config.py)```python

SHODAN_QUERIES = { "default": "product:apache", "web_apps": "http.title:"login" org:"Your Company"", "database": "port:27017 OR port:3306", "iot": "device:camera OR device:printer", "rdp": "port:3389", "vpn": "port:500 OR port:1194" }

root@kitploit:~
#### Coletores Internos Personalizados
Implemente no diretório `collectors/`:
1. Copie o modelo de um coletor existente
2. Atualize o método `_collect()` com suas chamadas de API
3. Retorne os dados de enriquecimento
4. Registre no agendador (`core/scheduler.py`)

#### Personalização de Alertas por E-mail
Edite `alerts/email_alerts.py`:
- Modifique o modelo HTML para e-mails com marca
- Adicione descrições personalizadas de fatores de risco
- Ajuste as recomendações de remediação

---

## 📊 Modelo de Dados

### Tabela de Dispositivos (40+ Colunas)```
Core Identifiers:  ip, org, country, first_seen, last_seen
Vulnerability:     cve_count, max_cvss, vulnerabilities (rel)
Security Metrics:  auth_failures_24h, traffic_anomaly_score, patch_lag_days
Risk Assessment:   risk_label, risk_score, confidence_score
Context:          network_segment, service_category, is_critical_service
Compliance:       compliance_requirements, data_sensitivity_level
Historical:       incident_history_count, last_compromise_date, false_positive_count
Alerting:         notified, alert_history

Tabela de Vulnerabilidades```

Linked to Device: device_id (FK) CVE Info: cve_id, cvss, summary

root@kitploit:~
## 🔄 Exemplos de Fluxo de Trabalho

### Cenário 1: Caça a Ameaças Diária
1. Abra o painel → Revise dispositivos de Risco=Alto (vermelho)
2. Clique no dispositivo → Veja a lista detalhada de CVEs
3. Observe a organização e o tipo de infraestrutura
4. Faça referência cruzada com o SIEM para atividades suspeitas recentes
5. Priorize a remediação com base na criticidade e no atraso de patches

### Cenário 2: Resposta a Incidentes
1. Recebeu alerta sobre novo dispositivo de alto risco
2. O painel mostra detalhes de vulnerabilidades e fatores de risco
3. Verifique a aba Gerenciamento de Ativos → Veja se o dispositivo é conhecido
4. Envie alerta manual para a equipe SOC de plantão
5. Após a remediação, o painel é atualizado automaticamente quando o Shodan reflete as alterações

### Cenário 3: Relatório de Riscos
1. Vá para a aba Analytics
2. Exporte gráficos de distribuição e tendências de riscos
3. Identifique pontos críticos de risco organizacional
4. Gere um roteiro de remediação
5. Acompanhe o progresso ao longo do tempo com reexportações periódicas

---

## 🔧 Solução de Problemas

### Problemas Comuns

#### Problema: "Chave de API Shodan inválida" (403 Proibido)
- **Solução**: Verifique a chave de API Shodan no arquivo `.env`. O painel mostrará erro, mas continuará processando
- **Nota**: O enriquecimento NVD não será executado (evita perda de dados em falhas de API)

#### Problema: "Nenhum CVE encontrado para o dispositivo"
- **Solução**: Verifique a extração de banner. Edite a lista de palavras-chave em `collectors/nvd_collector.py`
- **Prevenção**: Enriquecimento manual via upload CSV para definir dados de CVE manualmente

#### Problema: "Confiança do modelo muito baixa"
- **Solução**: Treine novamente com mais dados rotulados. Forneça feedback sobre dispositivos classificados incorretamente
- **Prevenção**: Use o sistema de feedback para melhorar a qualidade dos dados de treinamento

#### Problema: Alertas de e-mail não estão sendo enviados
- **Solução**: Verifique a chave de API do SendGrid e se o e-mail remetente está verificado
- **Verifique**: variável de ambiente `ENABLE_EMAIL_ALERTS` definida como True

#### Problema: Banco de dados bloqueado ou consultas lentas
- **Solução**: Certifique-se de que os índices foram criados (init_db() faz isso)
- **Verifique**: Sem conexões duplicadas com o banco de dados (apenas atualização da interface, sem escrita constante)

---

## 🛡️ Considerações de Segurança

1. **Gerenciamento de Chaves de API**: Use variáveis de ambiente, nunca faça commit do `.env` no Git
2. **Segurança do Banco de Dados**: SQLite adequado para usuário único; migrar para PostgreSQL para multiusuário
3. **Segurança de Rede**: Execute em rede confiável; implemente segmentação de rede se expuser a API
4. **Privacidade de Dados**: Configure rotação de logs para limitar espaço em disco. Implemente políticas de retenção de dados
5. **Registro de Auditoria**: Todas as decisões do modelo são registradas com valores de recursos para auditabilidade

---

## 📈 Dicas de Otimização de Desempenho

| Problema | Solução |
|-------|----------|
| Carregamento lento do painel | Aumente o tamanho da paginação na configuração |
| Alto uso de CPU durante treinamento | Reduza `n_estimators` em `model/advanced_model.py` |
| Alto uso de memória | Ative a limpeza de logs, reduza a resolução dos gráficos |
| Escaneamentos lentos do Shodan | Reduza `MAX_SHODAN_RESULTS`, use consultas mais específicas |
| Enriquecimento NVD lento | Implemente cache de API, reduza a extração de palavras-chave de produtos |

---

## 🤝 Contribuindo

Contribuições são bem-vindas! Consulte [CONTRIBUTING.md](https://raw.githubusercontent.com/eclipsemanic/threatsentry-ai/HEAD/CONTRIBUTING.md) para diretrizes.

Áreas para melhoria:
- Implementações adicionais de coletores (integração com Nessus, Tenable, Qualys)
- API Web para acesso programático
- Suporte a múltiplos usuários com acesso baseado em funções
- Visualização avançada (integração com Grafana/ELK)
- Suporte a implantação em Kubernetes

---

## 📄 Licença

Este projeto está licenciado sob a Licença MIT—veja o arquivo [LICENSE](https://github.com/eclipsemanic/threatsentry-ai/blob/main/LICENSE) para detalhes.

---

## 📞 Suporte e Contato

- **Issues**: Issues do GitHub para relatórios de bugs e solicitações de funcionalidades
- **Documentação**: Consulte o diretório [docs/](https://github.com/eclipsemanic/threatsentry-ai/blob/main/docs) para documentação técnica detalhada
- **Email**: Informações do mantenedor em [CODE_OF_CONDUCT.md](https://github.com/eclipsemanic/threatsentry-ai/blob/main/CODE_OF_CONDUCT.md)

---

## 🙏 Agradecimentos

- **Shodan**: Pela descoberta abrangente de dispositivos voltados para a internet
- **NVD/NIST**: Pelos dados autoritativos de vulnerabilidades
- **Scikit-learn**: Bibliotecas de ML robustas e documentação
- **PyQt5**: Excelente framework de interface gráfica
- **Comunidade**: Todos os contribuidores e usuários que fornecem feedback

---

**Feito com ❤️ por EclipseManic | Protegendo a Infraestrutura de Amanhã Hoje**
pip install -r requirements.txt```

---

## 🔐 Configuration

### 1. Environment Variables (`.env` file)
Create a `.env` file in the root directory with the following structure:

```bash
# --- Chave de API do Shodan (Obrigatório) ---
SHODAN_API_KEY="YOUR_SHODAN_API_KEY"

# --- Alertas de E-mail do SendGrid (Obrigatório) ---
SENDGRID_API_KEY="YOUR_SENDGRID_API_KEY"
SENDER_EMAIL="[email protected]"
ALERT_RECIPIENTS="[email protected],[email protected]"

# --- Banco de Dados ---
SQLITE_PATH="threat_sentric_ai.db"

# --- Modelo ---
MODEL_PATH="threatsentry_model.pkl"

# --- Agendador ---
SCAN_INTERVAL_MINUTES="30"
RETRAIN_INTERVAL_MINUTES="60"
RETRAIN_ON_SCHEDULE="True"

# --- Controle de Comportamento da Consulta Shodan ---
SHODAN_QUERY=""
SHODAN_QUERY_EMPTY_TO_PRESET="True"

# --- Logging ---
LOG_LEVEL="INFO" # DEBUG, INFO, AVISO, ERRO, CRÍTICO

# --- Credenciais Internas do Sistema (Opcional - Adicione conforme necessário para seus coletores) ---
# CMDB_API_ENDPOINT="..."
# CMDB_API_KEY="..."
# SIEM_API_ENDPOINT="..."
# SIEM_API_KEY="..."
# PATCH_API_ENDPOINT="..."
# PATCH_API_KEY="..."
# NETWORK_MONITOR_ENDPOINT="..."
# NETWORK_MONITOR_KEY="..."```

> The app loads environment variables via `os.getenv()` in `config.py`.  
> Never commit this file to version control.

---

## 🔍 Shodan Query Presets (`config.py`)

Modify the `SHODAN_QUERIES` dictionary to define your custom query presets:

```python
SHODAN_QUERIES = {
    "default": "product:apache",
    "org": 'org:"Your Company Name"',
    "net": 'net:"123.45.67.0/24"',
    "ssl": 'ssl:"yourcompany.com"',
    "hostname": 'hostname:".yourcompany.com"',
    "rdp": 'port:3389 "remote desktop"',
    "mongodb": 'port:27017 "mongodb"',
    "ics_modbus": 'port:502 "modbus"',
    "vuln_example": 'vuln:CVE-2024-12345',
    "http_login": 'http.title:"Login" org:"Your Company"'
}```

If `SHODAN_QUERY` in `.env` is empty **and** `SHODAN_QUERY_EMPTY_TO_PRESET=True`,  
the scheduler will automatically cycle through these presets.

---

## 🧠 Implementing Internal Collectors

> ⚠️ **Important:** The internal collectors (`cmdb_collector.py`, `siem_collector.py`, `patch_collector.py`, `network_monitor_collector.py`) are **placeholders**.  
> Replace the placeholder logic with real integrations to your systems.

You’ll need to:
- Fetch internal data using APIs, databases, or SDKs.
- Map fetched data to the `Device` model attributes.
- Update the database session with this enriched information.

Without these integrations, the model will lack context for accurate predictions.

---

## 🧪 Running the Application

### (Optional) Generate Initial Training Data
```bash
python scripts/generate_realistic_training_data.py --count 1000```
Creates `scripts/my_training_data.json`.  
You can upload this file through the GUI’s **Upload** option to initialize training data.

### Launch the Application
```bash
python run.py```
The GUI will open and the scheduler will start scanning, enriching, and predicting automatically.

---

## ⚡ Quick Demo with Generated Data

1. Complete installation (steps 1–3).  
2. Set up your `.env` file (even with placeholder keys).  
3. Optionally adjust Shodan presets in `config.py`.  
4. Generate data:
   ```bash
python scripts/generate_realistic_training_data.py --count 500   ```
5. Launch the app:
   ```bash
python run.py   ```
6. In the GUI:
   - Select **Upload** → Choose `scripts/my_training_data.json`
   - Click **Refresh** to view populated device data and risk levels.

---

## 🛠️ Scripts and Usage Guide

| Script | Description |
|--------|--------------|
| **run.py** | Main entry point. Starts DB, scheduler, and GUI. |
| **scheduler.py** | Handles periodic scanning, enrichment, prediction, and retraining. |
| **scripts/generate_realistic_training_data.py** | Generates realistic training data for testing or bootstrapping. |
| **scripts/clear_db_enhanced.py** | Interactively clean database or reset notification flags. |
| **scripts/reset_db.py** | Completely resets the database. Use with caution. |

### Example Commands

```bash
# Gerar 1000 registros
python scripts/generate_realistic_training_data.py --count 1000

# Ver opções de limpeza
python scripts/clear_db_enhanced.py --help

# Excluir todos os dispositivos e vulnerabilidades
python scripts/clear_db_enhanced.py --delete-devices --delete-vulns

# Redefinir sinalizador notificado
python scripts/clear_db_enhanced.py --reset-notified

# Reinicialização completa perigosa
python scripts/reset_db.py```

---

## 💬 Feedback & Suggestions

This project was developed by **EclipseManic**.  
While code contributions are currently closed, your **feedback and bug reports** are highly appreciated.

Please open an [Issue](https://github.com/EclipseManic/ThreatSentry-AI/issues) to share your thoughts or report a problem.

---

## 📄 License

This project is licensed under the **MIT License**.  
See the [LICENSE](https://github.com/eclipsemanic/threatsentry-ai/blob/main/LICENSE) file for details.
Baixar ferramenta