Как читать авторский курс и нормативные материалы
Это учебные материалы, а не заключение о соответствии конкретного продукта. Организационные модели курса отделяйте от терминов стандарта: ППК в опубликованном проекте — машиночитаемый перечень, а живой реестр его версий является практикой сопровождения. Термин OSA в разных материалах имеет разный охват. Статус и обязательность нормативного документа проверяются отдельно; проект КАПО опубликован как проект первой редакции.
План занятия (90 минут)
Цели
К концу занятия слушатель умеет:
- Назвать семь кластеров SBOM for AI (G7) и объяснить, чем кластеры Models и Datasets отличаются от обычного SBOM (хэш весов, лицензия open weight/data/training, provenance датасета).
- Доказать на образе, что декларируемый SBOM расходится с реальным содержимым слоёв: извлечь удалённый секрет и показать эффект обфускации метаданных.
- Сформулировать критерий «честности» SBOM для приёмки контейнерной/AI-поставки в Организации.
Материалы
- Подготовленный образ
secrets-test(Dockerfile сCOPY key.api+RUN rm key.api). - Демо-образ с обфускацией метаданных (
mint slim --obfuscate-metadata) и его оригинал. - Установленные
docker,trivy/grype,syft, утилита разбора слоёв (orca или эквивалент). - Фрагмент документа G7 «SBOM for AI: Minimum Elements» (обезличенно), карточка модели (model card) для разбора.
- 01 Конспект, SBOM for AI - минимальные элементы.
Ход занятия
| Мин | Блок | Что происходит |
|---|---|---|
| 0–8 | Вводный кейс | «SBOM показал 0 уязвимостей — образ чистый?» Голосование. Показываем, что 0 может означать затёртые метаданные, а не отсутствие проблем. |
| 8–25 | Лекция: SBOM for AI | Семь кластеров G7. Разбор Models (hash весов, lineage, RLHF/DPO, лицензия open weight/architecture/data/training) и Datasets (provenance: web crawling vs коммерческое соглашение; sensitivity: PII/copyright). Тезис: это дополнение к обычному SBOM, а не замена. |
| 25–40 | Лекция: честный SBOM образа | Как сканер читает образ (tar-ы слоёв, пути пакетных БД). Три слепые зоны: удалённый-но-сохранённый файл, обфускация метаданных, UPX/стрип build-info. Цифры из «дикой природы» (>50% модифицируют метаданные). |
| 40–60 | Демо | (а) docker save secrets-test \| tar -x, поиск tar-слоёв в blobs/sha256/, извлечение key.api после RUN rm. (б) grype на оригинале (97 matches) vs на обфусцированном (0 matches). Обсуждение: где соврал SBOM. |
| 60–82 | Практика в парах | По заготовке: собрать честный SBOM образа (syft + разбор слоёв) и заполнить мини-карточку модели по кластерам Models/Datasets. Найти расхождения декларация↔реальность. См. 03 Практическая работа. |
| 82–90 | Рефлексия | Что попадает в регламент приёмки Организации: критерий честности, обязательность attestations (in-toto/SLSA), список «неисправимого статикой». |
Контрольная точка
Слушатель показывает: извлечённый из нижнего слоя артефакт, который отсутствует в финальной ФС; и таблицу из ≥3 кластеров SBOM for AI с заполненными элементами Models/Datasets. Может объяснить, почему «0 уязвимостей» не равно «чистый образ».
Связи
Практики: П37. Контейнерный образ слои секреты и удаленные файлы, П38. Честный SBOM контейнерного образа, П39. SBOM for AI minimum elements. Нормативка: 05 Нормативка (ГОСТ Р 56939-2024).