Как читать авторский курс и нормативные материалы
Это учебные материалы, а не заключение о соответствии конкретного продукта. Организационные модели курса отделяйте от терминов стандарта: ППК в опубликованном проекте — машиночитаемый перечень, а живой реестр его версий является практикой сопровождения. Термин OSA в разных материалах имеет разный охват. Статус и обязательность нормативного документа проверяются отдельно; проект КАПО опубликован как проект первой редакции.
Регламент композиционного анализа ПО
Назначение Сквозной порядок композиционного анализа (SCA) и анализа открытого ПО (OSA) в Организации: от приёмки сборки до релизного решения и мониторинга в продуктиве. Это материнский документ группы — из его пронумерованных шагов выводятся строки RACI, а контроли каждого шага дают evidence для матрицы evidence.
Когда применяется
Запускается на каждый релиз-кандидат продукта, на каждую поставку от соисполнителя и при плановом периодическом пересканировании компонентов в продуктиве. Триггеры: подготовка релиза, приёмка ZIP/контейнера от внешнего исполнителя, публикация новой уязвимости в используемом компоненте.
Границы и термины
- Объект анализа: исходный код, манифесты/lock-файлы, контейнерные образы, C/C++ build-артефакты, готовые поставки (ZIP/архивы).
- Источник фактов: SBOM/ППК, дополненный «генератором фактов (enrichment-утилитой)»; решения принимает «сервис аудита/вердиктов».
- Не входит: функциональное тестирование, SAST/DAST логики приложения (только композиционный слой).
Порядок (шаги процесса)
- Приёмка и фиксация входа. Принять сборку/поставку, зафиксировать версию, источник, дату, исполнителя. Для поставки соисполнителя — проверить комплектность по Контракт поставки SBOM от соисполнителя и Чек-лист ZIP поставки.
- Генерация/получение SBOM. Сгенерировать SBOM из исходников и сборки либо принять входной SBOM/ППК. Для C/C++ legacy — обязательно сохранить build evidence (логи сборки, граф линковки), без него SBOM не считается достаточным.
- Контроль качества SBOM. Проверить покрытие PURL/CPE, наличие dependency graph, корректность лицензионных полей. Прогнать Чек-лист качества CycloneDX / Чек-лист качества SPDX; несоответствия — в Соглашение о качестве данных SBOM.
- Идентификация компонентов. Сопоставить компоненты с PURL/CPE; неопознанные — в Реестр unresolved libraries и Порядок работы с неопознанной библиотекой. Невозможность распознать не скрывается, а превращается в worklist.
- Обогащение фактами. Прогнать «генератор фактов»: уязвимости (NVD, OSV, БДУ ФСТЭК), лицензии, malware/protestware, reachability там, где доступно.
- Анализ уязвимостей. Сформировать VDR, отделить факт от решения через VEX (см. Порядок загрузки VDR из Dependency-Track). Триаж по Политика управления уязвимостями компонентов.
- Анализ лицензий. Классифицировать лицензии, выявить несовместимости и неизвестные лицензии (см. Политика лицензионной чистоты, Порядок работы с неизвестной лицензией).
- Триаж и решения. По каждому риску — решение: разрешено / блокировано / требуется доработка / риск принят. Исключения оформить через Реестр исключений и Порядок принятия риска (обоснование, владелец, срок пересмотра обязательны).
- Релизный gate. Прогнать релиз-кандидат через Требования к CI security gate. Решение «сервиса аудита/вердиктов» фиксируется как вердикт с evidence.
- Журналирование. Все действия и вердикты записать в audit trail по Журналирование и audit trail.
- Мониторинг в продуктиве. Поставить компоненты на периодический пересмотр; при новой уязвимости вернуться к шагу 5. Ретест исправлений — по Регламент ретеста после исправления.
Минимальные правила
- Любой вердикт трассируем до версии компонента и даты поставки.
- Исключение без обоснования, владельца и срока пересмотра — недопустимо.
- Неполный SBOM от соисполнителя возвращается на доработку, а не «дорисовывается».
- Для C/C++ legacy build evidence хранится наравне с SBOM.
Связь с курсом
- Модули: М01 Термины, угрозы и границы SCA OSA, М08 Защита цепочки поставки и OSA, М11 Корпоративный кейс генератор фактов и сервис вердиктов, М14 Политики, исключения и принятие риска.
- Нормативка: ГОСТ Р 56939-2024, Проект ГОСТ Р КАПО, NIST SP 800-218 SSDF (PS.3.2/PW.4/RV.1), ISO IEC 27001.
- Практики: П08. Dependency-Track как портфель SBOM, П09. VDR и VEX различие факта и решения, П16. GitLab CI security gate.