Как читать авторский курс и нормативные материалы
Это учебные материалы, а не заключение о соответствии конкретного продукта. Организационные модели курса отделяйте от терминов стандарта: ППК в опубликованном проекте — машиночитаемый перечень, а живой реестр его версий является практикой сопровождения. Термин OSA в разных материалах имеет разный охват. Статус и обязательность нормативного документа проверяются отдельно; проект КАПО опубликован как проект первой редакции.
План занятия (90 минут)
Цели занятия
- Объяснить, чем SCA продукта от многих соисполнителей отличается от SCA «своего» репозитория: источник факта о составе внешний.
- Научить читать контракт поставки SBOM и проверять ZIP-поставку приёмочным контролем.
- Показать поток «соисполнитель → артефакт-репозиторий → генератор фактов → сервис аудита/вердиктов» и роли в нём.
- Связать тему с ГОСТ Р 56939-2024, проектом ГОСТ КАПО и ISO/IEC 27001.
Материалы
- Конспект М10;
- два примера ZIP-поставки: «чистый» соисполнитель и «грязный» (низкий PURL coverage, unresolved, сырые лицензии);
- Контракт поставки SBOM, Соглашение о качестве данных, Чек-лист ZIP поставки;
- стенд с генератором фактов (
enrich-sbom) и доступом к артефакт-репозиторию (тестовый namespace).
Ход занятия
| Мин | Блок | Что происходит |
|---|---|---|
| 0–10 | Вводный кейс | Изделие из 7 подсистем; релиз готов, но никто не может назвать состав двух из них. Где потерялась ответственность? |
| 10–30 | Лекция | Контракт поставки vs формат; ZIP как поставка (bom.json + logs + unresolved + license evidence); обмен через артефакт-репозиторий и provenance; кто владеет составом (RACI). |
| 30–45 | Демо приёмки | Преподаватель прогоняет enrich-sbom над «грязной» поставкой, считает PURL coverage и unresolved, показывает разницу с «чистой». |
| 45–80 | Практика в парах | Слушатели выполняют ПЗ: приёмочный контроль одной ZIP-поставки, заполнение чек-листа, формирование worklist. |
| 80–90 | Рефлексия | Что закрепить в контракте Организации; что вернуть соисполнителю; кто подписывает приёмку. |
Демонстрационный фрагмент
# приёмка поставки соисполнителя из артефакт-репозитория (обезличенно)
unzip contractor-B-1.4.0.zip -d intake/B
# генератор фактов (enrichment-утилита)
enrich-sbom intake/B/bom.json enriched/B-bom.json
# далее: посчитать долю компонентов с PURL и число unresolved
Контрольная точка
Слушатель умеет по присланной ZIP-поставке определить: к какому commit/tag она относится, какой у неё PURL/лицензионный coverage, сколько unresolved, можно ли принимать и кто на стороне Организации владеет составом этой подсистемы. Выводы оформляются по П28 и агрегируются в П29.