Хакеры взломали 1 900 аккаунтов GitHub и атаковали 30 000 репозиториев

1 час назад 3

Злоумышленники, стоящие за кампанией GhostAction, скомпрометировали около 1 900 учетных записей GitHub. С их помощью они внедрили вредоносные процессы GitHub Actions более чем в 30 000 репозиториев. Цель — похитить токены CI/CD, ключи доступа к облакам и API-ключи ИИ-провайдеров. Пик активности пришелся на 8 и 9 октября. В общей сложности хакеры попытавшись извлечь 3 174 секрета.

Как произошел взлом

В отличие от известных уязвимостей в самом механизме GitHub Actions, здесь хакеры использовали украденные учетные данные разработчиков для прямого изменения процессов. Аналитики из StepSecurity предполагают, что источником стали утекшие в сеть персональные токены доступа (PAT), хотя точный вектор атаки еще не подтвержден.

Злоумышленники, после получения доступа к репозиториям, маскировали свои задачи под стандартные проверки безопасности. Файлы именовались как security-audit.yml или github_actions_security.yml. Поскольку файлы ссылались на секреты, уже используемые в легитимных сборках, вредоносные процессы собирали учетные данные во время работы и отправляли их на подконтрольный сервер.

Глубокое сканирование Git-истории

Октябрьская версия атаки стала еще изощреннее и вышла за рамки секретов, явно указанных в рабочих процессах. Хакеры задействовали экшен actions/checkout@v4 с параметром fetch-depth: 0 для полного сканирования рабочего дерева и истории коммитов.

Что именно искали злоумышленники:

  • ключи AWS (более поздние версии скрипта захватывали соседние строки кода, чтобы сопоставить ID ключей с секретными ключами доступа);

  • токены PAT от GitHub и GitLab;

  • ключи от сервисов Google и Firebase;

  • API-токены ИИ-провайдеров — таких как, Anthropic, OpenAI и OpenRouter.

Все собранные учетные данные отправлялись по протоколу HTTP на IP-адрес 193.32.204.199. Важно: хакерам улетали даже те ключи, которые были давно удалены из текущей кодовой базы, но оставались в истории Git.

Информационная безопасность как услуга

Предоставляем ИТ‑инфраструктуру для проектов с повышенными требованиями безопасности, а также сервисы для защиты сетей, ОС и приложений.

Подробнее →

Масштаб и блокировки

Атака разворачивалась в несколько этапов: сначала вредоносный код доставили 160 уже известным жертвам, а спустя 20 минут началось массовое внедрение в 28 000 новых репозиториев. Точное количество украденных данных пока неизвестно, однако исследователи из GitGuardian зафиксировали факты утечки во время октябрьской кампании.

Во время предыдущих атак в августе и сентябре вредоносные процессы были найдены в 772 публичных репозиториях. Из 3 669 запусков успешно завершились 336, что привело к краже 26 секретов из 13 репозиториев.

Хотя встроенные механизмы одобрения GitHub блокируют большинство вредоносных действий, хакеры просто переиспользовали 92 старых процесса от предыдущих атак, включая инфраструктуру, которая была активна с сентября 2025 года. Хуже всего то, что к 5 октября очистить свои репозитории от вредоносного кода успели лишь 16% пострадавших (124 из 772).

Что делать

Рекомендуется предпринять несколько шагов:

  • проверить журналы аудита GitHub и активность PAT, чтобы выяснить, какие аккаунты изменяли файлы в директории .github/workflows/;

  • изучить историю запусков Actions, чтобы понять, какие именно секреты могли попасть в руки хакеров;

  • немедленно отозвать учетные данные всех скомпрометированных аккаунтов с правом записи, даже если уже вредоносный процесс удален;

  • обязательно обновить и перевыпустить облачные ключи, учетные данные для развертывания, токены реестров и API-ключи ИИ-провайдеров;

  • смените даже те пароли и ключи, которые были удалены из кода месяцы назад: они могли остаться валидными и утечь после сканирования истории Git.

Источник