Прощайте CSV и XML Как теперь работать с базой уязвимостей CVE

29 May, 2026

Если вы занимаетесь информационной безопасностью или DevSecOps, то наверняка ваши инструменты и скрипты так или иначе работают с базой данных уязвимостей CVE. Многие годы мы полагались на старые-добрые форматы вроде CSV или XML. Но, как говорится, всё течет, всё меняется. С середины 2024 года эти форматы официально ушли на покой.

Знакомая ситуация? Ваш самописный парсер внезапно перестал получать обновления, и вы остались без свежих данных об уязвимостях. Без паники! Сегодня мы разберем новый официальный источник данных — GitHub-репозиторий CVEProject/cvelistV5 — и посмотрим, почему переход на него — это не боль, а шаг в светлое будущее.

Что такое cvelistV5 и зачем он нужен?

Проще говоря, cvelistV5 — это официальный репозиторий и единственный поддерживаемый способ для скачивания полного списка CVE. Вместо набора разрозненных файлов в разных форматах, теперь у нас есть единый источник правды в виде Git-репозитория с данными в современном формате CVE JSON 5.x.

Этот репозиторий — не просто свалка файлов. Он обновляется каждые 7 минут напрямую из официальных API программы CVE. Это значит, что у вас всегда под рукой самые актуальные данные.

Основная аудитория проекта — это:

Реклама
  • Разработчики инструментов безопасности, которым нужен надежный источник данных.
  • DevSecOps-инженеры, автоматизирующие сканирование и анализ уязвимостей.
  • Исследователи безопасности, анализирующие тренды в мире киберугроз.

Ключевые изменения: не просто новый формат

Переход на cvelistV5 — это не только смена формата с XML на JSON. Это качественное изменение в том, как мы получаем и используем данные об уязвимостях.

1. Единый и структурированный формат JSON 5

На смену неудобным и громоздким форматам пришел CVE JSON 5.x. Это структурированный, легко читаемый и, что самое главное, машиночитаемый формат. Он позволяет не просто парсить описание, а работать с четко определенными полями: версии ПО, ссылки, метрики CVSS и многое другое.

2. Обогащение данных через "контейнеры"

Одно из самых крутых нововведений — это концепция контейнеров. Представьте, что каждая CVE-запись — это папка, в которую разные организации могут добавлять свои файлы с дополнительной информацией.

Что это дает на практике? Теперь запись об уязвимости может содержать несколько блоков:

  • CNA Container: Базовая информация от организации (CNA), которая изначально зарегистрировала уязвимость.
  • CVE Program Container: Дополнительные данные и ссылки от самой программы CVE.
  • ADP Containers: А вот это самое интересное. ADP (Authorized Data Publisher) — это доверенные партнеры, которые могут обогащать CVE-записи.

Яркий пример — CISA (Агентство по кибербезопасности и защите инфраструктуры США). Их контейнер CISA-ADP добавляет в записи критически важную информацию:

  • KEV (Known Exploited Vulnerabilities): Флаг, который показывает, используется ли эта уязвимость в реальных атаках "в дикой природе". Это помогает моментально приоритизировать самые опасные дыры.
  • SSVC (Stakeholder-Specific Vulnerability Categorization): Система оценки, помогающая понять, какие действия нужно предпринять (отследить, исправить, исправить немедленно).
  • "Vulnrichment": Обогащение данных. Если CNA не добавила метрики CVSS, тип уязвимости (CWE) или информацию о продукте (CPE), CISA может сделать это за нее.

Раньше, чтобы собрать всю эту информацию, приходилось обходить несколько разных сайтов и баз данных. Теперь все это может быть в одной JSON-записи.

3. Git как основной способ получения обновлений

Забудьте про скачивание многогигабайтных архивов по расписанию. Теперь самый простой и эффективный способ поддерживать локальную копию базы в актуальном состоянии — это git.

Вы просто клонируете репозиторий один раз:

git clone git@github.com:CVEProject/cvelistV5.git

А затем для получения всех свежих изменений достаточно выполнить одну команду:

git pull

Это идеальный сценарий для автоматизации. Ваш CI/CD пайплайн или скрипт анализа может выполнять git pull перед каждым запуском, гарантируя, что вы работаете с самыми последними данными.

Как получить данные: два пути

Репозиторий предлагает два официальных способа загрузки данных, подходящих под разные задачи.

1. Для автоматизации и частых обновлений: git

Как уже упоминалось, это самый быстрый и удобный способ. Он идеально подходит для разработчиков и систем, где актуальность данных критична. git pull скачивает только изменения, что экономит трафик и время.

2. Для редких или ручных загрузок: Releases

Если вам не нужны ежеминутные обновления или на вашей машине нет git, можно использовать раздел Releases в репозитории.

  • Ежедневные полные архивы: Каждый день в полночь по UTC формируется zip-архив со всеми CVE на текущий момент. Идеально, если вы обновляете свою базу раз в день или реже.
  • Ежечасные дельта-архивы: Если нужна большая частота, можно скачивать часовые "дельты" — архивы с изменениями за последний час.

На что обратить внимание?

Проект активно развивается, и команда честно указывает на известные проблемы. Например, на момент написания статьи существовали некоторые расхождения в датах публикации для записей, опубликованных MITRE в определенный период. Это говорит о прозрачности проекта и о том, что над качеством данных постоянно работают.

Важно помнить, что этот репозиторий — это кэш. Он не принимает Pull Request'ы. Если вы нашли ошибку в самой CVE-записи, сообщать о ней нужно через официальные формы CVE Program.

Выводы: стоит ли переходить?

Однозначно, да. И чем скорее, тем лучше. Репозиторий cvelistV5 — это не просто "еще один" источник данных, а новый стандарт де-факто для работы с уязвимостями.

Кому особенно стоит обратить внимание:

  • Всем, кто до сих пор парсит старые форматы (CSV, XML): Ваши скрипты уже не получают обновлений. Пора мигрировать.
  • Разработчикам security-сканеров и анализаторов: Интеграция с cvelistV5 через git позволит вашему инструменту быть максимально точным и быстрым.
  • DevSecOps-инженерам: Автоматизировать получение обогащенных данных (особенно KEV от CISA) — это огромный плюс для быстрой приоритизации исправлений.

Переход на cvelistV5 — это шаг от простого сбора данных к получению контекста. Знать, что уязвимость существует — это половина дела. Знать, что ее уже активно эксплуатируют — вот что действительно помогает принимать правильные решения.