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

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

Контрольные вопросы

Базовый уровень 1. Перечислите семь кластеров SBOM for AI по документу G7. Какой из них описывает сам SBOM, а не AI-систему? 2. Почему документ G7 подчёркивает, что элементы SBOM for AI идут в дополнение к обычным минимальным элементам SBOM, а не заменяют их? 3. Как сканер образов (Trivy, Grype) технически собирает состав: по каким путям он ищет пакетные БД для apk/dpkg/rpm? 4. Что физически происходит с файлом при инструкции RUN rm secret в Dockerfile? Исчезает ли он из образа?

Средний уровень 5. Чем Model hash value принципиально отличается от хэша обычной библиотеки в SBOM? Что именно хэшируется? 6. Что означают четыре градации в Model license: open weight, open architecture, open data, open training? Почему open weight ≠ open data? 7. Какую информацию несёт Dataset provenance и почему её отсутствие — это legal-риск, а не только технический? 8. Почему результат grype «0 vulnerability matches» может быть признаком проблемы, а не чистого образа? 9. Как UPX-упаковка и флаг go build -ldflags "-X runtime.modinfo=" влияют на полноту SBOM?

Продвинутый уровень 10. Какие техники нечестности образа считаются «неисправимыми статикой» и почему (multi-stage, внешние загрузки в рантайме, обфускация)? 11. Почему перевыпуск SBOM после компрометации реестра (имитация коммитов, tag poisoning) не спасает без attestations? Какую роль здесь играют in-toto/SLSA? 12. G7 сознательно не вынес «уровень автономности AI-агента» в отдельный элемент SBOM for AI. Какой пробел в оценке риска это оставляет?

Кейс-задачи

Кейс 1. «Чистый образ» Поставщик прислал образ и SBOM, grype показал 0 уязвимостей. При разборе слоёв вы видите, что в образе нет ни /var/lib/dpkg/status, ни /lib/apk/db/installed, но есть рабочее ПО. Что произошло, как это назвать в отчёте и какой вердикт по приёмке?

Кейс 2. Секрет в истории слоёв В финальной ФС образа секретов нет, trivy --scanners secret молчит. Опишите процедуру (команды), которой вы докажете или опровергнете наличие приватного ключа в более ранних слоях. Какой артефакт предъявите как доказательство?

Кейс 3. Открытая модель без датасета Команда хочет включить в продукт модель с лицензией «open weight». В карточке заполнены Model hash, Model training properties, но кластер Datasets пуст (Dataset provenance и Dataset license отсутствуют). Какие риски вы поднимаете и что требуете дозаполнить перед приёмкой?