Атака на цепочку поставок через GitHub Actions: кампания "Megalodon" скомпрометировала тысячи репозиториев

security

Примерно 18 мая 2026 года началась масштабная атака на цепочку поставок открытого программного обеспечения. Злоумышленники скомпрометировали множество конфигурационных файлов YAML для инструмента непрерывной интеграции GitHub Actions. В эти файлы они внедрили вредоносный скрипт, закодированный в формате base64. Этот скрипт обеспечивал связь с сервером управления, который располагался по IP-адресу 216.126.225[.]129. Анализ содержимого ответов веб-сервера на этом адресе показал, что кампания связана с более ранней атакой. В той предыдущей атаке использовался аналогичный скрипт для кражи учётных данных, а также вредоносный контейнер Docker с майнером криптовалют.

Описание

Первым на масштабную компрометацию обратил внимание пользователь @abh1sek в социальной сети X. Он опубликовал сведения о том, что вредоносные действия были добавлены в конфигурацию CI (continuous integration, непрерывная интеграция) в виде строки base64. После декодирования этой строки исследователи получили сам скрипт. В нём явно был указан URL сервера управления. Как показал анализ в инструменте Spectra Analyze, этот хост обслуживался провайдером RouterHosting LLC (автономная система ASN 14956). В строке запроса присутствовала метка кампании "megalodon", а также параметр "gh_dump", который явно указывал на кражу данных из репозиториев GitHub.

Не менее интересным оказалось содержимое ответа сервера C2, когда он не получал ожидаемого запроса от заражённого скрипта. В ответах содержалась справка самого сервера управления. Эта справка, в частности, показывала, что похищенные из репозиториев GitHub данные записываются в файлы в корневом каталоге с именем "loot". Кроме того, в справке присутствовала строка с теми же ключами запроса, что и в URL, собранном из вредоносного действия GitHub. Исследователи преобразовали эту строку в шестнадцатеричное представление и создали правило YARA (инструмент для поиска вредоносных сигнатур) для выявления подобных серверов управления в будущем.

Пользователь @abh1sek сообщил в социальной сети о том, что ретроспективный поиск (retrohunt) в системе Spectra Analyze позволил найти аналогичное содержимое ответа C2, собранное ещё 8 мая 2026 года. То есть кампания действовала как минимум за две недели до широкой огласки. В этом более раннем ответе содержался URL с именем кампании "cp2.hostable.com". Инфраструктура той атаки, судя по всему, была той же самой, и она тоже была направлена на кражу данных и майнинг криптовалют. Открытые источники, включая посты на Reddit и LinkedIn, подтвердили наличие связанных с этой активностью инцидентов.

Атака такого типа - на инфраструктуру непрерывной интеграции - особенно опасна, потому что доверенная среда сборки позволяет быстро распространять вредоносное ПО. Скомпрометированное действие GitHub Actions выполняется при каждой сборке, заражая все последующие артефакты. В результате под удар попадают сотни и тысячи проектов, использующих такие репозитории. В данном случае злоумышленники не просто внедрили код, но и создали сложную многоэтапную кампанию, объединив кражу учётных данных и скрытый майнинг.

Для специалистов по информационной безопасности этот инцидент служит напоминанием о необходимости тщательно проверять все изменения в конфигурационных файлах CI/CD (непрерывная интеграция и доставка). Особое внимание стоит уделить внезапным правкам YAML-файлов, особенно если они содержат закодированные строки. Инструменты мониторинга, такие как Spectra Analyze или системы класса EDR, должны быть настроены на поиск аномалий в ответах от внешних хостов, а также на признаки ретроспективных кампаний.

Связь между текущей кампанией "Megalodon" и более ранней атакой, включавшей майнер и кражу учётных данных, показывает, что злоумышленники постоянно совершенствуют свои методы. Они адаптируют инфраструктуру, меняют домены, но сохраняют характерные техники. Ретроспективный анализ телеметрии (исторических данных) оказывается решающим для обнаружения таких длительных цепочек атак. Без него исследователи могли бы счесть инцидент майским единичным случаем, но теперь ясно, что угроза существовала дольше и, вероятно, продолжает развиваться.

Компаниям, использующим GitHub Actions и другие облачные CI-сервисы, стоит пересмотреть политики безопасности своих репозиториев. Рекомендуется ограничить возможность автоматического принятия изменений в конфигурацию сборки, внедрить обязательное рецензирование (code review) для всех коммитов, затрагивающих файлы .github/workflows. Дополнительно следует настроить предупреждения о появлении новых скрытых действий, а также использовать инструменты статического анализа для выявления подозрительно закодированных строк. Однако главный урок этой истории - необходимость быть готовым к тому, что атака может скрываться внутри доверенной цепочки поставок и проявляться не сразу, а через длительное время, постепенно накапливая украденные данные и вычислительные ресурсы.

Индикаторы компрометации

URLs

  • http://144.172.116.48:8080/?h=cp2.hostable.com&l=found&id=94f7511e-08d6-421e-bdc1-d420f4c93d331777695161953
  • http://216.126.225.129:8443?h=megalodon&l=gh_dump&id=4ny72dgixww6

YARA

Комментарии: 0