Строим агента CVE и аналитики уязвимостей: CISA KEV, NVD, EPSS и MITRE ATT&CK в одном API

Любая команда безопасности тонет в CVE. Сигнал — не серьёзность, а то, эксплуатируется ли уязвимость и насколько это вероятно. Вот как построить агента, который сплавляет NVD, CISA KEV, EPSS и ATT&CK, чтобы ответить на вопрос «что патчить в первую очередь?»
Кратко
- •Один лишь рейтинг серьёзности CVSS переоценивает: большинство «критичных» CVE никогда не эксплуатируются. Реальной приоритизации нужны CISA KEV (известно-эксплуатируемые) + EPSS (вероятность эксплуатации) поверх него.
- •Четыре источника: NVD (записи CVE + CVSS), CISA KEV (авторитетный список эксплуатируемых в дикой природе), EPSS (ежедневная оценка вероятности эксплуатации 0–1), MITRE ATT&CK (тактики/техники для контекста).
- •Cybersecurity Search в API Pick оборачивает все четыре за одним POST-эндпоинтом — 10 кредитов за вызов, только за успех — так что агент получает сплавленную аналитику уязвимостей без четырёх скрейперов.
- •Паттерн агента: подтянуть CVE, проверить наличие в KEV, прочитать оценку EPSS, сопоставить с техниками ATT&CK, затем ранжировать сначала по эксплуатируемости, потом по EPSS, потом по CVSS.
- •Это retrieval, а не сканер: он говорит, что известно и насколько вероятно по уязвимости, чтобы приоритизировать человеческую триаж-обработку — а не чтобы авторизовать автоматическое действие.
Серьёзность — неправильный ключ сортировки
Программа управления уязвимостями, которая патчит по оценке CVSS, занята и неэффективна. National Vulnerability Database перечисляет десятки тысяч High и Critical CVE; подавляющее большинство никогда не эксплуатируется. Тем временем "Medium" с рабочим эксплойтом в дикой природе лежит в бэклоге. Вопрос, на который должен отвечать агент по безопасности, — не "насколько плохо это могло бы быть", а "что мне патчить в первую очередь, сегодня".
Ответ на это требует сплавить вместе четыре источника данных. Каждый бесплатен и публичен; у каждого свой формат и ритм обновления.
Четыре источника
NVD — записи CVE
National Vulnerability Database от NIST. Канонический список CVE с векторами CVSS, затронутыми продуктами (CPE) и ссылками. Базовый слой «что это за уязвимость». Сила: авторитетна и полна. Слабость: один лишь CVSS переоценивает серьёзность.
CISA KEV
Каталог Known Exploited Vulnerabilities — авторитетный список CISA из CVE, подтверждённо эксплуатируемых в дикой природе, со сроками устранения для федеральных агентств США. Если CVE в KEV, он прыгает в начало очереди. Сила: самый высокосигнальный флаг в управлении уязвимостями.
EPSS
Exploit Prediction Scoring System от FIRST.org: ежедневная вероятность 0–1 того, что CVE будет проэксплуатирован в ближайшие 30 дней. Превращает «может быть проэксплуатирован» в «насколько вероятно». Сила: вероятностное ранжирование, которое отображает реальное поведение атакующих.
MITRE ATT&CK
База знаний о тактиках и техниках противника. Сопоставляет уязвимости с её ролью в kill-chain. Сила: превращает CVE в операционную историю, которую могут использовать ваши детекты и план реагирования.
Один эндпоинт, сплавленная аналитика
Cybersecurity Search оборачивает NVD, CISA KEV, EPSS и MITRE ATT&CK за одним POST-эндпоинтом — 10 кредитов за вызов, только за успех. Передайте ID CVE или запрос на естественном языке; результаты возвращаются сплавленными и заранее подготовленными под LLM. Сочетайте с Web Search для вендорских бюллетеней и Extract, чтобы подтянуть полную страницу бюллетеня.
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
| Завязать самому | API Pick | |
|---|---|---|
| Источники | NVD + KEV + EPSS + ATT&CK, по отдельности | Все четыре, сплавлены |
| Форматы | 4 схемы + CSV EPSS | 1 формат JSON |
| Свежесть | Вы планируете 4 синхронизации | Живые при каждом вызове |
| Готовность к LLM | Каждый нормализуете сами | Готовые + URL источников |
| Стоимость | Инфраструктура + сопровождение | 10 кредитов/вызов, только за успех |
Что можно построить
Помимо ассистента приоритизации патчей: ежедневный агент-наблюдатель за KEV, который оповещает, когда CVE из вашего стека попадает в список эксплуатируемых; триаж-бот, превращающий выгрузку сканера в ранжированный список работ с цитатами; копайлот аналитика, объясняющий последствия CVE по ATT&CK простым языком. Тот же паттерн — сплавленное извлечение, ранжирование сначала по эксплуатируемости, синтез с приложенными источниками. Возьмите бесплатный ключ (100 кредитов, без карты) и направьте на него своего агента.
Часто задаваемые вопросы
Почему серьёзности CVSS недостаточно для приоритизации патчей?
Потому что серьёзность измеряет потенциальное воздействие, а не вероятность эксплуатации. Десятки тысяч CVE имеют рейтинг High или Critical, но лишь малая доля когда-либо эксплуатируется в дикой природе. Если патчить только по CVSS, вы тратите силы на уязвимости, к которым атакующие никогда не прикасаются, и упускаете ту со средним рейтингом, что активно эксплуатируется прямо сейчас. Современный подход наслаивает CISA KEV (известно ли, что эксплуатируется?) и EPSS (какова вероятность, что будет?) поверх CVSS, чтобы ранжировать то, что реально важно.
Что такое EPSS и как его использовать?
EPSS (Exploit Prediction Scoring System) от FIRST.org даёт каждому CVE обновляемую ежедневно оценку от 0 до 1, оценивающую вероятность того, что он будет проэксплуатирован в ближайшие 30 дней. Распространённая политика: немедленно патчить всё из CISA KEV, затем всё с EPSS выше ~0.1 (или вашего настроенного по риску порога), затем разбирать остальное по CVSS. Поскольку EPSS обновляется ежедневно, агент должен перетягивать его, а не кэшировать.
Что добавляет MITRE ATT&CK?
Контекст. ATT&CK сопоставляет тактики и техники противника (первичный доступ, повышение привилегий, эксфильтрация и т. д.). Привязка CVE к техникам, которые его эксплуатируют, помогает аналитику понять последствие для kill-chain — не просто «это эксплуатируемо», а «это открывает горизонтальное перемещение», что меняет приоритизацию и то, какие детекты вы добавляете.
Может ли агент автоматически накатывать патчи или блокировать трафик?
Нет — и не стоит его на это завязывать. Это слой извлечения аналитики: он сплавляет то, что известно об уязвимости, чтобы приоритизировать человеческую триаж-обработку. Автоматическому устранению нужны change control, тестирование и человек-владелец. Используйте агента, чтобы выдать ранжированный список работ с цитатами; пусть ваш патч/SOAR-конвейер и инженер выполняют действие.
Насколько свежие данные?
NVD и CISA KEV обновляются непрерывно по мере публикации CVE и подтверждения эксплуатации; EPSS пересчитывается ежедневно. Эндпоинт запрашивает живые источники, поэтому прогон агента отражает текущее состояние. Для аудиторского следа сохраняйте оценку EPSS и статус KEV с меткой времени на момент принятия решения.
API, использованные в статье
Сара Чой — CEO API Pick. Пишет о продакшен-готовых API для AI-агентов и LLM-воркфлоу.