
CVE intelligence pipeline that compares public CVEs against Nuclei templates to identify missing vulnerability coverage, classify types, and rank priorities.
A fast CLI tool for analyzing CVE coverage in Nuclei templates.
Nuclei CVE Analyzer takes a list of CVE IDs, scans a local Nuclei template repository, and determines which CVEs already have matching templates and which represent potential template coverage gaps.
Built for security researchers, vulnerability hunters, and Nuclei contributors who want a quick way to identify missing CVE coverage.
The project deliberately focuses on template coverage rather than external vulnerability scoring or enrichment services.
Input:
CVE-2021-44228
CVE-2021-45046
CVE-2022-26134
CVE-2023-21840
CVE-2023-22809
Example output:
CVE STATUS
CVE-2021-44228 FOUND
CVE-2021-45046 FOUND
CVE-2022-26134 FOUND
CVE-2023-21840 MISSING
CVE-2023-22809 MISSING
This makes it easy to spot CVEs that may be candidates for new Nuclei templates.
Clone the repository:
git clone https://github.com/YOUR_USERNAME/nuclei-cve-analyzer.git
cd nuclei-cve-analyzer
Create a virtual environment:
python3 -m venv .venv
source .venv/bin/activate
Install dependencies:
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 | Input file containing CVE IDs |
-n, --nuclei-path | Path to the Nuclei templates directory |
-c, --cve-path | Local CVE database directory |
-t, --threads | Number of analysis worker threads |
-o, --output | Combined JSON output file |
--scan-system | Search common system locations for CVE IDs |
-v, --verbose | Enable verbose logging |
--log-level | Set logging level |
The analyzer generates several reports inside the output directory.
Contains the complete analysis:
output/results_YYYYMMDD_HHMMSS.json
CVEs from the input set that have matching Nuclei templates:
output/found_cves.json
CVEs from the input set without matching templates:
output/missing_templates.json
All CVEs referenced by the scanned Nuclei templates:
output/used_cves.json
A focused list of CVEs currently missing templates:
output/priority_report.json
A spreadsheet-friendly version of the results:
output/results.csv
A typical workflow for identifying template gaps:
# 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
The analyzer then reports which CVEs are already covered and which ones do not currently have matching templates.
Identify CVEs that may need new detection templates.
Quickly compare vulnerability lists against existing Nuclei coverage.
Determine which vulnerabilities in a dataset can already be detected using Nuclei.
Use the generated JSON or CSV reports as input for other analysis pipelines.
This project is actively focused on CVE-to-Nuclei template coverage analysis.
The goal is to keep the tool lightweight, fast, and focused rather than turning it into a general-purpose vulnerability enrichment platform.
Planned improvements include:
Install dependencies with:
pip install -r requirements.txt
Contributions, bug reports, and improvements are welcome.
When submitting a pull request:
This project is intended for security research, vulnerability analysis, and authorized testing.
Use it only against systems, repositories, and datasets you are authorized to analyze.
Add your project license here.
Nuclei CVE Analyzer
CVE coverage analysis for Nuclei templates