
⚡ Scanner profissional de vulnerabilidades — varredura de portas, detecção de CVE, pontuação de risco e relatórios em PDF em um dashboard PyQt6 escuro

Um scanner profissional de vulnerabilidades de segurança cibernética desenvolvido com Python 3.13 e PyQt6. Projetado para avaliações de segurança autorizadas, pesquisa educacional e segurança cibernética defensiva.
Esta ferramenta só deve ser usada em sistemas que você possua ou para os quais tenha permissão escrita explícita para testar. A varredura não autorizada de sistemas que você não possui é ilegal na maioria das jurisdições. Os autores não aceitam qualquer responsabilidade por uso indevido.
| Recurso | Descrição |
|---|---|
| Scanner de Portas | Varredura TCP multithread rápida com até 500 threads simultâneas |
| Detecção de Serviços | Banner grabbing e fingerprinting de 15+ serviços comuns |
| Mecanismo de Vulnerabilidades | Banco de dados CVE local com 40+ vulnerabilidades conhecidas |
| Sistema de Severidade | Classificações Crítica / Alta / Média / Baixa / Informativa com pontuações CVSS |
| Painel | Gráficos em tempo real mostrando distribuição de severidade, tendências e estatísticas |
| Histórico de Varreduras | Histórico com armazenamento em SQLite e persistência completa dos resultados |
| Relatórios PDF | Relatórios de avaliação profissionais gerados com ReportLab |
| Exportação CSV | Exporta o histórico de varreduras para CSV para análise posterior |
| Filtragem | Filtra por severidade, host, porta e serviço |
| Recomendações | Orientações de remediação acionáveis para cada achado |
| Agendamento | Agendador de varreduras recorrentes |

# 1. Navigate to the project directory
cd "VulnScan_Pro"
# 2. (Recommended) Create a virtual environment
python -m venv venv
venv\Scripts\activate # Windows
# source venv/bin/activate # Linux / macOS
# 3. Install dependencies
pip install -r requirements.txt
# 4. Launch the application
python main.py
192.168.1.1192.168.1.0/24192.168.1.1-254myserver.localOs resultados aparecem automaticamente na página Resultados após cada varredura.
Cada achado exibe:
Use a barra de filtros no topo da página de Resultados para filtrar por:
VulnScan_Pro/
├── main.py # Application entry point
├── requirements.txt
├── core/
│ ├── scanner.py # Multithreaded port scanner (QThread)
│ ├── service_detector.py # Banner grabbing & service fingerprinting
│ ├── vuln_engine.py # CVE matching engine
│ ├── risk_calculator.py # CVSS-weighted risk score
│ └── scheduler.py # Recurring scan scheduler
├── gui/
│ ├── main_window.py # Main window with sidebar navigation
│ ├── dashboard.py # Statistics dashboard with charts
│ ├── scan_page.py # Scan configuration & execution
│ ├── results_page.py # Findings browser with filtering
│ ├── history_page.py # Historical scan management
│ ├── reports_page.py # PDF report generation
│ ├── settings_page.py # Application preferences
│ └── widgets/
│ ├── stat_card.py # Metric summary card
│ ├── charts.py # DonutChart, BarChart, LineChart
│ └── severity_badge.py# Severity pill badge
├── database/
│ ├── db_manager.py # SQLite CRUD operations
│ └── vuln_db.py # Local vulnerability database (40+ CVEs)
├── reports/
│ └── pdf_generator.py # ReportLab PDF report builder
└── utils/
├── validators.py # Input validation
├── network_utils.py # Socket utilities
└── logger.py # Centralised logging
O banco de dados CVE local cobre serviços comuns, incluindo:
| Serviço | CVEs Cobertos |
|---|---|
| OpenSSH | CVE-2023-38408, CVE-2021-41617, CVE-2018-15473 |
| Apache HTTP | CVE-2021-41773, CVE-2021-42013, CVE-2021-40438, CVE-2022-22720 |
| Nginx | CVE-2021-23017, CVE-2022-41741 |
| MySQL | CVE-2023-21980, CVE-2022-21589 |
| PostgreSQL | CVE-2022-1552, CVE-2022-41862 |
| Redis | CVE-2021-32626, CVE-2022-24736 |
| vsftpd | CVE-2011-2523 (backdoor) |
| SMB | CVE-2017-0144 (EternalBlue) |
| RDP | CVE-2019-0708 (BlueKeep) |
| Telnet | Detecção de protocolo inseguro |
| FTP | Aviso de credenciais em texto claro |
Esta ferramenta foi criada para:
QThread usando ThreadPoolExecutor para sondagem paralela de portas. A interface gráfica nunca bloqueia.db_manager.py.