Как читать авторский курс и нормативные материалы
Это учебные материалы, а не заключение о соответствии конкретного продукта. Организационные модели курса отделяйте от терминов стандарта: ППК в опубликованном проекте — машиночитаемый перечень, а живой реестр его версий является практикой сопровождения. Термин OSA в разных материалах имеет разный охват. Статус и обязательность нормативного документа проверяются отдельно; проект КАПО опубликован как проект первой редакции.
Контрольные вопросы
Базовый уровень 1. Перечислите минимальные элементы SBOM по NTIA/CISA. Какой из них отвечает за автоматическое сопоставление компонента с уязвимостью? 2. Что хранит кластер метаданных SBOM и почему он отделён от данных о компонентах? 3. Чем
metadata.timestampиmetadata.authors/toolsважны на аудите? 4. Почему отсутствиеpurlу компонента опаснее, чем отсутствие, например, описания?Понимание 5. Разложите на три слоя (факт / интерпретация / решение) ситуацию: «в сборке есть
pkg:npm/lodash@4.17.19, на неё есть CVE high, решено обновить до релиза». Где место каждого слоя — SBOM, ППК или реестр исключений? 6. Чем SBOM (снимок) отличается от ППК (учётный реестр Организации)? Назовите по две вещи, которые есть в ППК, но которых не должно быть вbom.json. 7. Почему утверждение «SBOM сгенерирован, значит мы защищены» неверно? К чему SBOM обязан быть подключён? 8. Чем отличается SBOM, снятый «before build» (из исходников), от снятого «after build» (анализ бинарника)? Когда какой полнее? 9. Почему severity и вердикт «принято» нельзя дописывать руками внутрь SBOM?Применение 10. Какой командой
jqвы за один шаг оцените долю компонентов безpurlв CycloneDX? 11. Какой минимальный порог полноты разумно зашить в CI-gate, чтобы он не блокировал всю разработку, но ловил пустые SBOM? 12. Соисполнитель прислал SBOM, где у внешних пакетов нетsupplier. Это дефект инструмента или процесса поставки? Что потребовать?
Кейс-задачи
Кейс 1. «Подозрительно чисто» Сканер по присланному
bom.jsonнашёл всего 2 CVE на 180 компонентов, и команда радуется. Проверка показала: 96 компонентов безpurl. Объясните, почему «мало CVE» здесь — не хорошая новость, а симптом. Какие два шага вы предпримете до того, как доверять этому результату?Кейс 2. SBOM вместо ППК В Организации каждую сборку складывают новый
bom.jsonв общую папку, файлов уже тысячи. Никто не дедуплицирует, владельцев компонентов нет, прошлые решения по уязвимостям теряются. Какой слой здесь отсутствует и что именно должен дать ППК поверх набора SBOM-снимков? Сошлитесь на нужный шаблон.Кейс 3. Просочившаяся интерпретация Инженер, чтобы «не потерять», дописал в компонент SBOM поля
severity: highиstatus: accepted. На следующей сборке инструмент перегенерировал файл и правки исчезли. Объясните в терминах факт/интерпретация/решение, почему так и должно быть, и где этим данным место.