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

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

Контрольные вопросы: Защита цепочки поставки и OSA

Базовый уровень 1. В чём принципиальная разница между OSA и SCA по точке контроля и по виду отказа? Почему нельзя сказать «OSA — это SCA, но раньше»? 2. Назовите три класса атак на цепочку поставки и приведите по одному примеру на каждый. 3. Что такое typosquatting и чем он отличается от combosquatting и brandjacking? Приведите пример имени для каждого. 4. Что такое protestware и почему он опаснее «обычной» уязвимости с точки зрения времени реакции?

Средний уровень 5. Чем блокирующий режим OSA (плагин к Nexus/JFrog) отличается от сканирующего (Harbor, GitLab Registry)? Для какого потока какой режим обязателен? 6. Как работает OSA Proxy и в чём его преимущество перед плагином к менеджеру артефактов? Где у proxy-режима граница применимости? 7. Зачем в политике нужны три этапа warmup → monitoring → blocking? Что сломается, если сразу включить blocking? 8. Что такое slopsquatting и почему распространение LLM-ассистентов усиливает этот риск? 9. Почему запрет исполнения install-скриптов (--ignore-scripts) — это отдельный контроль, не заменяемый сканированием состава? 10. Какое требование ГОСТ Р 56939-2024 напрямую реализуется OSA-контуром? Сформулируйте своими словами.

Повышенный уровень 11. Почему карантин «слишком молодых» версий помогает против компрометации апстрима, и какой ценой? Что обязательно должно сопровождать такое правило, чтобы его не отключили? 12. Как dependency confusion обходит OSA-контур, который корректно сканирует содержимое пакетов? Что нужно настроить дополнительно?

Кейс-задачи

Кейс 1. Молчащий контур OSA-контур развёрнут полгода назад в сканирующем режиме на базе container registry. За это время — ноль блокировок, команда довольна. При аудите выясняется, что два месяца назад в один из образов попал пакет из публичного фида malware. Объясните, почему контур «молчал», и что изменить, чтобы такой пакет был остановлен, а не просто зафиксирован.

Кейс 2. Карантин-стоп-кран После включения правила «версия младше 30 дней → quarantine» разработка встала: половина обновлений популярных пакетов уходит в карантин, заявки копятся, SLA нет. Команда требует отключить OSA целиком. Предложите изменения в политике (allowlist, SLA, исключения), которые сохранят защиту от подрыва апстрима, но разблокируют работу. Сошлитесь на П30. Исключения и принятие риска.

Кейс 3. Похожее имя Разработчик добавил в проект пакет python-dateutil-похожего вида (dateutil-python), скопировав имя из ответа AI-ассистента. SCA на следующий день показал «компонент без известных CVE — чисто». Объясните, почему вердикт SCA здесь обманчив и на каком контуре эту проблему следовало поймать. К какому классу атак относится случай?