Как читать авторский курс и нормативные материалы
Это учебные материалы, а не заключение о соответствии конкретного продукта. Организационные модели курса отделяйте от терминов стандарта: ППК в опубликованном проекте — машиночитаемый перечень, а живой реестр его версий является практикой сопровождения. Термин OSA в разных материалах имеет разный охват. Статус и обязательность нормативного документа проверяются отдельно; проект КАПО опубликован как проект первой редакции.
Контрольные вопросы
Базовый уровень 1. Какие два формата и в каких минимальных версиях признаёт форматом SBOM BSI TR-03183-2 v2.1.0? 2. Чем по назначению исторически различаются CycloneDX и SPDX? 3. Является ли SWID (ISO/IEC 19770-2) форматом SBOM по BSI? Если нет — какую роль он играет в SBOM? 4. В каких сериализациях BSI разрешает SBOM, а какие форматные сериализации (RDF, Protobuf, YAML) к делу не относятся?
Средний уровень 5. Как устроена модель данных CycloneDX (единый
component+type) против SPDX (графsoftware_Package/software_File+Relationship)? Приведите пример, где это даёт разницу. 6. Назовите три категории лицензий BSI (original / distribution / effective) и покажите, через какие поля они выражаются в CycloneDX и в SPDX. 7. Какие обязательные по BSI поля компонента отсутствуют нативно в обоих форматах и как их кодируют (bsi:component:*,software_additionalPurpose)? 8. Почему BSI запрещает помещать информацию об уязвимостях в SBOM и какой формат рекомендован вместо этого? 9. Почему конвертация CycloneDX↔SPDX почти всегда теряет данные? Приведите два конкретных поля, которые рискуют потеряться.Продвинутый уровень 10. Чем отличаются
acknowledgement: declaredиacknowledgement: concludedв CycloneDX и как они соотносятся с original/distribution/effective licence BSI? 11. Что меняется в требованиях к SBOM в зависимости от его класса (Design / Source / Build / Analysed / Deployed / Runtime) — на примере наличия hash SHA-512 и filename? 12. Как BSI описывает ссылку одного SBOM на другой (referenced component) и какие три поля обязательно дублируются в ссылающемся SBOM?
Кейс-задачи
Кейс 1. «Это же SBOM» Соисполнитель прислал набор XML SWID-тегов установленного ПО и заявил, что выполнил требование «предоставить SBOM». Что вы ответите со ссылкой на BSI и что попросите прислать вместо этого?
Кейс 2. Версии не те На вход пришёл валидный по схеме CycloneDX
specVersion: 1.5. Заказчик требует соответствия BSI TR-03183-2 v2.1.0. Проходит ли SBOM? Что нужно сделать и почему именно версия здесь блокер?Кейс 3. Потеря при конвертации Команда генерирует SBOM в SPDX, а портфельный инструмент принимает только CycloneDX, поэтому файлы конвертируют автоматически. После конвертации в отчёте по лицензиям пропало различие declared/concluded, а для части компонентов исчез hash. Объясните механизм потерь и предложите процессное решение (а не «починить конвертер»).