Analysis_Tools

Vulnerability Analysis and Enrichment Tools

Tools for processing CVE records and generating CPE Applicability Statements. Processes CVE data from MITRE and NVD APIs to create interactive HTML reports for CPE matching and configuration generation.

Overview

Understanding the Problem Space:

For comprehensive insight into the challenges this tool addresses, see CPE Automation Challenges.

Dashboard Quick Links:

CPE Applicability Generator

Processes CVE records to generate CPE Applicability Statements:

Documentation

Test Documentation

Examples

The complete collection of generated pages is maintained at Hashmire/cpeApplicabilityGeneratorPages.

To access a specific CVE analysis page, use the following URL pattern:

https://hashmire.github.io/cpeApplicabilityGeneratorPages/generated_pages/[CVE-ID].html

Note: Not all CVEs are currently present in the dataset.

Usage

Dataset Generation

# Traditional status-based generation
python generate_dataset.py --statuses "Received" "Awaiting Analysis"

# Generate dataset for CVEs modified in the last 30 days
python generate_dataset.py --last-days 30

# Generate dataset for specific date range
python generate_dataset.py --start-date 2024-01-01 --end-date 2024-01-31

All dataset outputs are isolated in run-specific directories under runs/[timestamp]_[context]/logs/.

Alias Mapping Report Generation

# Generate alias extraction report from default NVD-ish cache (standalone)
python -m src.analysis_tool.reporting.generate_alias_report

# Generate report for specific source by name or UUID
python -m src.analysis_tool.reporting.generate_alias_report \
    --source-filter "Microsoft Corporation"

# Generate report using existing run directory from dataset generation
python -m src.analysis_tool.reporting.generate_alias_report \
    --run-id 2025-12-01_10-30-00_dataset_last_7_days_nvd-ish

Reports are generated as per-source files in runs/[timestamp]_alias_report/logs/:

Source Data Concern Report Generation

# Generate SDC report from default NVD-ish cache (standalone)
python -m src.analysis_tool.reporting.generate_sdc_report

# Generate report using existing run directory from dataset generation
python -m src.analysis_tool.reporting.generate_sdc_report \
    --run-id 2025-12-01_10-30-00_dataset_last_7_days_nvd-ish

Reports are generated as per-source files in runs/[timestamp]_sdc_report/logs/: