Security Audit CSV Reporting

SkillFiles & storage

Generate structured CSV security audit reports from vulnerability data with proper filtering, formatting, and field mapping.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Security Audit CSV Reporting skill

What this skill tells your AI

The instructions your AI receives, as published by cxcscmu/skilllearnbench in skills/b1-one-shot-claude-haiku-4-5/dependency-vulnerability-check/security-audit-csv-reporting/SKILL.md and read by ahel’s review.

Overview

Converting vulnerability data into CSV format for audit trails, compliance reporting, and stakeholder communication.

CSV Schema

Standard security audit CSV columns:

Package,Version,CVE_ID,Severity,CVSS_Score,Fixed_Version,Title,Url

Field Definitions

ColumnTypeDescriptionExample
PackageStringPackage/library namelodash
VersionStringInstalled version4.17.20
CVE_IDStringCVE identifierCVE-2021-23337
SeverityStringHIGH or CRITICALHIGH
CVSS_ScoreFloat/StringCVSS v3 score (0-10)7.5 or N/A
Fixed_VersionStringVersion with fix or N/A4.17.21
TitleStringVulnerability title/descriptionPrototype Pollution
UrlStringReference URLhttps://nvd.nist.gov/vuln/detail/CVE-2021-23337

Implementation Pattern

import csv
import json
from typing import List, Dict

def generate_security_audit_csv(vulnerabilities: List[Dict], output_file: str):
    """
    Generate security audit CSV from vulnerability data.

    vulnerabilities: List of vulnerability dictionaries
    output_file: Path to output CSV file
    """

    fieldnames = ['Package', 'Version', 'CVE_ID', 'Severity',
                  'CVSS_Score', 'Fixed_Version', 'Title', 'Url']

    with open(output_file, 'w', newline='') as csvfile:
        writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
        writer.writeheader()

        for vuln in vulnerabilities:
            row = {
                'Package': vuln.get('package', 'N/A'),
                'Version': vuln.get('version', 'N/A'),
                'CVE_ID': vuln.get('cve_id', 'N/A'),
                'Severity': vuln.get('severity', 'N/A'),
                'CVSS_Score': vuln.get('cvss_score', 'N/A'),
                'Fixed_Version': vuln.get('fixed_version', 'N/A'),
                'Title': vuln.get('title', 'N/A'),
                'Url': vuln.get('url', 'N/A')
            }
            writer.writerow(row)

Filtering and Sorting

Filter by Severity

def filter_by_severity(vulnerabilities, severity_levels=['HIGH', 'CRITICAL']):
    """Filter vulnerabilities to only specified severity levels"""
    return [v for v in vulnerabilities if v.get('severity') in severity_levels]

Sort by Severity and CVSS

def sort_vulnerabilities(vulnerabilities):
    """Sort by severity (CRITICAL first) then by CVSS score (descending)"""

    severity_order = {'CRITICAL': 0, 'HIGH': 1}

    def sort_key(vuln):
        severity = severity_order.get(vuln.get('severity'), 2)
        # Handle N/A CVSS scores
        cvss = float(vuln.get('cvss_score', 0)) if vuln.get('cvss_score') != 'N/A' else 0
        return (severity, -cvss)

    return sorted(vulnerabilities, key=sort_key)

Data Cleaning

Sanitize CSV Fields

def sanitize_field(value):
    """Sanitize field for CSV output"""
    if value is None:
        return 'N/A'
    if isinstance(value, list):
        return '; '.join(str(v) for v in value)
    return str(value).strip()

def prepare_row(vuln_data):
    """Prepare vulnerability record for CSV output"""
    return {k: sanitize_field(v) for k, v in vuln_data.items()}

Usage

Use this skill when:

  • Converting vulnerability scan results to audit format
  • Creating compliance reports
  • Sharing findings with stakeholders
  • Building automated security audit pipelines
  • Archiving vulnerability data for historical tracking

Related Skills

  • trivy-vulnerability-scanning: Source of vulnerability data
  • cvss-score-extraction: Enriching data with CVSS scores

Signals

GitHub stars
83
Forks
5
Last commit
Jul 2026
Advanced
Catalog kind
skill
Gateway key
security-audit-csv-reporting
Source
github.com/cxcscmu/skilllearnbench