Как читать авторский курс и нормативные материалы
Это учебные материалы, а не заключение о соответствии конкретного продукта. Организационные модели курса отделяйте от терминов стандарта: ППК в опубликованном проекте — машиночитаемый перечень, а живой реестр его версий является практикой сопровождения. Термин OSA в разных материалах имеет разный охват. Статус и обязательность нормативного документа проверяются отдельно; проект КАПО опубликован как проект первой редакции.
Trivy
Для чего
Trivy — комбайн «два в одном»: он и генерирует SBOM (инвентаризация пакетов образа, ФС, git-репозитория), и сам сканирует найденное на уязвимости, лицензии, секреты и ошибки конфигурации. В контексте генерации SBOM важно именно то, что один проход даёт и список компонентов в CycloneDX/SPDX, и привязку находок к нему.
Как применяют
Генерация SBOM и отдельный прогон сканера поверх уже готового SBOM:
trivy image --format cyclonedx --output sbom.cdx.json registry.example.org/app:1.4.2
trivy sbom --format json --output findings.json sbom.cdx.json
В режиме image Trivy раскладывает образ по слоям и определяет ОС-пакеты (apk/deb/rpm) и пакеты приложений; в режиме sbom он не пересканирует артефакт, а берёт координаты прямо из переданного документа.
| Режим | Команда | Что делает |
|---|---|---|
| Генерация SBOM | trivy image --format cyclonedx ... |
инвентаризация образа → CycloneDX/SPDX |
| Сканирование артефакта | trivy image registry.example.org/app:1.4.2 |
сам инвентаризирует и сразу ищет уязвимости |
| Сканирование готового SBOM | trivy sbom sbom.cdx.json |
берёт координаты из документа, не пересканирует |
Два инструмента в одном Trivy совмещает роли генератора и сканера. В схеме «генератор отдельно, сканер отдельно» используйте
trivy sbomповерх документа от Syft/cdxgen, чтобы не смешивать инвентаризацию и поиск уязвимостей в одном непрозрачном проходе.
Сильные стороны
- Единый бинарь закрывает и инвентаризацию, и сканирование — меньше склейки в пайплайне.
- Хорошее покрытие ОС-дистрибутивов и точная привязка уязвимостей к версиям ОС-пакетов через собственную БД advisory.
- Умеет сканировать ранее сгенерированный SBOM (
trivy sbom), то есть встраивается в схему «генератор отдельно, сканер отдельно». - Экспорт в CycloneDX и SPDX, интеграция в CI с управляемым кодом выхода.
Ограничения
- Для C/C++ и статически слинкованных бинарей видимость ограничена, как и у других генераторов по образу.
- Качество находок зависит от свежести БД advisory; в закрытом контуре её нужно регулярно обновлять вручную.
- SBOM от Trivy менее детален по графу зависимостей, чем у cdxgen — это скорее плоский список с уязвимостями.
Offline / on-premise
Свежесть БД — отдельная задача В закрытом контуре база advisory не обновляется сама. Устаревшая БД даёт ложное «чисто»: новые CVE просто не появятся в выводе. Нужен регламент регулярной выгрузки vuln DB во внутреннее OCI-зеркало (
TRIVY_DB_REPOSITORY).
Работает в закрытом контуре с оговоркой: базы данных (vuln DB, java-index) скачиваются заранее командой и подкладываются локально, дальше сканирование идёт без сети (--offline-scan, переменные TRIVY_DB_REPOSITORY на внутреннее зеркало OCI). Сама генерация SBOM сети не требует.
Связанные темы
М05 Инструменты генерации SBOM · М06 Поиск уязвимостей · П05. Trivy как генератор и сканер · П38. Честный SBOM контейнерного образа · Grype · Syft · CycloneDX