Пиков / КАПО
Как читать авторский курс и нормативные материалы

Это учебные материалы, а не заключение о соответствии конкретного продукта. Организационные модели курса отделяйте от терминов стандарта: ППК в опубликованном проекте — машиночитаемый перечень, а живой реестр его версий является практикой сопровождения. Термин OSA в разных материалах имеет разный охват. Статус и обязательность нормативного документа проверяются отдельно; проект КАПО опубликован как проект первой редакции.

Syft

Для чего

Syft строит SBOM по содержимому артефакта: распаковывает контейнерный образ по слоям, читает каталоги пакетных менеджеров и lock-файлы и составляет список компонентов с версиями, лицензиями и PURL. Это движок инвентаризации, который сам не ищет уязвимости — он отдаёт «список фактов», на который потом натравливают сканер (Grype, depscan).

Как применяют

Сканирование образа из реестра и каталога исходников с выводом в CycloneDX JSON:

syft registry.example.org/app:1.4.2 -o cyclonedx-json=sbom.cdx.json
syft dir:./src -o spdx-json=sbom.spdx.json

Каждый найденный пакет получает координату вида pkg:deb/debian/openssl@3.0.11-1~deb12u2?arch=amd64 или pkg:npm/lodash@4.17.21. Поддерживается scope --scope all-layers, чтобы увидеть пакеты, удалённые в верхних слоях образа.

Генератор, а не сканер Syft отвечает на вопрос «из чего собран артефакт», но не «что в нём уязвимо». Уязвимости ищет парный сканер (Grype) поверх того же SBOM. Не путайте пустой список уязвимостей с их отсутствием — на этом этапе их и не должно быть.

Сильные стороны

Ограничения

Слепая зона Syft видит только то, что заявлено пакетным менеджером. Статически слинкованные C/C++-зависимости и вендоренный (скопированный в дерево) код в инвентаризацию не попадают — для них нужен анализ бинаря (blint, ldd/readelf).

Offline / on-premise

Полностью офлайн: для построения SBOM сеть не нужна, бинарь самодостаточен. Образы можно подавать из локального tar (docker:archive / oci:archive) или из внутреннего реестра закрытого контура. Каталоги уязвимостей здесь не загружаются — обогащение происходит на стадии сканера.

Связанные темы

М05 Инструменты генерации SBOM · М16 Честный SBOM контейнеров · П03. Генерация SBOM через Syft · П06. Grype поверх готового SBOM · П38. Честный SBOM контейнерного образа · Grype · CycloneDX · Package URL