Guide · 1 Verified source

Get a signed webhook when CISA adds a Known Exploited Vulnerability

Monitor CISA's Known Exploited Vulnerabilities catalog as one record per CVE and send each addition, or a changed due date or ransomware flag, to your own endpoint as a signed, verifiable webhook.

Start with CISA Known Exploited Vulnerabilities catalogREST API, CLI and MCP

The problem

CISA's Known Exploited Vulnerabilities (KEV) catalog lists vulnerabilities CISA has confirmed are being exploited in the wild. U.S. federal civilian agencies must remediate them under Binding Operational Directive 22-01, and the catalog changes whenever CISA adds or amends an entry, typically several times a week. It is published as one large JSON file; what a security team needs is the difference since yesterday, delivered somewhere a ticket or patch job can start from it.

This guide monitors the whole catalog as one record per CVE and sends every change to your own HTTPS endpoint as a signed webhook.

What the source contains

CISA Known Exploited Vulnerabilities catalog · Cybersecurity and Infrastructure Security Agency

Every CVE in CISA's Known Exploited Vulnerabilities catalog as structured records: vendor, product, vulnerability name, date added, short description, required action, due date, known ransomware use and CWE identifiers. Monitors additions and later edits to any entry.

11 typed fields · 1,739 records in SourceFinch's latest run on October 12, 2026 · publisher updates: whenever CISA adds or amends an entry, typically several times a week · full source page

FieldTypeDescriptionSample value
cve_idkeystringCVE identifier of the vulnerability (for example CVE-2021-44228), unique per catalog entry. The record key.CVE-2015-5477
vendorstringVendor or project that owns the affected product, as named by CISA.ISC
productstringAffected product; "Multiple Products" when the weakness spans a vendor's range.BIND
vulnerability_namestringCISA's name for the vulnerability, usually vendor, product and weakness type. ISC BIND Data Processing Errors Vulnerability
date_addeddateDate CISA added the entry to the catalog (YYYY-MM-DD).2026-10-08
short_descriptionstring, nullableOne-paragraph description of the vulnerability and its impact.ISC BIND contains a data processing errors vulnerability that could allow remote attackers to cause a denial of service via TKEY queries.
required_actionstring, nullableRemediation CISA requires of federal civilian agencies, typically applying vendor mitigations or discontinuing the product.Apply mitigations in accordance with vendor instructions, ensuring compliance with CISA’s BOD 26-04 Prioritizing Security Updates Based on Risk (see URL in Notes) guidance and CISA’s “Forensics Triage Requirements” (see URL in Notes). Follow applicable BOD 26-04 guidance for cloud services or discontinue use of the product if mitigations are unavailable. Stakeholders are responsible for evaluating each asset's internet exposure and ensuring adherence to BOD 26-04 patching guidelines.
due_datedate, nullableDate by which federal civilian agencies must complete the required action (YYYY-MM-DD).2026-10-11
known_ransomware_usestring, nullableWhether CISA knows the vulnerability to be used in ransomware campaigns: Known or Unknown.Unknown
notesstring, nullableReference links and remarks published with the entry; the linked pages are not fetched.This vulnerability could affect an open-source component, third-party library, protocol, or proprietary implementation that could be used by different products. For more information, please see: https://web.archive.org/web/20150729014733/https://kb.isc.org/article/AA-01272 ; https://access.redhat.com/errata/RHSA-2015:1513.html; https://supportportal.juniper.net/s/article/2016-01-Security-Bulletin-Junos-Vulnerability-in-ISC-BIND-named-CVE-2015-5477 ; BOD 26-04: https://www.cisa.gov/news-events/directives/bod-26-04-prioritizing-security-updates-based-risk ; Forensics Triage Requirements: https://www.cisa.gov/news-events/directives/bod-26-04-implementation-guidance-prioritizing-security-updates-based-risk ; https://nvd.nist.gov/vuln/detail/CVE-2015-5477
cwesstring, nullableCommon Weakness Enumeration identifiers for the entry, as the JSON array string published by CISA (for example ["CWE-787"]).["CWE-19"]

What a change means

  • A new cve_id: CISA added a vulnerability. date_added says when, and due_date the remediation date set for federal agencies.
  • A change to required_action, due_date, short_description or known_ransomware_use on a CVE already in the catalog.
  • A removed record. CISA does not remove entries from the catalog, so a record leaving the set is itself worth a look.

