Skip to content

AtlasExploit/hackathon-python

Repository files navigation

🛡️ ThreatPulse — Monitor de Inteligência em Cibersegurança

Ferramenta de linha de comando para monitoramento e análise de ameaças cibernéticas em tempo real, usando NLP para classificar, resumir e priorizar notícias de segurança.


📋 Sobre o Projeto

ThreatPulse é um agregador inteligente de notícias de cibersegurança que coleta informações de fontes especializadas (The Hacker News, BleepingComputer, CISA, Krebs on Security), aplica Processamento de Linguagem Natural (NLP) para analisar o conteúdo e gera um digest priorizado por nível de urgência.

O projeto foi desenvolvido como projeto final do curso de Python com IA, aplicando bibliotecas avançadas não vistas em aula: spaCy, feedparser e rich.


✨ Funcionalidades

  • Coleta automática de feeds RSS de 5 fontes especializadas em segurança
  • Classificação de ameaças por categoria (Ransomware, Phishing, Vulnerabilidade, Malware, etc.)
  • Extração de CVEs via expressões regulares (padrão CVE-AAAA-NNNNN)
  • NER (Named Entity Recognition) com spaCy para identificar organizações, locais e produtos
  • Resumo automático usando algoritmo TF (Term Frequency) extractivo
  • Análise de urgência com sistema de pontuação por palavras-chave
  • Dashboard visual no terminal com tabelas coloridas via rich
  • Modo interativo para explorar detalhes de notícias
  • Exportação em Markdown para GitHub, Notion ou qualquer editor

🗂️ Estrutura do Projeto

threatpulse/
├── main.py           # Ponto de entrada — orquestrador do pipeline
├── fetcher.py        # Coleta de feeds RSS
├── nlp_engine.py     # Classificação, NER, resumo (spaCy)
├── sentiment.py      # Análise de urgência/severidade
├── formatter.py      # Exibição visual e exportação (rich)
├── config.py         # Configurações centralizadas
├── requirements.txt  # Dependências
└── README.md         # Este arquivo

🚀 Instalação e Uso

Pré-requisitos

  • Python 3.11 (recomendado)
  • Conexão com internet

Mac

# 1. Clone o repositório
git clone https://github.com/seu-usuario/threatpulse.git
cd threatpulse

# 2. Crie o ambiente virtual com Python 3.11
python3.11 -m venv venv
source venv/bin/activate

# 3. Instale as dependências
pip install -r requirements.txt

# 4. Baixe o modelo de linguagem do spaCy
python3.11 -m pip install https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.7.1/en_core_web_sm-3.7.1-py3-none-any.whl

# 5. Execute
python3.11 main.py

Windows

# 1. Clone o repositório
git clone https://github.com/seu-usuario/threatpulse.git
cd threatpulse

# 2. Crie o ambiente virtual
python -m venv venv
venv\Scripts\activate

# 3. Instale as dependências
pip install -r requirements.txt

# 4. Baixe o modelo de linguagem do spaCy
python -m spacy download en_core_web_sm

# 5. Execute
python main.py

📦 Bibliotecas Utilizadas

Biblioteca Versão Propósito
spaCy 3.7.4 NLP: NER, tokenização, POS tagging, resumo
feedparser 6.0.11 Parsing de feeds RSS/Atom
rich 13.7.1 Output visual no terminal (tabelas, painéis, cores)
requests 2.31.0 Requisições HTTP
re nativo Expressões regulares (extração de CVEs)
collections nativo Counter para análise de frequência

🏗️ Arquitetura

O ThreatPulse segue o padrão de pipeline de enriquecimento de dados:

Feeds RSS → [fetcher] → artigos brutos
                            ↓
                      [nlp_engine] → categoria + CVEs + entidades + resumo
                            ↓
                      [sentiment] → urgência + score + prioridade
                            ↓
                      [formatter] → dashboard visual + exportação

Cada módulo tem responsabilidade única (SRP — Single Responsibility Principle), tornando o código fácil de manter e expandir.


📊 Exemplo de Output

╭─────────────────────────────────────────────────────╮
│  🛡️  ThreatPulse — Monitor de Inteligência          │
│  📅 20/04/2025 às 14:30                             │
╰─────────────────────────────────────────────────────╯

╭─ 📊 Resumo do Digest ──────────────────────────────╮
│  📰 Total de notícias: 23                           │
│  🔴 Crítico: 3   🟠 Alto: 8   🟡 Médio: 9   🟢 Baixo: 3 │
│  ⚠️  CVEs detectados: 5 (CVE-2024-1234, ...)        │
╰────────────────────────────────────────────────────╯

┌──────────────┬──────────────────┬──────────────────────────────┬───────────────┐
│   Urgência   │    Categoria     │            Título            │     Fonte     │
├──────────────┼──────────────────┼──────────────────────────────┼───────────────┤
│ 🔴 CRÍTICO   │ Ransomware       │ LockBit 4.0 hits hospitals.. │ BleepingComp  │
│ 🟠 ALTO      │ Vulnerabilidade  │ CVE-2024-4567 Apache RCE...  │ Hacker News   │
│ 🟡 MÉDIO     │ Phishing         │ Google Ads abused for cred.. │ Krebs on Sec  │
└──────────────┴──────────────────┴──────────────────────────────┴───────────────┘

⚖️ Aviso Legal

ThreatPulse é uma ferramenta exclusivamente defensiva.

  • Todas as informações coletadas provêm de fontes públicas (feeds RSS abertos)
  • O projeto não realiza nenhum tipo de ataque, varredura ou acesso não autorizado
  • Desenvolvido exclusivamente para fins educacionais e de conscientização em segurança
  • Os autores não se responsabilizam por qualquer uso indevido desta ferramenta
  • Nenhuma exploração de vulnerabilidades é realizada ou facilitada por este software

Este projeto enquadra-se na categoria white hat — defesa e inteligência de ameaças.


👤 Autor

Desenvolvido por Spectre (bspectre) Projeto Hackathon — Discord WebSec Brasil


📄 Licença

MIT License — uso livre para fins educacionais.

About

CLI threat intelligence monitor — NLP-powered cybersecurity news aggregator using spaCy and rich

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages