Атака на GitHub: компрометация tj-actions/changed-files угрожает цепочкам поставок

Источник: www.sentinelone.com
12 марта 2025 года на GitHub произошла значительная атака на цепочку поставок, связанная с компрометацией приложения tj-actions/changed-files. Этот широко используемый инструмент был интегрирован в более чем 23 000 проектов по разработке программного обеспечения, и атака существенно подорвала доверие к механизмам безопасности платформы.
Методы атаки и последствия
Злоумышленники применили интересную тактику, вставив единственный коммит с хэшем 0e58ed8671d6b60d0890c21b07f8835ace038e67. Этот коммит изменял теги версий задним числом и позволял скрытно получать конфиденциальные учетные данные через общедоступные журналы действий на GitHub.
Атака была классифицирована как CVE-2025-30066, что подчеркивает её важность и демонстрирует существующие уязвимости даже в хорошо зарекомендовавших себя компонентах.
Технические аспекты компрометации
Злоумышленники использовали обфускацию, внедряя Node.js функцию, содержащую полезную нагрузку в кодировке base64. Это значительно усложняло ее обнаружение во время проверок. После выполнения полезная нагрузка подключалась к внешнему Gist на GitHub, чтобы загрузить скрипт на Python с именем memdump.py, который предназначался для захвата содержания памяти.
Уязвимости и последствия для репозиториев
Скрипт на memdump.py был специально создан для поиска токенов критической инфраструктуры, включая:
- Ключи доступа AWS
- Токены личного доступа GitHub
- Токены NPM
- Закрытые ключи RSA
Злоумышленники использовали регулярные выражения для обнаружения этих данных в процессе выполнения.
Воздействие атаки варьировалось в зависимости от доступности репозитория. Публичные репозитории подвергались непосредственному риску из-за раскрытия секретов, тогда как частные требовали более тщательной оценки. Это подчеркивает необходимость регулярной ротации секретов в обоих случаях.
Рекомендации по улучшению безопасности
Инцидент с tj-actions/changed-files выделяет уязвимость и хрупкость цепочки поставок CI/CD. Организациям рекомендуется:
- Проводить тщательный поиск следов взлома с использованием функциональных возможностей GitHub.
- Просматривать журналы рабочих процессов на предмет подозрительных строк с двойным кодированием.
- При обнаружении скомпрометированных учетных данных — провести срочную ротацию и прекратить использование ошибочных действий.
- Рассмотреть ввод в эксплуатацию средств контроля, таких как закрепление хэша фиксации.
- Интегрировать средства сканирования безопасности в конвейеры CI/CD.
Подобные меры помогут ускорить выявление уязвимостей и минимизировать риск в будущем, подчеркивая важность постоянного аудита зависимостей от сторонних разработчиков и разработки надежных планов реагирования на инциденты.
Инцидент с tj-actions/changed-files служит важным напоминанием о необходимости построения многоуровневой системы безопасности в средах разработки программного обеспечения. Это укрепит баланс между доверием и проверкой, обеспечивая надежность работы программных компонентов.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.


