
⚡ Scanner de vulnérabilités professionnel — scan de ports, détection de CVE, score de risque & rapports PDF dans un tableau de bord PyQt6 sombre

Un scanner de vulnérabilités de cybersécurité professionnel construit avec Python 3.13 et PyQt6. Conçu pour les tests de sécurité autorisés, la recherche éducative et la cybersécurité défensive.
Cet outil doit être utilisé uniquement sur des systèmes que vous possédez ou pour lesquels vous avez une autorisation écrite explicite de test. Le balayage non autorisé de systèmes qui ne vous appartiennent pas est illégal dans la plupart des juridictions. Les auteurs déclinent toute responsabilité en cas d'utilisation abusive.

# 1. Accédez au répertoire du projet
cd "VulnScan_Pro"
# 2. (Recommandé) Créez un environnement virtuel
python -m venv venv
venv\Scripts\activate # Windows
# source venv/bin/activate # Linux / macOS
# 3. Installez les dépendances
pip install -r requirements.txt
# 4. Lancez l'application
python main.py
192.168.1.1192.168.1.0/24192.168.1.1-254myserver.localLes résultats apparaissent automatiquement dans la page Résultats après chaque analyse.
Chaque constatation affiche :
Utilisez la barre de filtrage en haut de la page Résultats pour filtrer par :
VulnScan_Pro/
├── main.py # Point d'entrée de l'application
├── requirements.txt
├── core/
│ ├── scanner.py # Scanner de ports multithread (QThread)
│ ├── service_detector.py # Récupération de bannières & empreinte de services
│ ├── vuln_engine.py # Moteur de correspondance CVE
│ ├── risk_calculator.py # Score de risque pondéré CVSS
│ └── scheduler.py # Planificateur d'analyses récurrentes
├── gui/
│ ├── main_window.py # Fenêtre principale avec navigation latérale
│ ├── dashboard.py # Tableau de bord des statistiques avec graphiques
│ ├── scan_page.py # Configuration et exécution des analyses
│ ├── results_page.py # Navigateur de constatations avec filtrage
│ ├── history_page.py # Gestion des analyses historiques
│ ├── reports_page.py # Génération de rapports PDF
│ ├── settings_page.py # Préférences de l'application
│ └── widgets/
│ ├── stat_card.py # Carte récapitulative des métriques
│ ├── charts.py # DonutChart, BarChart, LineChart
│ └── severity_badge.py# Badge de sévérité (pastille)
├── database/
│ ├── db_manager.py # Opérations CRUD SQLite
│ └── vuln_db.py # Base de données locale de vulnérabilités (40+ CVE)
├── reports/
│ └── pdf_generator.py # Constructeur de rapports PDF (ReportLab)
└── utils/
├── validators.py # Validation des entrées
├── network_utils.py # Utilitaires socket
└── logger.py # Journalisation centralisée
La base de données locale de CVE couvre les services courants, notamment :
Cet outil est conçu pour :
QThread utilisant ThreadPoolExecutor pour le sondage parallèle des ports. L'interface graphique ne se bloque jamais.db_manager.py.| Fonctionnalité | Description |
|---|
| Scanner de ports | Analyse TCP multithread rapide avec jusqu'à 500 threads simultanés |
| Détection de services | Récupération de bannières et empreinte digitale pour plus de 15 services courants |
| Moteur de vulnérabilités | Base de données locale de CVE avec plus de 40 vulnérabilités connues |
| Système de sévérité | Évaluations Critique / Élevée / Moyenne / Basse / Information avec scores CVSS |
| Tableau de bord | Graphiques en direct montrant la distribution des sévérités, les tendances et les statistiques |
| Historique des analyses | Historique basé sur SQLite avec persistance complète des résultats |
| Rapports PDF | Rapports d'évaluation professionnels générés par ReportLab |
| Export CSV | Export de l'historique des analyses en CSV pour une analyse plus poussée |
| Filtrage | Filtrage par sévérité, hôte, port et service |
| Recommandations | Conseils de correction exploitables pour chaque constatation |
| Planification | Planificateur d'analyses récurrentes |
| Service | CVE couvertes |
|---|
| 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 | Détection de protocole non sécurisé |
| FTP | Avertissement d'identifiants en clair |