Как читать авторский курс и нормативные материалы
Это учебные материалы, а не заключение о соответствии конкретного продукта. Организационные модели курса отделяйте от терминов стандарта: ППК в опубликованном проекте — машиночитаемый перечень, а живой реестр его версий является практикой сопровождения. Термин OSA в разных материалах имеет разный охват. Статус и обязательность нормативного документа проверяются отдельно; проект КАПО опубликован как проект первой редакции.
Требования к controlled repository
Назначение Задаёт требования к управляемому хранилищу компонентов (controlled repository / OSA proxy): какие источники разрешены, как небезопасный пакет блокируется или отправляется в карантин до попадания в сборку. Это «входной фильтр» цепочки поставки — раньше, чем CI security gate.
Когда применяется
При построении внутреннего контура зависимостей, при переходе на закрытый периметр, при настройке проксирования пакетных менеджеров. Действует постоянно на каждую загрузку пакета в контур.
Требования к источникам
- [ ] Прямые обращения сборок к публичным registry запрещены — только через controlled repository.
- [ ] Список разрешённых upstream-источников утверждён и версионируется.
- [ ] Каждый втянутый компонент получает PURL/CPE и попадает в реестр контура.
- [ ] Внутренние форки публичных библиотек маркируются private qualifiers (см. П24. PURL нормализация и private qualifiers).
Политика блокировки и карантина
| Событие при загрузке | Действие контура |
|---|---|
| Пакет с уязвимостью выше порога политики | блокировка загрузки |
| malware / protestware | блокировка + алерт ИБ |
| Запрещённая лицензия | блокировка |
| Новый, ранее не виденный пакет/версия | карантин до проверки «генератором фактов» |
| Несовпадение хеша/подписи upstream | блокировка (подмена) |
| Отложенная блокировка (delayed) | пропуск на заданный интервал, затем блок |
Поддерживаемые режимы проксирования
- [ ] Для каждого пакетного менеджера зафиксирован режим: OSA Proxy (Maven, NPM, PyPI, NuGet, Go, APT/RPM, Docker) либо плагин repo-manager (Nexus/JFrog) для остальных (Conan, Conda, RubyGems).
- [ ] Для пакетных менеджеров вне Proxy явно описано, чем обеспечивается контроль (см. П18. OSA Proxy режимы и ограничения).
- [ ] Для C/C++ без пакетного менеджера controlled repository дополняется build-инвентаризацией (источник истины — сборка, не registry).
Слепая зона режимов Не путать «SCA анализирует пакет» и «Proxy блокирует загрузку». Для части менеджеров доступен только анализ, но не proxy-перехват — это фиксируется как ограничение, а не выдаётся за полный firewall.
Evidence и аудит
- Каждая блокировка/карантин — запись в audit trail.
- Реестр разрешённых источников и логи блокировок — evidence в Матрица evidence для аудита.