Пять тысяч пятьсот шестьдесят один репозиторий — именно столько проектов на GitHub были заражены, согласно свежему отчету Security Week. Виновником стал Megalodon.

Это не рыба. Это атака на цепочку поставок, произошедшая 18 мая. Исследователи из SafeDep изложили все детали. Злоумышленники не пытались действовать тихо. Они использовали одноразовые аккаунты с поддельными именами вроде build-bot или pipeline-bot. Надежные названия для ненадежной деятельности.

За шесть часов автоматизированная кампания отправила 571 вредоносный коммит. Много изменений, когда никто не смотрит.

Цель? Кража секретов.

Секреты CI. Облачные учетные данные. SSH-ключи. OIDC-токены. Исходный код. Вредоносное ПО внедрило base64-кодированные bash-скрипты прямо в рабочие процессы GitHub Actions. Каждый раз, когда запускался пайплайн, он передавал данные пользователей на сервер управления и контроля по адресу 216.126.125.12.1:8443.

StepSecurity определила, что это такое.

«Megalodon — классическая прямая атака Poison Pipeline Execution (d-PPE). Это тип уязвимости CI/CD, при котором кто-то с правами записи вставляет вредоносный код непосредственно в файлы рабочих процессов. Затем CI-система выполняет эти команды, как послушный работник.

Действительно ли все должно было произойти так быстро? Вероятно, да. Автоматизированные кампании не ждут. Они просто выполняются.

SafeDep предупреждает всех затронутых немедленно откатить свои репозитории. Проверьте каждый файл рабочего процесса. Изучите историю. Ищите авторов-ботов с поддельными именами. Для некоторых может быть уже слишком поздно.

20 мая GitHub опубликовал сообщение о компрометации устройства сотрудника. Эта история имеет заголовок. Атака Megalodon — нет. По крайней мере, от GitHub пока что нет.

Молчание не всегда извинение. Иногда это просто шум. Возможно, вам стоит проверить свои зависимости, прежде чем отправлять следующий коммит.