rubezh («Рубеж») — сканер уязвимостей на базе форка Trivy с поддержкой Банка данных угроз безопасности информации (БДУ) ФСТЭК России как источника данных об уязвимостях.
Этот репозиторий (
dato-dev/rubezh) — дом проекта: утилитаbdu-import(импортёр выгрузки БДУ) и документация. Сам бинарник сканераrubezhсобирается из форкаdato-dev/trivy(+dato-dev/trivy-db). «Trivy» — торговая марка Aqua Security; форк использует upstream-код под Apache-2.0, но поставляется под собственным брендом.
Цель — сканировать контейнерные образы, файловые системы и Kubernetes-кластеры так же,
как это делает Trivy, но дополнительно сопоставлять находки с идентификаторами
BDU:YYYY-NNNNN, оценками и уровнями опасности ФСТЭК. Это закрывает требования
российской регуляторики (импортозамещение, аттестация по требованиям ФСТЭК) и позволяет
включать идентификаторы БДУ прямо в отчёты.
Проект вырос из инструмента ksreport — генератора PDF/XLSX/HTML-отчётов по результатам сканирования кластеров через kubescape (под капотом которого работают Trivy и grype). Обогащённый вывод этого форка потребляется ksreport.
Официальная выгрузка: https://bdu.fstec.ru/files/documents/vulxml.zip — один XML-файл
(vulxml.xml, ~560 МБ в распакованном виде, UTF-8).
Характеристики дампа (по состоянию на выгрузку 2026-07):
| Параметр | Значение |
|---|---|
| Всего записей | ~89 987 |
| Записей с перекрёстной ссылкой на CVE | ~87 234 (96%) |
| Формат affected-софта | vendor / name / version свободным текстом (не CPE) |
| Диапазоны версий | естественный язык: «от X до Y включительно», «до X», «X и ниже» |
| CVSS | версия 2.0 во всех записях (метрика Au:), поле score |
| Уровень опасности | текстом: «Критический / Высокий / Средний / Низкий уровень опасности» |
<vul>
<identifier>BDU:2024-00001</identifier>
<name>Уязвимость ...</name>
<description>...</description>
<vulnerable_software>
<soft>
<name>FortiSwitch</name>
<vendor>Fortinet Inc.</vendor>
<version>от 6.4.0 до 6.4.10 включительно</version>
<platform>...</platform>
</soft>
<!-- часто несколько <soft> на запись -->
</vulnerable_software>
<cwes><cwe><identifier>CWE-259</identifier>...</cwe></cwes>
<cvss><vector score="9.7">AV:N/AC:L/Au:N/C:C/I:P/A:C</vector></cvss>
<severity>Высокий уровень опасности (базовая оценка CVSS 2.0 составляет 9.7)</severity>
<identifiers>
<identifier type="CVE" link="...">CVE-2011-4859</identifier>
</identifiers>
<identify_date>...</identify_date>
<publication_date>...</publication_date>
<last_upd_date>...</last_upd_date>
<sources>...</sources>
</vul>Поскольку 96% записей БДУ содержат CVE-ссылку, а affected-софт задан свободным текстом (без CPE и структурированных диапазонов), интеграция идёт в две фазы:
- Фаза A — обогащение (enrichment). Trivy детектирует уязвимости как обычно (по CVE),
а форк добавляет к каждой находке идентификатор БДУ, уровень опасности и CVSS 2.0 ФСТЭК
через маппинг
CVE → BDU. Даёт ~96% ценности при минимальных изменениях в матчинге. - Фаза B — источник детекта. БДУ как полноценный advisory-source: парсинг русскоязычных диапазонов версий, сопоставление vendor/product с пакетными экосистемами, поддержка BDU-only уязвимостей (~4% без CVE).
Подробности — в ROADMAP.md.
🚧 Ранняя стадия. Ведётся проектирование и скаффолдинг фазы A.
Проект состоит из трёх репозиториев:
dato-dev/rubezh/ # этот репо — дом проекта
├── cmd/bdu-import/ # парсер vulxml.xml → нормализованный JSONL
├── pkg/bdu/ # модель данных БДУ, нормализация
├── README.md, ROADMAP.md
dato-dev/trivy # форк aquasecurity/trivy — бинарник сканера rubezh
dato-dev/trivy-db # форк aquasecurity/trivy-db — источник fstec-bdu (bucket CVE→BDU)
Trivy распространяется под Apache-2.0. Форк наследует ту же лицензию; изменения, связанные с БДУ, — под Apache-2.0.