Инструмент для защиты инфраструктуры внезапно сам стал точкой входа.

Атака на цепочку поставок снова ударила по популярным инструментам разработки. На этот раз злоумышленники внедрили вредоносный код в GitHub Action проекта KICS от Checkmarx — решение, которое используют для проверки инфраструктуры как кода. Инцидент развивался стремительно и затронул десятки версий, поэтому последствия могли оказаться шире, чем сначала казалось.
23 марта с 12:58 до 16:50 по UTC атакующие подменили 35 тегов в репозитории checkmarx/kics-github-action. Любая сборка, которая ссылалась на версии через теги, получала вредоносный скрипт. После сообщения от одного из пользователей репозиторий временно отключили, а позже вернули в работу с заявлением об устранении проблемы.
За атакой, по данным специалистов Wiz, стоит группа TeamPCP — та же команда, которая недавно провела схожую операцию против Trivy. Почерк совпадает: использован тот же RSA-ключ и похожая схема распространения через подмену тегов.
Вредоносный код добавили в файл setup.sh и изменили конфигурацию action.yaml, чтобы сценарий запускался автоматически при подготовке окружения. После запуска программа собирала чувствительные данные: переменные среды, SSH-ключи, токены облачных сервисов и Kubernetes. В средах GitHub Actions дополнительно извлекались секреты из памяти процессов.
Собранные данные шифровались и отправлялись на сервер злоумышленников checkmarx.zone. Если передача не удавалась, скрипт создавал новый репозиторий в аккаунте жертвы и загружал туда архив с похищенной информацией.
Отдельное внимание привлёк механизм закрепления. В Kubernetes-кластерах вредоносный код пытался развернуть привилегированные поды, чтобы сохранить доступ даже после завершения сборки. На обычных серверах создавался скрытый сервис systemd с бэкдором, который периодически загружал новые команды.
Параллельно выявили заражённые расширения в каталоге OpenVSX — cx-dev-assist 1.7.0 и ast-results 2.53.0. Они загружали дополнительный модуль с тем же функционалом кражи данных. В отличие от OpenVSX, версии в официальном магазине Visual Studio Code остались чистыми.
24 марта появилась ещё одна деталь: на PyPI обнаружили заражённые пакеты litellm версий 1.82.7 и 1.82.8. Вредоносный код работал по аналогичной схеме, но использовал другой домен для вывода данных. Пакеты быстро изолировали.
Checkmarx выпустила обновление с разбором инцидента, однако заражённые версии некоторых компонентов на момент публикации отчётов всё ещё оставались доступными.
Специалисты советуют проверить все рабочие процессы с использованием KICS, особенно если применялись ссылки на теги. В случае подозрений на компрометацию рекомендуют сменить ключи, токены и другие секреты, а также искать следы утечки, включая неожиданные репозитории с именем docs-tpcp.
Ситуация показывает, что атаки на инструменты разработки становятся системными. Даже решения для безопасности превращаются в точку входа — и защита цепочки поставок постепенно выходит на первый план.