Исследователи обнаружили новую волну GhostAction, кампании по краже цифровых ключей через GitHub. По данным Socket, к 9 октября 2026 года вредоносные файлы добавили более чем с 500 аккаунтов в десятки тысяч репозиториев.
Атака использует GitHub Actions, сервис для автоматического запуска сборки, тестов и других операций с кодом. Злоумышленники добавляют workflow, то есть файл с командами для этого сервиса, под видом проверки безопасности. Сценарий собирает токены публикации пакетов, ключи облачных платформ и ИИ-сервисов, учётные данные GitHub и GitLab, а затем отправляет их на сервер атакующих по незашифрованному HTTP.
Что произошло 8 октября
Два скомпрометированных аккаунта разработчиков за несколько минут распространили файл security-audit.yml по 346 репозиториям, включая принадлежащий Uber проект uber/athenadriver. Изменения вносились прямо в основную ветку от имени владельцев аккаунтов, без запроса на проверку.
StepSecurity изучила журнал запуска в uber/athenadriver: сервер злоумышленников подтвердил получение данных через четыре секунды после старта сценария. В репозитории Pyxel вредоносный workflow успешно запускался пять раз.
Новая версия GhostAction проверяет не только секреты, сохранённые в GitHub Actions, но также файлы проекта и всю доступную историю Git. Поэтому атакующим мог достаться ключ, который разработчик когда-то добавил в код, а затем удалил обычным коммитом. На 9 октября исследователи не нашли вредоносных версий пакетов, опубликованных с украденными токенами.
Что это значит
- Проверьте репозитории, ветки и форки на файлы
security-audit.yml,github_actions_security.ymlиsecurity-check.yml, а также изучите историю запусков GitHub Actions с 31 августа. Индикаторы опубликованы у StepSecurity, Socket и GitGuardian. - При обнаружении workflow отзовите учётные данные GitHub, позволившие внести изменения, и замените все доступные сценарию токены: секреты Actions, ключи облаков и ИИ-сервисов, SSH-ключи и токены публикации. Учитывайте ключи, когда-либо попадавшие в историю Git: простого удаления из кода недостаточно.
- Удалите вредоносный файл из всех веток и проверьте форки. Если были настроены токены публикации, не выпускайте новые версии до завершения проверки.
- Изучите журналы GitHub, облачных платформ и реестров пакетов на неизвестные входы, изменения прав и публикации после появления вредоносного файла.
