
Pipeline de renseignement sur les CVE qui compare les CVE publiques aux modèles Nuclei afin d'identifier les lacunes de couverture des vulnérabilités, de classer les types et de hiérarchiser les priorités.
Un outil CLI rapide pour analyser la couverture des CVE dans les templates Nuclei.
Nuclei CVE Analyzer prend une liste d'identifiants CVE, analyse un dépôt local de templates Nuclei et détermine quels CVE disposent déjà de templates correspondants et lesquels représentent des lacunes potentielles de couverture par les templates.
Conçu pour les chercheurs en sécurité, les chasseurs de vulnérabilités et les contributeurs de Nuclei qui souhaitent identifier rapidement les CVE non couverts.
Le projet se concentre délibérément sur la couverture des templates plutôt que sur des services externes de notation ou d'enrichissement des vulnérabilités.
Entrée :
CVE-2021-44228
CVE-2021-45046
CVE-2022-26134
CVE-2023-21840
CVE-2023-22809
Exemple de sortie :
CVE STATUS
CVE-2021-44228 FOUND
CVE-2021-45046 FOUND
CVE-2022-26134 FOUND
CVE-2023-21840 MISSING
CVE-2023-22809 MISSING
Cela facilite le repérage des CVE qui pourraient être candidates à de nouveaux templates Nuclei.
Clonez le dépôt :
git clone https://github.com/YOUR_USERNAME/nuclei-cve-analyzer.git
cd nuclei-cve-analyzer
Créez un environnement virtuel :
python3 -m venv .venv
source .venv/bin/activate
Installez les dépendances :
pip install -r requirements.txt
python3 nuclei_analyzer.py \
-f example_cves.txt \
-n /path/to/nuclei-templates
python3 nuclei_analyzer.py \
-f example_cves.txt \
-t 16 \
-n /path/to/nuclei-templates
python3 nuclei_analyzer.py \
-f example_cves.txt \
-t 16 \
-o output/results.json \
-n /path/to/nuclei-templates
python3 nuclei_analyzer.py \
--scan-system \
-n /path/to/nuclei-templates
python3 nuclei_analyzer.py --help
| Argument | Description |
|---|---|
-f, --file | Fichier d'entrée contenant les identifiants CVE |
-n, --nuclei-path | Chemin vers le répertoire des templates Nuclei |
-c, --cve-path | Répertoire de la base de données CVE locale |
-t, --threads | Nombre de threads de travail d'analyse |
-o, --output | Fichier de sortie JSON combiné |
--scan-system | Rechercher les identifiants CVE dans les emplacements système courants |
-v, --verbose | Activer la journalisation détaillée |
--log-level | Définir le niveau de journalisation |
L'analyseur génère plusieurs rapports dans le répertoire de sortie.
Contient l'analyse complète :
output/results_YYYYMMDD_HHMMSS.json
CVE de l'ensemble d'entrée pour lesquelles des templates Nuclei correspondants existent :
output/found_cves.json
CVE de l'ensemble d'entrée sans modèles correspondants :
output/missing_templates.json
Toutes les CVE référencées par les modèles Nuclei analysés :
output/used_cves.json
Une liste ciblée de CVE actuellement dépourvues de templates :
output/priority_report.json
Une version des résultats adaptée aux tableurs :
output/results.csv
Un flux de travail typique pour identifier les lacunes de modèles :
# Prepare a list of CVEs
cat example_cves.txt
# Scan the Nuclei repository
python3 nuclei_analyzer.py \
-f example_cves.txt \
-t 16 \
-n ~/nuclei-templates
L'analyseur indique ensuite quels CVE sont déjà couverts et lesquels ne disposent pas actuellement de templates correspondants.
Identifier les CVE qui pourraient nécessiter de nouveaux templates de détection.
Comparer rapidement des listes de vulnérabilités avec la couverture Nuclei existante.
Déterminer quelles vulnérabilités d'un jeu de données peuvent déjà être détectées à l'aide de Nuclei.
Utiliser les rapports JSON ou CSV générés comme entrée pour d'autres pipelines d'analyse.
Ce projet est activement axé sur l'analyse de la couverture des templates CVE vers Nuclei.
L'objectif est de maintenir l'outil léger, rapide et ciblé plutôt que de le transformer en une plateforme d'enrichissement de vulnérabilités à usage général.
Les améliorations prévues incluent :
Installez les dépendances avec :
pip install -r requirements.txt
Les contributions, les rapports de bogues et les améliorations sont les bienvenus.
Lors de la soumission d'une pull request :
Ce projet est destiné à la recherche en sécurité, à l'analyse de vulnérabilités et aux tests autorisés.
Utilisez-le uniquement contre des systèmes, des dépôts et des jeux de données que vous êtes autorisé à analyser.
Ajoutez ici la licence de votre projet.
Nuclei CVE Analyzer
Analyse de la couverture CVE pour les templates Nuclei