Construire un agent de threat intelligence CVE : CISA KEV, NVD, EPSS et MITRE ATT&CK dans une seule API

Toutes les équipes de sécurité croulent sous les CVE. Le signal, ce n'est pas la sévérité — c'est de savoir si une vulnérabilité est exploitée et quelle est sa probabilité de l'être. Voici comment construire un agent qui fusionne NVD, CISA KEV, EPSS et ATT&CK pour répondre à « que dois-je corriger en premier ? »
L'essentiel
- •La sévérité CVSS seule surcompte : la plupart des CVE « critiques » ne sont jamais exploitées. Une vraie priorisation a besoin de CISA KEV (exploitées connues) + EPSS (probabilité d'exploitation) par-dessus.
- •Les quatre sources : NVD (enregistrements CVE + CVSS), CISA KEV (la liste de référence des vulnérabilités exploitées dans la nature), EPSS (score quotidien de probabilité d'exploitation de 0 à 1), MITRE ATT&CK (tactiques/techniques pour le contexte).
- •Cybersecurity Search d'API Pick enveloppe les quatre derrière un seul endpoint POST — 10 crédits par appel, au succès uniquement — de sorte que l'agent obtient une threat intelligence fusionnée sans quatre scrapers.
- •Le pattern de l'agent : récupérer la CVE, vérifier l'appartenance à KEV, lire le score EPSS, mapper vers les techniques ATT&CK, puis classer par exploitées d'abord, puis EPSS, puis CVSS.
- •C'est de la récupération, pas un scanner : il vous dit ce qui est connu et probable à propos d'une vulnérabilité, pour prioriser le tri humain — pas pour autoriser une action automatisée.
La sévérité est la mauvaise clé de tri
Un programme de gestion des vulnérabilités qui corrige selon le score CVSS est occupé et inefficace. La National Vulnerability Database recense des dizaines de milliers de CVE High et Critical ; l'écrasante majorité n'est jamais exploitée. Pendant ce temps, une "Medium" avec un exploit fonctionnel dans la nature traîne dans le backlog. La question à laquelle un agent de sécurité devrait répondre n'est pas "à quel point cela pourrait-il être grave" — c'est "que devrais-je corriger en premier, aujourd'hui."
Y répondre demande quatre sources de données fusionnées. Chacune est gratuite et publique ; chacune a son propre format et sa propre cadence de mise à jour.
Les quatre sources
NVD — enregistrements CVE
La National Vulnerability Database du NIST. La liste canonique des CVE avec vecteurs CVSS, produits affectés (CPE) et références. La couche de base "qu'est-ce que cette vulnérabilité". Force : faisant autorité et complète. Faiblesse : le CVSS seul surcompte la sévérité.
CISA KEV
Le catalogue Known Exploited Vulnerabilities — la liste de référence de la CISA des CVE confirmées comme exploitées dans la nature, avec des dates d'échéance de remédiation pour les agences fédérales américaines. Si une CVE est sur KEV, elle passe devant tout le monde. Force : le drapeau au plus fort signal de toute la gestion des vulnérabilités.
EPSS
L'Exploit Prediction Scoring System de FIRST.org : une probabilité quotidienne de 0 à 1 qu'une CVE soit exploitée dans les 30 prochains jours. Transforme "pourrait être exploitée" en "avec quelle probabilité". Force : un classement probabiliste qui colle au comportement réel des attaquants.
MITRE ATT&CK
La base de connaissances des tactiques et techniques adverses. Mappe une vulnérabilité à son rôle dans la kill-chain. Force : transforme une CVE en un récit opérationnel exploitable par vos détections et votre plan de réponse.
Un endpoint, du renseignement fusionné
Cybersecurity Search enveloppe NVD, CISA KEV, EPSS et MITRE ATT&CK derrière un seul endpoint POST — 10 crédits par appel, au succès uniquement. Passez un identifiant CVE ou une requête en langage naturel ; les résultats reviennent fusionnés et pré-formatés pour un LLM. Couplez-le avec Web Search pour les avis des éditeurs et Extract pour récupérer une page d'avis complète.
import httpx, os
API, HEADERS = "https://api.apipick.com/v1", {"x-api-key": os.environ["APIPICK_KEY"]}
def vuln_intel(query: str):
r = httpx.post(f"{API}/search/cybersecurity",
headers=HEADERS, json={"query": query})
r.raise_for_status()
return r.json()["results"]
# "what should I patch first across NVD + KEV + EPSS + ATT&CK?"
records = vuln_intel("actively exploited Apache and VMware vulnerabilities this month")
# Rank: KEV-listed first, then by EPSS, then CVSS. Feed the ranked,
# cited list to your LLM to summarize the worklist for an analyst.Build vs. buy
| Câbler soi-même | API Pick | |
|---|---|---|
| Sources | NVD + KEV + EPSS + ATT&CK, séparément | Les quatre, fusionnées |
| Formats | 4 schémas + CSV EPSS | 1 format JSON |
| Fraîcheur | Vous planifiez 4 synchros | Live à chaque appel |
| Prêt pour LLM | Vous normalisez chacune | Pré-formaté + URLs sources |
| Coût | Infra + maintenance | 10 crédits/appel, au succès uniquement |
Ce que vous pouvez construire
Au-delà d'un assistant de priorisation des correctifs : un agent de veille KEV quotidienne qui alerte quand une CVE de votre stack atterrit sur la liste des exploitées ; un bot de tri qui transforme un export de scanner en liste de travail classée et citée ; un copilote d'analyste qui explique en langage clair les implications ATT&CK d'une CVE. Même pattern — récupération fusionnée, classée par exploitées d'abord, synthétisée avec les sources attachées. Récupérez une clé gratuite (100 crédits, sans carte) et pointez votre agent dessus.
Questions fréquentes
Pourquoi la sévérité CVSS ne suffit-elle pas pour prioriser les correctifs ?
Parce que la sévérité mesure l'impact potentiel, pas la probabilité d'exploitation. Des dizaines de milliers de CVE sont notées High ou Critical, mais seule une petite fraction est un jour exploitée dans la nature. Si vous corrigez sur la seule base du CVSS, vous dépensez vos efforts sur des vulnérabilités que les attaquants ne touchent jamais tout en passant à côté de celle, notée Medium, qui est activement exploitée. L'approche moderne superpose CISA KEV (est-elle connue comme exploitée ?) et EPSS (quelle est la probabilité qu'elle le soit ?) au CVSS pour classer ce qui compte vraiment.
Qu'est-ce qu'EPSS et comment l'utiliser ?
EPSS (Exploit Prediction Scoring System), de FIRST.org, attribue à chaque CVE un score mis à jour quotidiennement de 0 à 1 estimant la probabilité qu'elle soit exploitée dans les 30 prochains jours. Une politique courante : corrigez immédiatement tout ce qui figure sur CISA KEV, puis tout ce qui a un EPSS supérieur à ~0,1 (ou votre seuil ajusté au risque), puis triez le reste par CVSS. Comme EPSS se met à jour chaque jour, un agent devrait le re-récupérer plutôt que de le mettre en cache.
Qu'apporte MITRE ATT&CK ?
Du contexte. ATT&CK cartographie les tactiques et techniques adverses (accès initial, élévation de privilèges, exfiltration, etc.). Relier une CVE aux techniques qui l'exploitent aide un analyste à comprendre l'implication dans la kill-chain — pas seulement « c'est exploitable » mais « cela permet un mouvement latéral », ce qui change la façon de prioriser et les détections à ajouter.
L'agent peut-il appliquer automatiquement des correctifs ou bloquer du trafic ?
Non — et vous ne devriez pas le câbler pour ça. C'est une couche de récupération de renseignement : elle fusionne ce qui est connu d'une vulnérabilité pour prioriser le tri humain. La remédiation automatisée a besoin de gestion du changement, de tests et d'un responsable humain. Utilisez l'agent pour produire une liste de travail classée et citée ; laissez votre pipeline de correctifs/SOAR et un ingénieur exécuter.
À quel point les données sont-elles à jour ?
NVD et CISA KEV se mettent à jour en continu à mesure que les CVE sont publiées et que l'exploitation est confirmée ; EPSS recalcule chaque jour. L'endpoint interroge des sources live, donc une exécution d'agent reflète l'état actuel. Pour une piste d'audit, stockez le score EPSS et le statut KEV avec un horodatage au moment de la décision.
APIs utilisées dans cet article
Sarah Choy est CEO d'API Pick. Elle écrit sur la création d'APIs prêtes pour la production destinées aux agents IA et aux workflows LLM.