Как TeamPCP взломала Checkmarx и превратила её инструменты в оружие против разработчиков?

Компания Checkmarx занимается защитой программных цепочек поставок — и именно она стала жертвой атаки на цепочку поставок. Это не ирония судьбы, это точный расчёт. Неизвестные злоумышленники, за которыми стоит группировка TeamPCP, скомпрометировали сразу несколько официальных каналов распространения продуктов Checkmarx: образы Docker Hub и расширения для Microsoft Visual Studio Code. Атаку обнаружила и задокументировала компания Socket, тоже специализирующаяся на безопасности цепочек поставок.
Как TeamPCP взломала Checkmarx и превратила её инструменты в оружие против разработчиков?
Изображение носит иллюстративный характер

Среди скомпрометированных активов оказался репозиторий Docker Hub checkmarx/kics. К моменту публикации отчёта он был архивирован. Злоумышленники перезаписали теги 1.20-debian, v2.1.21-debian, debian, v2.1.21, v2.1.20, alpine и latest. Тег v2.1.21 особого внимания — он вообще не соответствовал никакому официальному релизу Checkmarx. Вредоносный образ содержал ELF-бинарник, написанный на Go и замаскированный под легитимный сканер KICS. Он генерировал отчёт о сканировании, шифровал его и отправлял на внешний C2-сервер. Целью были файлы Infrastructure-as-Code — Terraform, CloudFormation, Kubernetes — то есть ровно те файлы, которые чаще всего содержат чувствительные конфигурации и учётные данные.
С расширениями для VS Code история не менее тревожная. В расширении cx-dev-assist вредоносными оказались версии 1.17 (1.17.0) и 1.19 (1.19.0), а версия 1.18.0 была чистой — злоумышленники временно убрали код, скорее всего чтобы усыпить бдительность. В расширении ast-results заражёнными были версии 2.63 и 2.66, безопасная — 2.64.0. Метод внедрения заслуживает отдельного описания: в репозиторий Checkmarx/ast-vscode-extension был добавлен бэкдейтированный поддельный коммит с хешем 68ed490b, прикреплённый к реальному коммиту как родительский. Год создания был намеренно выставлен как 2022-й, чтобы коммит выглядел давним и легитимным.
Полезная нагрузка в расширениях — это файл modules/mcpAddon.js весом около 10 МБ, замаскированный под скрытую функцию Model Context Protocol (MCP). Расширение обращалось к жёстко прописанному URL на GitHub и запускало удалённый аддон через среду выполнения Bun без какого-либо подтверждения со стороны пользователя и без проверки целостности. Данные уходили на тот же C2-сервер, что и в случае с Docker-образами.
Что именно крали: токены GitHub, npm-credentials, SSH-ключи, секреты CI/CD и облачные учётные данные. Украденные токены использовались для создания публичных репозиториев прямо в аккаунтах жертв — туда складывались сжатые и зашифрованные данные. Адрес для передачи телеметрии — checkmarx[.]cx/v1/telemetry. Репозитории легко опознать по README с фразой "Checkmarx Configuration Storage". На момент написания отчёта таких репозиториев было найдено 51. Среди конкретных названий: gesserit-melange-813, atreides-heighliner-520, prescient-sandworm-556, prana-melange-944.
Параллельно с эксфильтрацией данных атака распространялась горизонтально. В репозитории жертв внедрялся новый workflow-файл github/workflows/format-check.yml, который автоматически срабатывал при push-событиях и захватывал секреты CI/CD как артефакты. Сразу после этого ветка и записи о запуске workflow удалялись, чтобы не оставить следов. Помимо этого, украденные npm-credentials использовались для публикации заражённых версий пакетов — до 250 пакетов, которые поддерживала жертва, могли быть перевыпущены с вредоносной нагрузкой, заражая уже пользователей downstream.
GitHub Actions тоже не остались в стороне. Ещё в марте 2026 года TeamPCP скомпрометировала два workflow Checkmarx: ast-github-action и kics-github-action. Вредоносной была версия 2.3.35 для Checkmarx/ast-github-action, безопасной — 2.3.36. Первый публичный репозиторий, созданный злоумышленниками для экфильтрации данных, появился 22 апреля 2026 года в 13:48 UTC.
Инфраструктура C2 включает два домена с соответствующими IP-адресами: audit.checkmarx[.]cx на адресе 94.154.172[.]43 и checkmarx[.]cx на 91.195.240[.]123. Это важно для тех, кто проверяет сетевые логи. Ранее TeamPCP атаковала Trivy, LiteLLM и Telnyx — то есть это не разовая операция, а систематическая работа группы с понятной специализацией на OSS-экосистемах.
После того как инцидент стал публично известен, TeamPCP написала в X (бывший Twitter): «Спасибо OSS distribution за ещё один очень успешный день в PCP inc.» Это не случайная бравада — это маркер для тех, кто отслеживает группу.
Checkmarx и Socket сформулировали конкретный план действий для организаций, которые могли использовать скомпрометированные версии. Первое: всё, что было доступно вредоносным KICS-сканам в Terraform, CloudFormation или Kubernetes, нужно считать скомпрометированным. Второе: заблокировать оба домена и IP-адреса C2-инфраструктуры. Третье: ротировать абсолютно все учётные данные — GitHub-токены, npm-токены, облачные ключи, SSH-ключи, CI/CD-секреты. Четвёртое: проверить GitHub-аккаунты на наличие посторонних репозиториев и подозрительных workflow, особенно format-check.yml. Пятое: проверить npm на предмет несанкционированных публикаций. Шестое: изучить логи доступа на предмет аномальной активности токенов и необычных облачных операций. Седьмое: перейти на безопасные версии продуктов и зафиксировать все артефакты через pinned SHA, чтобы исключить подмену тегов в будущем.


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

20072Эффект красоты решает исход собеседования до первых слов 20069Как черта характера крадёт деньги на переговорах 20068Карточная игра против главной дисфункции команды 20067Какие три нарратива способны провести компанию сквозь любой кризис? 20066Фотосинтез в глазах мышей: возможно ли это без превращения в растение? 20065СПКЯ стало СПМЯ: почему переименование болезни, затрагивающей миллионы женщин, заняло так... 20064Почему великая пирамида Гизы пережила все землетрясения за 4500 лет 20063Генетика Homo erectus: что зубная эмаль рассказала о наших предках 20062Кости в бухте Эребус: что кости моряков Франклина рассказывают спустя полтора века 20061Крупнейший плавучий ветрогенератор в мире: Китай испытывает установку у берегов Шанхая 20060Карие глаза младенца стали индиго после лечения от COVID-19 20058Почему серебряная чаша с Афиной пролежала в немецком лесу две тысячи лет? 20057Дыра в атмосфере солнца: вспышка достигла пика и может зажечь полярное сияние 20056Динго возрастом 950 лет: кто и зачем кормил могилу животного сотни лет?
Ссылка