TeamPCP украли CI-ключи и атаковали GitHub Actions компании Checkmarx

Примерно 19 марта 2026 года, спустя четыре дня после взлома сканера уязвимостей Trivy от Aqua Security, исследователи из Sysdig и Wiz обнаружили, что облачная киберпреступная группировка TeamPCP добралась до рабочих процессов GitHub Actions компании Checkmarx. Checkmarx занимается безопасностью цепочек поставок программного обеспечения, что придаёт взлому особую иронию.
TeamPCP украли CI-ключи и атаковали GitHub Actions компании Checkmarx
Изображение носит иллюстративный характер

Механика атаки оказалась каскадной. TeamPCP воспользовались учётными данными, украденными ещё во время компрометации Trivy (инцидент получил идентификатор CVE-2026-33634 с критическим баллом CVSS 9.4). Конкретно был скомпрометирован сервисный аккаунт cx-plugins-releases, через который злоумышленники получили доступ к двум GitHub Actions: checkmarx/ast-github-action и checkmarx/kics-github-action. Метод заражения — принудительная перезапись тегов (force-push) на вредоносные коммиты. Тег выглядит как прежний, но указывает уже на отравленный код.
Исследователи Рами Маккарти, Джеймс Хогом и Бенджамин Рид из компании Wiz выяснили, что атака затронула и расширения на платформе Open VSX. Были троянизированы расширения ast-results (версия 2.53.0) и cx-dev-assist (версия 1.7.0). При этом версии тех же расширений в VS Code Marketplace остались чистыми — атакующие работали избирательно.
Вредонос, который исследователи назвали «TeamPCP Cloud Stealer», доставлялся через скрипт setup.sh, распаковывающий зашифрованный архив tpcp.tar.gz. Для запуска использовались различные менеджеры JavaScript-пакетов: npx, bunx, pnpx, yarn dlx. Список собираемых данных огромен: SSH-ключи, учётные данные Git, ключи Amazon Web Services, Google Cloud, Microsoft Azure, конфигурации Kubernetes и Docker, файлы .env, данные баз данных, VPN-конфигурации, настройки CI/CD-пайплайнов, криптовалютные кошельки, URL-адреса вебхуков Slack и Discord. Отдельно скрипт извлекал персональные токены доступа GitHub (PAT) прямо из памяти CI-раннера.
Украденные данные отправлялись на домен checkmarx[.]zone (IP-адрес 83.142.209[.]11, порт 443), а для расширений VSX использовался путь checkmarx[.]zone/vsx. Название домена — не случайность. Это целенаправленный тайпсквоттинг: в логах CI/CD-систем curl-запросы к такому адресу легко спутать с легитимным трафиком от самой Checkmarx. Хитрость простая, но в потоке тысяч строк лога она работает.
На случай если связь с сервером оборвётся, вредонос предусматривал запасной механизм. Используя переменную GITHUB_TOKEN жертвы, он создавал промежуточные репозитории для хранения украденных данных. В инциденте с Checkmarx такой репозиторий назывался docs-tpcp, в случае Trivy — tpcp-docs.
На системах, не связанных с CI (то есть обычных рабочих станциях или серверах), скрипт закреплялся через systemd user service. Далее он опрашивал адрес https://checkmarx[.]zone/raw каждые 50 минут, ожидая команд. Любопытная деталь: если ответ сервера содержал слово «youtube», скрипт немедленно прекращал работу. По состоянию на момент анализа эта ссылка вела на клип Queen «The Show Must Go On». То ли своеобразный kill switch, то ли чёрный юмор от авторов.
Checkmarx заявила, что ей «неизвестно о каком-либо воздействии на данные клиентов или production-окружения». Компания идентифицировала проблему и выпустила новые версии затронутых расширений VS Code, рекомендовав клиентам продолжать стандартные процедуры реагирования на инциденты, усилить мониторинг и проверить среды разработки и сборки.
Рекомендации по обнаружению и защите достаточно конкретны. Стоит проверить логи GitHub Actions раннеров на упоминания tpcp.tar.gz, scan.aquasecurity[.]org или checkmarx[.]zone. Нужно поискать в организациях GitHub репозитории с именами tpcp-docs и docs-tpcp. GitHub Actions необходимо привязывать к полным SHA-хешам коммитов, а не к тегам версий — теги можно перезаписать, хеши нет. Исходящие сетевые соединения с CI-раннеров нужно мониторить на предмет обращений к подозрительным доменам. Доступ к Instance М⃰data Service (IMDS) из контейнеров CI-раннеров лучше ограничить, перейдя на IMDSv2.
У TeamPCP есть и другая активность помимо атак на цепочки поставок. Группировка нацеливается на кластеры Kubernetes, используя вредоносный shell-скрипт, который полностью вайпит машины. Триггером служит обнаружение систем, настроенных на иранский часовой пояс и локаль. Зачем именно такой критерий — пока неясно, но это ещё один штрих к портрету группировки, действующей методично и с размахом.


Новое на сайте

19817В Луксоре нашли стелу с римским императором в образе фараона 19816Экипаж Artemis II о моменте, когда земля исчезла за луной 19815Почему луна выглядит по-разному в разных точках земли? 19814Adobe экстренно закрыла опасную дыру в Acrobat Reader, которую хакеры использовали с... 19813Метеорный поток, рождённый из умирающего астероида 19812Когда робот пишет за тебя прощальную смс 19811Что общего у лунной миссии, толстого попугая, загадочной плащаницы и лекарства от диабета? 19810Какие снимки Artemis II уже стали иконами лунной программы? 19809Кто на самом деле хочет сладкого — вы или ваши бактерии? 19808Как рекламные данные 500 миллионов телефонов оказались в руках спецслужб? 19807Экипаж Artemis II вернулся на землю после десяти дней в космосе 19806Зелёная и коричневая луна: почему геологи Artemis II уже не могут усидеть на месте 19805Эксперты уверены в теплозащитном щите Artemis II, несмотря на проблемы предшественника 19804Выжить внутри торнадо: каково это — когда тебя засасывает в воронку 19803Аляскинские косатки-охотники на млекопитающих замечены у берегов Сиэтла
Ссылка