Содержание
GitHub столкнулся с новой массовой атакой: исследователи SafeDep нашли кампанию Megalodon, которая заразила более 5 500 репозиториев вредоносными коммитами. Цель — вытащить секреты из CI/CD и дальше расползтись по цепочке, как червь.
По данным SafeDep, атакующий маскируется под фейкового “бота” с именем build-bot. Он присылает «автоматический» коммит. Если мейнтейнер принимает изменения, в репозитории оказывается инфостилер, который начинает собирать чувствительные данные из пайплайнов.
Как работает Megalodon и почему он цепляется за CI/CD
Сценарий у Megalodon прямолинейный, но опасный. Злоумышленник делает ставку на доверие к «ботам», которые в проектах часто коммитят рутину. Приняли коммит — и дальше вредоносный код забирает секреты, а затем пытается распространяться на другие репозитории в “worm-like” стиле.
SafeDep пишет, что Megalodon охотится за ключами и конфигами, которые обычно лежат в окружениях сборки и деплоя. Это не «украли пароль от почты». Это доступ к инфраструктуре и поставке кода.
- AWS secret keys: секретные ключи AWS
- Google Cloud access tokens: токены доступа GCP
- Instance role credentials: учётные данные ролей инстансов в AWS, GCP и Azure
- SSH private keys: приватные SSH-ключи
- Docker и Kubernetes configs: конфигурации контейнеров и кластеров
- Vault tokens: токены HashiCorp Vault
- Terraform credentials: креды Terraform
Риск выходит за пределы GitHub, если проект публикуют в npm
На первом этапе под ударом именно мейнтейнеры на GitHub. Но проблема быстро становится шире, если заражённый репозиторий используют как источник для релиза пакета. SafeDep описала кейс, где компрометация GitHub дошла до npm и уже затронула пользователей пакета.
Пример — проект Tiledesk. По данным SafeDep, версии 2.18.6 (19 мая) — 2.18.12 (21 мая) содержали бэкдор. При этом тот же npm-аккаунт eljohnny (giovanni@tiledesk.com) опубликовал и чистую 2.18.5, и скомпрометированные версии. Исследователи подчёркивают: атакующий не взламывал npm-аккаунт. Он скомпрометировал GitHub-репозиторий, а публикация в npm прошла уже из «отравленного» исходника.
Почему Megalodon называют копией TeamPCP, но не частью их кампании
SafeDep описывает Megalodon как кампанию, вдохновлённую активностью TeamPCP. При этом The Register отдельно отмечает: Megalodon, похоже, не связан с тем, что TeamPCP недавно называли “supply chain attack competition” на Breach Forums. Логика простая: видим похожие приёмы, но это может быть другой актор, который решил повторить схему на фоне волны атак на цепочки поставок.
Полный список затронутых репозиториев SafeDep выложила у себя на сайте: full list of compromised GitHub repositories.