Отравление пайплайна разработки. Часть 2.

CI/CD-платформы являются приоритетной целью для атакующих, и мы уже рассмотрели типичный сценарий атаки на CI-окружение, связанный с изменением конфигурационного файла. Но пока еще не ответили на вопрос: как защищаемся?

А вот исследователи из Open Source Security Foundation ответили. На примере коллекции наиболее распространенных атак на Github Actions, рассмотрены конкретные техники защиты от каждой проблемы. Если коротко и в формате «атака: защита»:

1. Запуск недоверенного кода в привелегированном рабочем процессе (Workflow): разделение процесса на два блока (с привелегиями и без).

2. Внедрение кода через недоверенный ввод данных, недоверенные файлы и файлы окружения: сбор параметров для Actions строку, ограничение прав на GitHub-токен до минимально необходимых.

3. Вредоносные Actions: ограничение прав на GitHub-токен до минимально необходимых, доверять только официальным Actions от GitHub (остальные - проверять на наличие уязвимостей и затем патчить, например, с помощью Dependabot).

4. Вредоносные коммиты: ограничение прав на GitHub-токен до минимально необходимых, сверять хэши Actions при обновлении Workflow.

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

Отравление пайплайна разработки. Часть 2. | Сетка — социальная сеть от hh.ru