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.
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.
- 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
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
- Python 3.11 (recomendado)
- Conexão com internet
# 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# 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| 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 |
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.
╭─────────────────────────────────────────────────────╮
│ 🛡️ 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 │
└──────────────┴──────────────────┴──────────────────────────────┴───────────────┘
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.
Desenvolvido por Spectre (bspectre)
Projeto Hackathon — Discord WebSec Brasil
MIT License — uso livre para fins educacionais.