Как читать авторский курс и нормативные материалы
Это учебные материалы, а не заключение о соответствии конкретного продукта. Организационные модели курса отделяйте от терминов стандарта: ППК в опубликованном проекте — машиночитаемый перечень, а живой реестр его версий является практикой сопровождения. Термин OSA в разных материалах имеет разный охват. Статус и обязательность нормативного документа проверяются отдельно; проект КАПО опубликован как проект первой редакции.
Что проверять на проекте: OSA-контур и защита цепочки поставки
Чек-лист аудитора. Цель — убедиться, что превентивный контур (OSA) реально стоит на входе, а не существует на бумаге. Каждый пункт проверяется артефактом или прогоном, а не словами.
Главный риск этой темы Самый частый дефект — контур в сканирующем режиме, который всё видит, но ничего не блокирует. «У нас есть OSA» при этом формально верно, а вредоносный пакет всё равно попадает в контур. Различать «увидели» и «не пустили» — первое, что проверяет аудитор.
Чек-лист
-
Контур стоит на входе, а не только по составу. Есть отдельный механизм проверки пакета до скачивания (OSA), а не только SCA по собранному релизу. Если есть только SCA — превентивного контура нет.
-
Режим контроля известен и адекватен потоку. Для критичных потоков (production-сборки) — блокирующий режим (плагин к менеджеру артефактов). Сканирующий режим (registry в наблюдении) допустим только там, где блокировка не нужна, и это осознанное решение.
-
Источники вердикта подключены и обновляются. Фиды malware/protestware, CVE/БДУ, собственный stop-list. Проверить дату последнего обновления фидов — устаревший фид не ловит свежие атаки.
-
Политика покрывает три класса атак. В правилах есть контроль против: вредоносного пакета (stop-list/malware), путаницы в именах (typosquat-проверка), подрыва апстрима (карантин «молодых» версий / protestware-фид).
-
Внедрение прошло через warmup → monitoring → blocking. Есть свидетельство поэтапного включения с критериями перехода, а не «включили блок сразу» (что обычно приводит к отключению контура).
-
Карантин имеет SLA. Для «молодых»/подозрительных версий определён срок разбора и ответственный. Карантин без SLA = скрытый стоп-кран, который рано или поздно отключат.
-
Есть процедура исключений с пересмотром. Заблокированный пакет можно провести через заявку: кто запрашивает, кто согласует, на какой срок, дата пересмотра. См. П30. Исключения и принятие риска.
-
Dependency confusion закрыт на уровне конфигурации. Приватные scope/namespace зарезервированы и приоритизированы в конфиге менеджера (приватный индекс выше публичного). Один сканер пакетов этого не закрывает.
-
Install-скрипты под контролем. Для экосистем с install-хуками (npm) есть политика на
--ignore-scriptsили изоляция сборки/песочница. Состав «чистый» не означает безопасныйpostinstall. -
Docker-образы проходят через тот же контур. Предсобранное ПО (образы) проверяется OSA так же, как пакеты, и на него строится SBOM. Иначе образы — дыра в периметре (требование контроля предсобранного ПО, ГОСТ Р 56939-2024).
-
Audit trail полный и читаемый. На каждый вердикт логируются: пакет@версия, экосистема, сработавшее правило, вердикт, автор исключения, дата, основание. Аудитор может восстановить, почему пакет прошёл или нет.
-
Уведомления доходят до владельца. Срабатывания политики уходят в почту / таск-трекер / ASPM / вебхук, и есть владелец контура, который их разбирает. Логи, которые никто не читает, — не контроль.
Связки
- Практики: П17. OSA controlled repository policy, П18. OSA Proxy режимы и ограничения.
- Нормативка: ГОСТ Р 56939-2024 — контроль элементов от сторонних поставщиков, анализ кода из цепочек поставок на ВПО, контроль предсобранного ПО.
- Смежное: М14. Политики и исключения, М12. Подготовка пилота.