| name | cvss-score-extraction |
| description | Extract CVSS (Common Vulnerability Scoring System) scores from vulnerability data sources with proper fallback handling. This skill covers understanding CVSS v3, handling multiple score sources (NVD, GHSA, RedHat), implementing source priority logic, and dealing with missing scores in security reporting. |
CVSS Score Extraction from Vulnerability Data
This skill provides guidance on extracting CVSS scores from vulnerability data—a critical component of security report generation.
Source Priority Strategy
When multiple sources provide scores, use a priority cascade:
NVD → GHSA → RedHat → N/A
Python Implementation
def get_cvss_score(vuln_data):
"""
Extract CVSS v3 score from vulnerability data.
Uses priority: NVD > GHSA > RedHat
Args:
vuln_data: Dictionary containing vulnerability information
Returns:
CVSS v3 score as float, or 'N/A' if not available
"""
cvss = vuln_data.get('CVSS', {})
if 'nvd' in cvss:
score = cvss['nvd'].get('V3Score')
if score is not None:
return score
if 'ghsa' in cvss:
score = cvss['ghsa'].get('V3Score')
if score is not None:
return score
if 'redhat' in cvss:
score = cvss['redhat'].get('V3Score')
if score is not None:
return score
return 'N/A'