CVSS Score Extraction
Overview
CVSS (Common Vulnerability Scoring System) scores may come from multiple sources in Trivy output. Implement priority-based extraction with fallbacks.
Trivy CVSS Structure
json{ "CVSS": { "nvd": { "V3Score": 9.8, "V3Vector": "..." }, "ghsa": { "V3Score": 8.1, "V3Vector": "..." }, "redhat": { "V3Score": 7.5, "V3Vector": "..." } } }
Extraction Priority
- NVD (
nvd.V3Score) — preferred authoritative source - GHSA (
ghsa.V3Score) — GitHub Security Advisory - RedHat (
redhat.V3Score) — Red Hat security data - Fall back to empty string or "N/A" if no score available
Python Implementation
pythondef extract_cvss_score(cvss_data): """Extract CVSS v3 score with source priority: NVD > GHSA > RedHat.""" if not cvss_data: return "" for source in ["nvd", "ghsa", "redhat"]: source_data = cvss_data.get(source, {}) score = source_data.get("V3Score") if score is not None: return score return ""