Set it up in the console

  1. Open the Verified recipe. Open the CISA Known Exploited Vulnerabilities catalog recipe in the console. It keeps the reviewed URL, fields and record key (cve_id), and shows the latest captured sample. Open in the console
  2. Create the monitor. Name the monitor, keep the daily schedule or pick another (the console shows the monthly run cost), confirm that you have the right to monitor the source, and choose Create monitor.
  3. Run the baseline. The first run is the baseline: every record is new. From the second run on, the monitor reports what was added, changed or removed, field by field, with the evidence behind each value.
  4. Choose how you hear about changes. In Alerts, choose immediate change emails or a daily or weekly digest; each monitor can override that on its own page. For your own systems, add a signed webhook in Destinations. Alerts and team
  5. Add a webhook destination. In Destinations, add a webhook with your HTTPS endpoint, choose to send Changes (added, changed and removed records) and select this monitor. Copy the signing secret when it is shown: it is shown once. Open Destinations
  6. Verify every delivery. Deliveries are signed under Standard Webhooks (webhook-id, webhook-timestamp and webhook-signature headers) and retried for 24 hours. Check the signature with your secret, reject stale timestamps and deduplicate on the payload's idempotency_key. Verifying webhooks with the SDK

The same through the REST API, CLI or MCP

Every surface creates the same monitor from the same Verified recipe. You confirm you have the right to collect the source (rights: true).

CISA Known Exploited Vulnerabilities catalog

REST API

Create an API key under Console → API & access. Reference: /docs/api.

# the Verified entry (fields, recipe, sample, terms) as JSON
curl https://sourcefinch.com/v1/catalog/cisa-known-exploited-vulnerabilities -H "Authorization: Bearer $SOURCEFINCH_API_KEY"

# create the monitor from source.json (below)
curl -X POST https://sourcefinch.com/v1/sources \
  -H "Authorization: Bearer $SOURCEFINCH_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d @source.json

# then run it now (later runs follow the schedule)
curl -X POST https://sourcefinch.com/v1/sources/$SOURCE_ID/runs \
  -H "Authorization: Bearer $SOURCEFINCH_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"

CLI

The sourcefinch CLI is not on npm yet; see /docs/cli.

sourcefinch login
sourcefinch catalog get cisa-known-exploited-vulnerabilities --source-json > source.json
sourcefinch sources create --file source.json
sourcefinch runs create $SOURCE_ID --wait
sourcefinch records $SOURCE_ID

MCP

Remote MCP server with OAuth; see /docs/mcp.

claude mcp add --transport http sourcefinch https://sourcefinch.com/mcp

# then ask your agent:
"Use SourceFinch to monitor CISA Known Exploited Vulnerabilities catalog: get_catalog_source cisa-known-exploited-vulnerabilities,
then create_source with its create_source_args (dry run first), then run_source."

source.json

The request body the API and CLI examples send.

{
  "name": "CISA Known Exploited Vulnerabilities catalog",
  "url": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json",
  "recipe": {
    "mode": "http",
    "format": "json",
    "items": "vulnerabilities[*]",
    "fields": {
      "cwes": "cwes",
      "notes": "notes",
      "cve_id": "cveID",
      "vendor": "vendorProject",
      "product": "product",
      "due_date": "dueDate",
      "date_added": "dateAdded",
      "required_action": "requiredAction",
      "short_description": "shortDescription",
      "vulnerability_name": "vulnerabilityName",
      "known_ransomware_use": "knownRansomwareCampaignUse"
    },
    "required": [
      "cve_id",
      "vendor",
      "product",
      "vulnerability_name",
      "date_added"
    ],
    "types": {
      "cwes": "string",
      "due_date": "date",
      "date_added": "date"
    }
  },
  "key_field": "cve_id",
  "schedule": "daily",
  "rights": true,
  "catalog": {
    "slug": "cisa-known-exploited-vulnerabilities",
    "version_id": "bbd80253-b0dd-46bd-a6f8-9f3d7b2a222c"
  }
}

Alerts and evidence

A webhook suits this task: each delivery carries the changed records with links to the evidence they were read from, so the receiving system can cite the exact capture. Email alerts can run alongside it.

Every run keeps the publisher's exact response with its SHA-256 hash and a signed manifest, and every value points back to where it was read. How that works is in the docs:

Limitations

  • Each run downloads the whole catalog file (about 1.8 MB at review), so the default daily schedule fits how often KEV changes.
  • Third-party links in the notes field are carried as text and are never fetched.
  • The records describe software products and weaknesses. Matching them to your own systems is up to you.

Usage rights, terms posture and reliability for each source are on its source page. They are our documented understanding of each publisher's stated terms, not legal advice.

Related

SourceFinch is independent and is not affiliated with or endorsed by Cybersecurity and Infrastructure Security Agency. This guide describes their public data as SourceFinch acquires it. It is not legal, medical or financial advice.