Атака на GitHub Actions: бэкдор через изменяемый тег v5

3 марта 2026 года была зафиксирована значительная атака на цепочку поставок, нацеленная на GitHub Action xygeni/xygeni-action, широко используемую более чем в 137 репозиториях. Нападавшие сумели скомпрометировать учётные данные поддерживающего и внедрить в кодовую базу полноценный командный и контрольный (C2) обратный шелл‑бэкдор. Инцидент подчёркивает критические риски, связанные с использованием изменяемых тегов в GitHub Actions и уязвимостью CI/CD‑цепочек поставок.

Краткая хронология

Ключевые события инцидента:

  • Атакующие использовали компрометированные учётные данные администратора Xygeni для внесения изменений в репозиторий.
  • Были созданы три злонамеренных PR (pull request), все с одинаковым полезным грузом и замаскированные под тему «телеметрия версии сканера».
  • Хотя все PR были закрыты без слияния, атакующие изменили изменяемый тег v5, чтобы он указывал на скомпрометированный коммит 4bf1d4e, содержащий бэкдор.
  • В результате любое репозитории, использующее ссылку xygeni/xygeni-action@v5, осталось подвержено исполнению вредоносного кода без дополнительных PR‑слияний.

Техническое описание бэкдора

Инъецированный компонент представляет собой полноценный C2‑имплант, реализованный как обратный шелл. Его поведение включает:

  • Регистрацию на удалённом сервере по адресу 91.214.78.178 (C2).
  • Сбор информации: имя хоста GitHub runner, имя пользователя и версия ОС.
  • Периодический опрос сервера C2 каждые несколько секунд для получения команд.
  • Выполнение полученных команд и возврат результатов, кодированных в base64.
  • Отключение проверки TLS (чтобы избежать ошибок, связанных с сертификатами), аутентификация доступа к конечной точке C2 через заголовок Authorization.

Бэкдор действует незаметно в рамках обычных рабочих операций, что значительно усложняет обнаружение при отсутствии сетевого мониторинга и строгих ограничений на исходящие подключения с CI‑исполнителей.

«Атака иллюстрирует риск, связанный с изменяемыми тегами в GitHub Actions, которые могут быть изменены без ведома пользователя или дополнительных PR‑слияний, усложняя традиционные меры безопасности, такие как мониторинг версий и процессы ревью.»

Почему это сработало

Ключевые факторы успеха атаки:

  • Изменяемый тег. Тег v5 является mutable: его можно переназначить на другой коммит без какого‑либо слияния PR, поэтому репозитории, ссылaвшиеся на @v5, автоматически начали подтягивать скомпрометированный код.
  • Компрометация внутренних учётных данных. Атака реализована не как внешняя операция APT: злоумышленники использовали скомпрометированные учётные данные или токены администраторов Xygeni. Быстрое создание злонамеренных PR с разных аккаунтов указывает на фишинг или кражу учётных данных, а не на «insider»‑действия.
  • Отсутствие сетевого контроля. Отсутствие активного мониторинга исходящих соединений от CI‑runner’ов позволило C2‑трафику оставаться незамеченным.

Реакция Xygeni и текущее состояние

После обнаружения инцидента команда Xygeni оперативно приняла ряд мер по смягчению последствий. Тем не менее, на момент подготовки отчёта тег v5 оставался скомпрометированным, что означает длительную угрозу для любой CI/CD‑среды, использующей ссылку xygeni/xygeni-action@v5.

Риски для экосистемы CI/CD

Последствия такого инцидента выходят за рамки одного проекта:

  • Любой репозиторий, явно или косвенно использующий скомпрометированный тег, может выполнить вредоносный код в рамках своих workflow.
  • Техника подмены тега позволяет сохранять видимость «безопасной» среды: на первый взгляд workflows остаются прежними, хотя фактически они запускают чужой, вредоносный код.
  • Традиционные процессы ревью PR и мониторинга версий становятся недостаточными против подмены изменяемых тегов.

Рекомендации по снижению риска

Базовые и приоритетные меры, которые следует внедрить немедленно:

  • Фиксация действий по полным коммитам SHA (например, @) вместо изменяемых тегов (@v5). Это исключает незаметную подмену кода.
  • Использование только доверенных, активно поддерживаемых действий и регулярный аудит зависимостей в workflow.
  • Активный мониторинг сетевого трафика от CI‑runner’ов для обнаружения несанкционированных исходящих соединений (IP, домены, частые опросы C2).
  • Ограничение прав и ротация токенов/учётных данных, многофакторная аутентификация для администраторов, контроль доступа с принципом наименьших привилегий.
  • Запрет прямых пушей в критичные теги/ветки или требование подписи тегов (signed tags) и расширенный аудит активности, связанной с изменением тегов.
  • Внедрение политики для runners: минимальные права, изоляция, использование ephemeral runners там, где это возможно.

Вывод

Инцидент с xygeni/xygeni-action@v5 — наглядное предупреждение о том, что даже небольшая операция с тегом может привести к масштабной компрометации цепочки поставок. Без строгой практики фиксации зависимостей, контроля учётных данных и сетевого мониторинга CI/CD остаётся уязвимым перед подобными атаками. Организациям рекомендуется немедленно проверить свои workflow на предмет использования изменяемых тегов и принять описанные меры по снижению риска.

Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.

Ознакомиться подробнее с отчетом можно по ссылке.

Технологии киберугроз
Автор: Технологии киберугроз
Технологии киберугроз (бренд RST Cloud Russia) – технологическая компания, специализирующаяся на решениях по анализу угроз для предприятий любого размера. Мы собираем, нормализуем, обогащаем информацию о киберугрозах со всего мира. Нашими источниками являют более 260 открытых фидов, более 100 открытых поставщиков Threat Intelligence-отчетов, открытые online sandbox, социальные сети и репозитории GitHub. Мы также предоставляем ряд сервисов по: семантическом анализу Threat Intelligence-отчетов и приведения их в машиночитаемый формат STIX 2.1, проверки IoC на потенциальные ложноположительные сработки, а также получению WHOIS-записей для доменных имен.
Комментарии: