Зачем нужен пайплайн

NVD публикует сотни CVE каждый день, и следить за ними вручную невозможно. Пайплайн автоматически собирает новые уязвимости из NVD API по расписанию, чистит и нормализует данные, дедуплицирует по cve_id и складывает в SQLite. Остаётся только фильтровать: критичность, даты, поиск по ID или описанию.

01

Автоматический сбор

Крон ежедневно в 09:00 тянет CVE за последние сутки + мгновенный прогон при старте контейнера.

02

Дедупликация

Записи с уже известным cve_id пропускаются — в базе каждая уязвимость только один раз.

03

Критичность

CVSS-баллы и severity (CRITICAL/HIGH/MEDIUM/LOW) берутся из NVD и нормализуются при загрузке.

04

Персистентность

SQLite-файл лежит на хосте (bind-mount) — данные переживают пересоздание контейнера.

Как это работает

01
NVD APIисточник
публичный фид CVE: описания, CVSS-метрики, CWE, ссылки
02
Collectorкод
запрос последних N дней, пагинация по API, парсинг записей
03
Cleanerкод
нормализация severity и баллов, отсев записей без данных
04
SQLiteкод
дедупликация по cve_id, хранение на хосте (bind-mount)
05
Крон09:00
ежедневный запуск пайплайна + при старте контейнера

Как пользоваться

  1. Выберите критичность кнопками или задайте диапазон дат / поиск по ID или описанию.
  2. Укажите лимит — сколько записей вывести за раз.
  3. Список отсортирован от новых к старым по дате публикации; кнопка «Загрузить ещё» подтягивает следующую порцию.

Лаборатория

критичность:
датаcveseveritycvssописание