TeamPCP взломала GitHub Actions Checkmarx через украденные CI-токены

24.03.2026
TeamPCP взломала GitHub Actions Checkmarx

TeamPCP взломала GitHub Actions Checkmarx

Киберпреступная группировка TeamPCP, уже известная по атаке на цепочку поставок Trivy, продолжает расширять охват. На этот раз злоумышленники скомпрометировали два рабочих процесса GitHub Actions, принадлежащих компании Checkmarx — специалисту в области безопасности цепочек поставок. 

Речь идёт о следующих репозиториях:

  • checkmarx/ast-github-action

  • checkmarx/kics-github-action

По данным облачной безопасности компании Sysdig, атака использовала идентичный похититель учётных данных, который применялся в инциденте с уязвимостью Trivy (отслеживается как CVE-2026-33634 с базовой оценкой CVSS 9,4). Симптоматично, что компрометация новых действий произошла спустя примерно четыре дня после взлома Trivy — 19 марта 2026 года. Это позволяет предположить, что украденные при атаке на Trivy учётные данные были использованы для заражения дополнительных Actions в скомпрометированных репозиториях.

Механика атаки и похититель данных

Вредоносное ПО, получившее название TeamPCP Cloud Stealer, нацелено на кражу широкого спектра конфиденциальных данных:

  • SSH-ключи и токены Git;

  • учётные записи облачных провайдеров (AWS, Google Cloud, Microsoft Azure);

  • конфигурации Kubernetes, Docker и VPN;

  • файлы окружения (.env);

  • данные криптовалютных кошельков;

  • URL-адреса вебхуков Slack и Discord;

  • настройки CI/CD.

Метод внедрения остаётся прежним: злоумышленники принудительно отправляют (force-push) теги в вредоносные коммиты, содержащие полезную нагрузку — скрипт setup.sh. Похищенные данные шифруются и отправляются на домен checkmarx[.]zone (IP-адрес 83.142.209[.]11:443) в виде зашифрованного архива tpcp.tar.gz.

В новой версии атаки предусмотрен резервный канал эксфильтрации: если отправка на сервер не удаётся, злоумышленники создают репозиторий docs-tpcp с использованием GITHUB_TOKEN жертвы и складируют похищенную информацию там. Для сравнения, в инциденте с Trivy использовалось имя репозитория tpcp-docs.

Техники обмана и скрытности

Аналитики Sysdig обращают внимание на изощрённый метод маскировки: для каждого скомпрометированного Actions используется домен с тайпсквоттингом (типографической подменой), имитирующий официальный домен вендора. Аналитик, просматривающий логи CI/CD, видит трафик curl к адресу, который на первый взгляд выглядит как легитимный домен самого вендора. Это существенно снижает вероятность ручного обнаружения аномалии.

Главная опасность заключается в том, что похититель извлекает учётные данные непосредственно из памяти CI-раннера в момент выполнения скомпрометированного действия. Если добытые токены имеют права на запись в репозитории, которые также используют Actions Checkmarx, злоумышленник получает возможность внедрять вредоносный код в новые цели. Это открывает путь к каскадной компрометации цепочки поставок: одно отравленное действие захватывает секреты, которые затем используются для отравления других действий.

«Идентичная полезная нагрузка, схема шифрования и соглашение об именовании tpcp.tar.gz подтверждают, что это тот же злоумышленник, расширяющий своё влияние за пределы первоначальной компрометации Trivy, — отмечают в Sysdig. — В данном случае код-ревью и сканирование зависимостей не сработали, потому что вредоносный код был внедрён в доверенное действие прямо в источнике».

Компрометация расширений Open VSX

По данным компании Wiz, атака, вероятно, была осуществлена через взлом сервисного аккаунта cx-plugins-releases. Злоумышленники опубликовали троянизированные версии расширений Open VSX — ast-results (версия 2.53.0) и cx-dev-assist (версия 1.7.0). Версии в VS Code Marketplace не пострадали.

После активации расширения вредоносная нагрузка проверяет наличие у жертвы учётных данных хотя бы одного облачного провайдера (GitHub, AWS, Google Cloud, Microsoft Azure). Если такие данные обнаруживаются, расширение загружает следующий этап полезной нагрузки с того же домена checkmarx[.]zone.

