Vulnerability csv reporting
Generate structured CSV security audit reports from vulnerability data with proper filtering and formatting. This skill covers CSV schema design for security reports, using Python csv.DictWriter, severity-based filtering, and field mapping from JSON to tabular format.From its SKILL.md
npx -y skills add cxcscmu/SkillLearnBench --skill vulnerability-csv-reportingAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
2.2 KB, 416 tokens by cl100k_base, as published. Nobody here has run it
Vulnerability CSV Report Generation
This skill provides guidance on generating structured CSV reports from vulnerability scan data.
CSV Schema Design
| Field | Type | Description |
|---|---|---|
| Package | String | Vulnerable package name |
| Version | String | Installed version |
| CVE_ID | String | Vulnerability identifier |
| Severity | Enum | Risk level |
| CVSS_Score | Float/String | Numeric severity score |
| Fixed_Version | String | Patched version |
| Title | String | Brief description |
| Url | String | Reference link |
Python CSV Generation
import csv
import json
def generate_report(json_input, csv_output, severity_filter=['HIGH', 'CRITICAL']):
with open(json_input, 'r') as f:
data = json.load(f)
headers = ["Package", "Version", "CVE_ID", "Severity", "CVSS_Score", "Fixed_Version", "Title", "Url"]
vulnerabilities = []
if 'Results' in data:
for result in data['Results']:
for vuln in result.get('Vulnerabilities', []):
severity = vuln.get('Severity', 'UNKNOWN')
if severity in severity_filter:
vulnerabilities.append({
"Package": vuln.get('PkgName'),
"Version": vuln.get('InstalledVersion'),
"CVE_ID": vuln.get('VulnerabilityID'),
"Severity": severity,
"CVSS_Score": get_cvss_score(vuln),
"Fixed_Version": vuln.get('FixedVersion', 'N/A'),
"Title": vuln.get('Title', 'No description'),
"Url": vuln.get('PrimaryURL', '')
})
with open(csv_output, 'w', newline='') as f:
writer = csv.DictWriter(f, fieldnames=headers)
writer.writeheader()
writer.writerows(vulnerabilities)
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.