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

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

cdxgen

Для чего

cdxgen — генератор CycloneDX-SBOM, ориентированный на исходный код и манифесты сборки. Он разбирает файлы зависимостей десятков языков (package-lock.json, requirements.txt, pom.xml, go.mod, Cargo.toml, conan.lock, CMake-кэш) и строит граф зависимостей с прямыми и транзитивными связями. Для C/C++ это один из немногих генераторов, который пытается восстановить состав из артефактов сборки, а не только из пакетного менеджера.

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

Запуск по каталогу проекта с явным указанием типа и evidence-режимом:

cdxgen -t c -o bom.cdx.json --spec-version 1.6 .
cdxgen -t python --required-only -o bom.cdx.json .

В выводе компоненты несут bom-ref, PURL и блок evidence с указанием, из какого файла извлечён факт. Для C/C++ полезен флаг --deep и переменная CDXGEN_DEBUG, чтобы видеть, какие манифесты и заголовки распознаны.

Блок evidence — главный аргумент доверия В отличие от плоского списка, cdxgen помечает каждый компонент полем evidence с указанием файла-источника. На приёмке SBOM это позволяет отличить факт («извлечено из conan.lock») от догадки, а не верить генератору на слово.

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

Ограничения

Offline / on-premise

Утечка в закрытом контуре По умолчанию обогащение лицензий ходит в публичные реестры. В изолированном контуре это и недопустимая утечка, и источник «зависающих» сборок. Перед запуском выставляйте FETCH_LICENSE=false и направляйте менеджеры на внутренние зеркала.

Базовая генерация SBOM работает офлайн. Опциональное обогащение (запросы к публичным реестрам для метаданных и лицензий) требует сети — в закрытом контуре его отключают (FETCH_LICENSE=false) и поднимают локальное зеркало менеджеров. Контейнерный образ cdxgen разворачивается во внутреннем реестре.

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

М05 Инструменты генерации SBOM · М09 C/C++ legacy · П04. Генерация SBOM через cdxgen для C C++ · П20. CMake dependency graph · П21. Conan graph и package identity · Conan · CycloneDX · Package URL