Skip to content
Skillpedia
Security35k · #6051

performing-cve-prioritization-with-kev-catalog

Teaches your AI agent to research and fact-check information and protect apps against attacks.

What it does

This tool helps you prioritize which security vulnerabilities in your systems need fixing first. It uses information about which vulnerabilities are already being exploited by attackers and the likelihood of others being exploited.

When to use it

  • ✓When you have many vulnerabilities to fix and don't know where to start.
  • ✓When deciding the order of applying patches across systems.
  • ✓To build an automated system that prioritizes fixes.

Example of what to ask your AI

“Prioritize my vulnerabilities based on those already exploited and the risk of exploitation.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/performing-cve-prioritization-with-kev-catalog/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/performing-cve-prioritization-with-kev-catalog/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

It checks an official list of known exploited vulnerabilities (KEV) and combines this with the probability of exploitation (EPSS) and vulnerability severity (CVSS). This creates an ordered list of what to fix first.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill performing-cve-prioritization-with-kev-catalog

Or download just the file:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/performing-cve-prioritization-with-kev-catalog/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Performing CVE Prioritization with KEV Catalog

Overview

The CISA Known Exploited Vulnerabilities (KEV) catalog, established through Binding Operational Directive (BOD) 22-01, is a living list of CVEs that have been actively exploited in the wild and carry significant risk. As of early 2026, the catalog contains over 1,484 entries, growing 20% in 2025 alone with 245 new additions. This skill covers integrating the KEV catalog into vulnerability prioritization workflows alongside EPSS (Exploit Prediction Scoring System) and CVSS to create a risk-based approach that prioritizes vulnerabilities with confirmed exploitation activity over theoretical severity alone.

When to Use

  • When conducting security assessments that involve performing cve prioritization with kev catalog
  • When following incident response procedures for related security events
  • When performing scheduled security testing or auditing activities
  • When validating security controls through hands-on testing

Prerequisites

  • Access to vulnerability scan results (Qualys, Nessus, Rapid7, etc.)
  • Familiarity with CVE identifiers and NVD
  • Understanding of CVSS scoring (v3.1 and v4.0)
  • API access to CISA KEV, EPSS, and NVD endpoints
  • Python 3.8+ with requests and pandas libraries

Core Concepts

CISA KEV Catalog Structure

Each KEV entry contains:

  • CVE ID: The CVE identifier (e.g., CVE-2024-3094)
  • Vendor/Project: Affected vendor and product name
  • Vulnerability Name: Short description of the vulnerability
  • Date Added: When CISA added it to the catalog
  • Short Description: Brief technical description
  • Required Action: Recommended remediation action
  • Due Date: Deadline for federal agencies (FCEB) to remediate
  • Known Ransomware Campaign Use: Whether ransomware groups exploit it

BOD 22-01 Remediation Timelines

CVE Publication Date Remediation Deadline
2021 or later 2 weeks from KEV listing
Before 2021 6 months from KEV listing

Multi-Factor Prioritization Model

Factor Weight Data Source Rationale
CISA KEV Listed 30% CISA KEV JSON feed Confirmed active exploitation
EPSS Score 25% FIRST EPSS API Predicted exploitation probability
CVSS Base Score 20% NVD API v2.0 Intrinsic vulnerability severity
Asset Criticality 15% CMDB/Asset inventory Business impact context
Network Exposure 10% Network architecture Attack surface accessibility

KEV + EPSS Decision Matrix

KEV Listed EPSS > 0.5 CVSS >= 9.0 Priority SLA
Yes Any Any P1-Emergency 48 hours
No Yes Yes P1-Emergency 48 hours
No Yes No P2-Critical 7 days
No No Yes P2-Critical 7 days
No No No (>= 7.0) P3-High 14 days
No No No (>= 4.0) P4-Medium 30 days
No No No (< 4.0) P5-Low 90 days

Workflow

Step 1: Fetch and Parse the KEV Catalog

import requests
import json
from datetime import datetime

KEV_URL = "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json"

def fetch_kev_catalog():
    """Download and parse the CISA KEV catalog."""
    response = requests.get(KEV_URL, timeout=30)
    response.raise_for_status()
    data = response.json()

    catalog = {}
    for vuln in data.get("vulnerabilities", []):
        cve_id = vuln["cveID"]
        catalog[cve_id] = {
            "vendor": vuln.get("vendorProject", ""),
            "product": vuln.get("product", ""),
            "name": vuln.get("vulnerabilityName", ""),
            "date_added": vuln.get("dateAdded", ""),
            "description": vuln.get("shortDescription", ""),
            "action": vuln.get("requiredAction", ""),
            "due_date": vuln.get("dueDate", ""),
            "ransomware_use": vuln.get("knownRansomwareCampaignUse", "Unknown"),
        }

    print(f"[+] Loaded {len(catalog)} CVEs from CISA KEV catalog")
    print(f"    Catalog version: {data.get('catalogVersion', 'N/A')}")
    print(f"    Last updated: {data.get('dateReleased', 'N/A')}")
    return catalog

kev = fetch_kev_catalog()

Step 2: Enrich with EPSS Scores

EPSS_API = "https://api.first.org/data/v1/epss"

def get_epss_scores(cve_list):
    """Fetch EPSS scores for a batch of CVEs."""
    scores = {}
    batch_size = 100

…
FAQ

What is the CISA KEV catalog?

It's an official list of vulnerabilities that have been confirmed as actively exploited by attackers.

What is EPSS?

EPSS stands for Exploit Prediction Scoring System. It's a score that estimates the probability of a vulnerability being exploited in the near future.

What is CVSS?

CVSS stands for Common Vulnerability Scoring System. It's a standardized way to rate the severity of a vulnerability.

Details

Original description by the author

Fetch and parse the CISA Known Exploited Vulnerabilities (KEV) catalog, enrich it with EPSS scores and CVSS metrics, and build a multi-factor prioritization engine and report that ranks CVE remediation by real-world exploitation evidence and BOD 22-01 deadlines. Use when triaging a vulnerability backlog, deciding patch order across many CVEs, or building an automated KEV+EPSS prioritization workfl

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularity

GitHub stars
35k
Ranking position
#6051
License
Apache-2.0
Updated
8/31/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills