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

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

protobom

Для чего

protobom — не генератор, а нейтральная модель данных SBOM и библиотека к ней. Это Protocol Buffers-представление состава, в которое читаются и SPDX, и CycloneDX, после чего из той же модели можно записать любой из форматов. По сути это «общий знаменатель», на котором строят конвертацию между форматами и инструменты, не желающие хардкодить парсер под каждую версию SPDX/CycloneDX.

Это модель и библиотека, а не CLI protobom не сканирует артефакты и не имеет «команды для пользователя». Его ценность раскрывается внутри другого инструмента (например, bomctl), который читает SPDX/CycloneDX в единую модель и пишет обратно нужный формат.

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

Используется как Go-библиотека внутри других инструментов: документ читается в единый объект Document, а затем сериализуется в нужный формат.

doc, _ := reader.New().ParseFile("sbom.spdx.json") // SPDX на входе
writer.New().WriteFile(doc, "sbom.cdx.json")        // CycloneDX на выходе

Внутренняя модель описана в .proto и хранит узлы (Node) состава, рёбра зависимостей (Edge) и метаданные документа независимо от исходного формата.

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

Ограничения

Конвертация теряет детали Перевод между SPDX и CycloneDX через общую модель — lossy: формат-специфичные поля упрощаются или исчезают. Сконвертированный SBOM нельзя считать дословно равным исходному, особенно для нормативной трассировки.

Offline / on-premise

Полностью офлайн: это локальная библиотека преобразования данных, сеть не нужна по определению. В закрытом контуре используется как зависимость внутренних утилит конвертации SBOM.

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

М03 Форматы SBOM · М05 Инструменты генерации SBOM · П02. Чтение CycloneDX JSON руками · CycloneDX · SPDX · bomctl