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

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

План занятия: Защита цепочки поставки и OSA

Длительность: 90 минут. Формат: лекция + демонстрация + практическая работа в парах.

Цели занятия

К концу занятия слушатель умеет: - классифицировать атаку на цепочку поставки по трём классам (вредоносный пакет / путаница в именах / подрыв апстрима) и назвать контроль под каждый; - объяснить разницу между OSA (контроль доступа на входе) и SCA (контроль состава), не сводя одно к другому; - описать архитектуру OSA-контура: блокирующий режим (плагин к менеджеру артефактов) vs сканирующий, OSA Proxy, карантин, политики; - спроектировать заготовку политики controlled repository с этапами warmup → monitoring → blocking.

Материалы

Ход занятия

Мин Блок Что происходит
0–8 Вводный кейс Разбираем червь Shai-Hulud: install → локальный поиск секретов → публикация → самораспространение в пакеты жертвы. Вопрос аудитории: на каком шаге SCA уже бессилен? (Ответ: SCA смотрит собранное, а нагрузка выполнилась на install.)
8–28 Лекция: таксономия атак Три класса атак с примерами: вредоносный пакет (кража env, бэкдор); путаница в именах (typosquatting djngo, combosquatting, brandjacking aws-…, slopsquatting / LLM-галлюцинации); подрыв апстрима (XZ, protestware node-ipc/colors/faker). Под каждый класс — контрмера.
28–48 Лекция: OSA-контур OSA на входе vs SCA по составу. Архитектура: плагин к Nexus/JFrog (блокирующий режим) vs OSA Proxy (без привязки к хранилищу) vs сканирующий режим (Harbor, GitLab Registry). Карантин «молодых» версий, dependency confusion и приоритет индексов. Разбор mermaid-потока из конспекта.
48–63 Демонстрация Преподаватель показывает запрос пакета через OSA-proxy: «чистый» пакет проходит, заблокированный (typosquat / из stop-list) — отказ, «молодая» версия — карантин. Показать фрагмент политики «условие → действие». Параллельно — построение SBOM на проверяемый Docker-образ через OSA.
63–85 Практическая работа (в парах) Слушатели проектируют политику controlled repository для своей экосистемы: этапы warmup/monitoring/blocking, 4–6 правил «условие → действие», правила карантина, процедура исключений и audit trail. См. Практическая работа.
85–90 Рефлексия и контрольная точка Каждая пара называет: какое правило точно сломает разработку без процедуры исключений, и чем подтверждается решение при аудите.

Контрольная точка

Слушатель должен: 1. на конкретной атаке показать, почему OSA ловит то, что SCA пропускает; 2. различить блокирующий и сканирующий режимы и сказать, какой нужен для критичного потока; 3. предъявить заготовку политики с этапами warmup → monitoring → blocking и процедурой исключений.

Домашнее задание

Достроить политику до состояния, пригодного для регламента Организации, по чек-листу из 05 Что проверять на проекте; свериться с П18. OSA Proxy режимы и ограничения на предмет границ применимости proxy-режима.