Компрометация GitHub: угроза безопасности CI/CD и сторонним зависимостям

Источник: unit42.paloaltonetworks.com
Недавно произошла компрометация действия tj-actions/changed-files на GitHub и связанных с ним действий в организации reviewdog. Этот инцидент сигнализирует о значительных рисках для безопасности в конвейерах CI/CD, особенно в свете использования сторонних зависимостей.
Механизм атаки
Злоумышленники использовали уязвимости, изменяя исторические версии действия tj-actions/changed-files, помеченные тегами, чтобы ссылаться на вредоносную фиксацию. Это позволяло любым рабочим процессам, использующим выпущенные версии данного действия, выполнять скомпрометированный код.
Вредоносная фиксация, идентифицированная по хэшу SHA1 0e58ed8671d6b60d0890c21b07f8835ace038e67, способствовала выполнению скрипта на Python, который извлекал конфиденциальные данные CI/CD из памяти runner и печатал их в открытых журналах рабочего процесса.
Причины уязвимости
Атака стала возможной благодаря неадекватным мерам безопасности в репозитории tj-actions/changed-files, включая:
- Отсутствие подписанных коммитов;
- Недостаточные средства защиты ветвей и тегов;
- Использование личного токена доступа (PAT) для маскировки действий злоумышленника.
Также было обнаружено, что компрометация организации reviewdog открыла доступ к действию tj-actions/changed-files, которое зависело от reviewdog/action-setup, содержащего вредоносный код.
Уровень риска
Этот инцидент в первую очередь затрагивает общедоступные хранилища. Скомпрометированные рабочие процессы могут раскрыть секреты, хранящиеся в памяти агента, часто в формате Base64 с двойным кодированием. Риск усугубляется существованием специфичных для репозитория GITHUB_TOKENs, генерируемых во время выполнения рабочего процесса, которые могут иметь расширенные разрешения.
Злоумышленник, получивший доступ к рабочему процессу GitHub Actions в репозитории с разрешениями на запись, может запустить вредоносный код, что может привести к проникновению в производственную среду.
Рекомендации по повышению безопасности
Стратегии снижения рисков для организаций включают:
- Проведение тщательных аудитов действий в репозиториях для выявления использования затронутых действий tj-actions/changed-files;
- Проверку любых раскрытых секретов в журналах рабочего процесса;
- Чередование и обновление действий при необходимости;
- Внедрение строгих процедур проверки сторонних сервисов;
- Обеспечение контроля доступа на основе конвейера (PBAC);
- Переход на токены с коротким сроком службы.
Кроме того, рекомендуется использовать закрепленные действия на GitHub с определенными хэшами SHA-1 для фиксации, вместо изменяемых тегов или ветвей, что может значительно снизить риск воздействия вредоносного кода.
Заключение
Таким образом, бдительность в управлении интеграциями сторонних разработчиков и использование надежных средств контроля в рамках конвейеров CI/CD становятся необходимыми мерами для защиты от атак на цепочки поставок, как это продемонстрировал недавний компромисс. Организации должны принимать упреждающие меры безопасности, чтобы защитить свои автоматизированные процессы от потенциального использования.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