Исполнение происходит через менеджеры пакетов JavaScript: npx, bunx, pnpx или yarn dlx. Извлечённый пакет содержит полноценный похититель учётных данных. Собранные данные шифруются с использованием ключей, применяемых в этой кампании, и отправляются на checkmarx[.]zone/vsx в виде всё того же архива tpcp.tar.gz.

На системах, не являющихся CI-средой, вредоносное ПО устанавливает постоянство (persistence) через службу systemd. Скрипт постоянства опрашивает https://checkmarx[.]zone/raw каждые 50 минут в поисках дополнительных полезных нагрузок. В коде предусмотрен механизм аварийной остановки (kill switch): если ответ сервера содержит строку «youtube», выполнение прерывается. На момент анализа ссылка перенаправляла на песню The Show Must Go On группы Queen.

Рекомендации по смягчению угрозы

Для защиты от подобных атак специалисты рекомендуют незамедлительно выполнить следующие действия:

  • Сменить все секреты, токены и облачные учётные данные, которые были доступны CI-раннерам в период, затронутый атакой.

  • Проверить журналы выполнения GitHub Actions на наличие упоминаний tpcp.tar.gz, scan.aquasecurity[.]org или checkmarx[.]zone.

  • Найти в организации GitHub репозитории с названиями tpcp-docs или docs-tpcp — это признак успешной эксфильтрации через резервный механизм.

  • Использовать в GitHub Actions фиксацию на полные SHA-коммиты вместо тегов версий, так как теги могут быть принудительно перезаписаны.

  • Отслеживать исходящие сетевые подключения от CI-раннеров к подозрительным доменам.

  • Ограничить доступ к сервису метаданных экземпляра (IMDS) для контейнеров CI-раннеров, используя IMDSv2.

Эскалация активности TeamPCP

В дни после первоначального взлома злоумышленники TeamPCP распространили вредоносные Docker-образы Trivy, содержащие тот же похититель, а также захватили контроль над организацией aquasec-com на GitHub для вмешательства в десятки внутренних репозиториев.

Кроме того, зафиксированы атаки на кластеры Kubernetes с использованием вредоносного shell-скрипта, который полностью очищает все машины при обнаружении системы, соответствующей иранскому часовому поясу и локали. Это свидетельствует о новом витке эскалации тактики группировки.

Просмотров: 2547
Рейтинг

Чтобы комментировать, зарегистрируйтесь или авторизуйтесь

Читайте еще
Ghost Campaign

Ghost Campaign: вредоносные npm-пакеты

Исследователи в области кибербезопасности обнаружили новую волну атак, нацеленных на разработчиков и пользователей Node.js. Серия вредоносных пакетов в реестре npm, объединённая под названием Ghost Campaign, предназначена для хищения криптовалютных кошельков, учётных данных и другой чувствительной информации.

24.03.2026
Фишинг с живым оператором: мошенники грабят в чатах под видом техподдержки

Фишинг с живым оператором: мошенники грабят в чатах под видом техподдержки

Представьте: вежливый сотрудник службы поддержки терпеливо объясняет каждый шаг, вы искренне благодарите за помощь, а спустя несколько минут обнаруживаете, что лишились и денег, и доступа к собственному аккаунту. Это не гипотетический сценарий, а реальная схема, которую всё чаще используют злоумышленники.

23.03.2026
Micron: беспилотные авто и роботы потребуют 300 ГБ оперативной памяти

Micron: беспилотным авто и роботам нужно 300 ГБ оперативной памяти

Мировой рынок полупроводников продолжает испытывать колоссальную нагрузку, и, судя по последним прогнозам, дефицит оперативной памяти не только не спадает, но и будет усугубляться. Причина — стремительное развитие технологий автономного вождения и робототехники. По оценкам компании Micron, полностью беспилотные автомобили будут оснащаться не менее чем 300 гигабайтами DRAM, и аналогичный объём памяти потребуется современным роботизированным системам.

23.03.2026
Подписаться на рассылку
На этом сайте используются файлы cookie. Продолжая просмотр сайта, вы разрешаете их использование. Подробнее. Закрыть