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

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

Контрольные вопросы

Уровень 1 — понимание 1. Чем политика приёмки сторонних компонентов отличается от настроек самого сканера? Почему сканер не может «сам» решить, блокировать ли компонент? 2. Приведите три типа порога политики и машинный факт, на который опирается каждый из них (CVSS, лицензии, malware). 3. Что обязательно входит в карточку исключения? Перечислите минимум пять полей. 4. Почему поле expiry (срок пересмотра) — обязательное, а не желательное?

Уровень 2 — применение 5. В чём разница между security gate и управленческим решением о принятии риска? Кто несёт ответственность в каждом случае? 6. Почему порог по CVSS не отменяет работу с VEX? Чем отличается finding, закрытый через not_affected, от finding, на который оформлено принятие риска? 7. Как связать подавление в конфиге gate (ignoreUntil) с записью в реестре исключений, чтобы не возникло «голого» mute? 8. Что должно произойти с finding, у которого истёк срок исключения? Опишите автоматическое поведение. 9. Политика блокирует любую копилефт-лицензию в проприетарном дистрибутиве. В каком случае компонент с GPL-2.0 всё же может быть допущен и через какой механизм это оформляется?

Уровень 3 — анализ 10. Команда массово пометила 60 findings как «ignored» прямо в интерфейсе сканера. Какие риски это создаёт при аудите и как перевести это в управляемое состояние? 11. Чем «слишком строгий» порог (блок на любом Medium) вреден так же, как и его отсутствие? Как найти баланс? 12. Почему компенсирующая мера — обязательная часть принятия риска, а не формальность?

Кейс-задачи

Кейс А. Вечное исключение В реестре найдено исключение EXC-2024-031 на pkg:npm/lodash@4.17.19 (CVE-2021-23337), статус active, открыто 2024 г., поле expiry пустое. Фикс давно вышел. Что не так с этой записью, какие действия предпринять и как изменить процесс, чтобы такое не повторялось?

Кейс Б. Gate против релиза CI-gate валит сборку на Critical-CVE в транзитивной зависимости за час до планового релиза. Известно, что уязвимый код не вызывается. Какие у команды легитимные варианты (минимум два) и чем они отличаются по требуемым подписям, срокам и записям? Какой вариант предпочтителен и почему?

Кейс В. Malware-сигнал Сканер сообщил о вредоносном postinstall-скрипте в свежей версии npm-пакета (признаки тайпсквоттинга). Может ли владелец риска оформить на это исключение «до следующего спринта»? Обоснуйте ответ через категорию порога и принцип «instant fail».