Как читать авторский курс и нормативные материалы
Это учебные материалы, а не заключение о соответствии конкретного продукта. Организационные модели курса отделяйте от терминов стандарта: ППК в опубликованном проекте — машиночитаемый перечень, а живой реестр его версий является практикой сопровождения. Термин OSA в разных материалах имеет разный охват. Статус и обязательность нормативного документа проверяются отдельно; проект КАПО опубликован как проект первой редакции.
План занятия (90 минут)
Цели занятия
К концу занятия слушатель умеет: - записать политику приёмки как набор измеримых порогов (CVSS, лицензии, malware), привязанных к машинному факту; - отличить случай для security gate (автоматика) от случая для управленческого решения (исключение / принятие риска); - оформить карточку исключения с автором, обоснованием, компенсирующей мерой и сроком пересмотра и завести её в реестр.
Материалы
- Конспект М14;
- шаблоны Политика приемки сторонних компонентов, Реестр исключений, Порядок принятия риска, Требования к CI security gate;
- заготовка отчёта SCA с 5–7 findings (CVE с разным CVSS, одна копилефт-лицензия, один malware-сигнал);
- пустой
osv-scanner.tomlи заготовка таблицы реестра.
Тайминг и ход
| Мин | Блок | Формат | Содержание |
|---|---|---|---|
| 0–10 | Вводный кейс | разбор | Отчёт сканера на 140 findings, из них 60 «ignored» без причины и срока. Вопрос аудитории: какие из них реально приняты, а какие просто заглушены? Подводка к различию «факт → политика → решение». |
| 10–30 | Лекция: пороги политики | мини-лекция | Пороги CVSS (≥7.0 c фиксом → блок), лицензии (deny-list копилефта в проприетарном дистрибутиве), malware (instant fail). Severity vs эксплуатируемость, связка с VEX not_affected. |
| 30–45 | Лекция: gate vs решение | мини-лекция | Security gate (детерминированно, без подписи) против принятия риска (автор, обоснование, expiry). Где проходит граница ответственности. |
| 45–60 | Демо: реестр и подавление | демо | Преподаватель оформляет одну карточку исключения по реальному CVE, синхронизирует expiry с ignoreUntil в osv-scanner.toml, показывает ссылку конфига на ID карточки. |
| 60–85 | Практика в парах | ПЗ | Пары разбирают 5–7 findings: для каждого решают gate/fix/исключение; на 2 из них оформляют полную карточку и запись в реестр. |
| 85–90 | Рефлексия | обсуждение | Что закрепить в регламенте Организации: формат порогов, обязательность expiry, запрет «голых» mute. |
Контрольная точка
Слушатель должен по конкретному finding объяснить: какой порог политики он нарушает, должен ли его ловить gate или нужно управленческое решение, и — если оформляется исключение — кто автор, каково обоснование, какая компенсирующая мера и дата пересмотра.
Для преподавателя В наборе findings заложите ловушку: одно Critical-CVE, которое по VEX
not_affected(уязвимый код не вызывается). Цель — чтобы пары не оформляли на него принятие риска, а закрыли через VEX без открытия исключения. Это ярче всего разводит «допустимо по факту» и «остаточный риск».
Связь с практикой
Занятие напрямую готовит к П30. Исключения и принятие риска.