Принципы безопасности для пакетных репозиториев

Безопасность публичных репозиториев и собственных хранилищ артефактов не теряет своей актуальности с возросшим количеством атак на цепочку поставки. Оценивать важно, оценивать нужно.

В феврале 2024 года в сообществе Open Source Security Foundation (OSSF) были опубликованы Принципы безопасности пакетных репозиториев, которые не потеряли своей актуальности и сегодня.

Команда CodeScoring подготовила перевод и делится с сообществом.

Авторы оригинала: Jack Cable (CISA), Zach Steindler. Предложить улучшения можно в репозитории рабочей группы.


Контекст

Рабочая группа OpenSSF Securing Software Repositories подготовила разбор пакетных репозиториев и принципов для их защиты. Цель документа — предложить лучшие практики, к которым репозиториям стоит стремиться.

Под пакетным репозиторием (или реестром пакетов) мы понимаем сервис, который хранит и индексирует пакеты, позволяя пользователям и инструментам скачивать их. Часто для скачивания пакетов применяют CLI-инструмент, а в некоторых экосистемах их сразу несколько. Большая часть описанных защитных мер относится к самому репозиторию, но отдельный раздел посвящен мерам безопасности CLI-инструментов.

Не все рекомендации по безопасности применимы ко всем репозиториям. Например, https://proxy.golang.org/ не управляет учетными записями пользователей, поэтому ему не нужна документированная процедура восстановления аккаунта.

Особенности репозиториев пакетов

Набор защитных мер зависит от того, какие функции предоставляет репозиторий пакетов. Например, если в репозитории есть учетные записи пользователей, он должен безопасно реализовывать аутентификацию. В этом разделе перечислены значимые характеристики репозиториев пакетов.

Есть ли у репозитория пакетов учетные записи пользователей?

Как репозиторий работает с пакетами?

Защитные меры репозиториев пакетов

Документ определяет четыре уровня зрелости безопасности:

Эти уровни разделены на четыре направления, описанные ниже: аутентификация, авторизация, общие возможности и CLI-инструменты. Не все направления применимы ко всем пакетным репозиториям, как указано выше. Такое разделение помогает репозиториям оценивать безопасность по разным аспектам.

Аутентификация

Применимо к репозиториям пакетов, в которых есть учетные записи пользователей.

Уровень 1

Уровень 2

Уровень 3

Авторизация

Применимо к репозиториям пакетов, в которых есть учетные записи пользователей и которые принимают собранные пакеты.

Уровень 1

Уровень 2

Уровень 3

Общие меры

Применимо ко всем репозиториям пакетов.

Уровень 1

Уровень 2

Уровень 3

CLI-инструменты

Применимо ко всем экосистемам управления пакетами, хотя здесь основной фокус сделан на CLI-инструментах, а не на самом реестре.

Уровень 1

Уровень 2

Уровень 3

Подписывайтесь на Codescoring в TelegramМАКСеYouTube или VK.

@amaksimovv
03.07.2026 16:10 UTC
Первоисточник