Как читать авторский курс и нормативные материалы
Это учебные материалы, а не заключение о соответствии конкретного продукта. Организационные модели курса отделяйте от терминов стандарта: ППК в опубликованном проекте — машиночитаемый перечень, а живой реестр его версий является практикой сопровождения. Термин OSA в разных материалах имеет разный охват. Статус и обязательность нормативного документа проверяются отдельно; проект КАПО опубликован как проект первой редакции.
SPDX SBOM Generator
Для чего
SPDX SBOM Generator (spdx-sbom-generator) — CLI от SPDX-сообщества, который строит SBOM в формате SPDX по манифестам пакетных менеджеров проекта. Он подключает отдельный модуль-«хендлер» под каждый менеджер (npm, Go modules, Python pip/poetry, Cargo, Composer, Gradle/Maven и др.) и собирает из lock-файла список зависимостей с лицензиями и контрольными суммами.
Как применяют
Запуск в корне проекта с выбором формата вывода:
spdx-sbom-generator -p ./ -o ./out/ -f json
Инструмент сам определяет используемый менеджер по наличию манифеста (go.mod, package.json, requirements.txt) и выдаёт bom-<manager>.spdx.json либо tag-value .spdx. В документе присутствуют PackageLicenseConcluded, PackageDownloadLocation и PackageChecksum (SHA1) по каждой зависимости.
Сильные стороны
- Архитектура «один менеджер — один хендлер»: предсказуемое поведение для поддержанных экосистем.
- Нативный SPDX и в JSON, и в tag-value — удобно для нормативной трассировки по SPDX.
- Тянет лицензии и адреса загрузки прямо из метаданных менеджера, без отдельного шага.
- Лёгкий статический бинарь, просто встраивается в CI-шаг.
Ограничения
Покрытие ограничено набором хендлеров Инструмент видит ровно те экосистемы, под которые написан хендлер. Проект без поддерживаемого манифеста (типичный C/C++ без менеджера) даст пустой или неполный SBOM — это не «чисто», это «не проанализировано».
- Покрытие менеджеров ограничено реализованными хендлерами; экзотические и C/C++-проекты без менеджера не поддержаны.
- Проект развивается медленно — часть хендлеров может отставать от свежих форматов lock-файлов.
- Только SPDX на выходе; для CycloneDX нужна последующая конвертация.
Offline / on-premise
Если все зависимости уже вытянуты в локальный кеш менеджера, генерация идёт офлайн. Часть хендлеров для разрешения версий или лицензий может обращаться к публичным реестрам — в закрытом контуре их заменяют внутренним зеркалом менеджера (npm/Go proxy), после чего сеть наружу не нужна.
Связанные темы
М05 Инструменты генерации SBOM · М03 Форматы SBOM · П34. SBOM quality gate · SPDX · Microsoft SBOM Tool · protobom