Сканер уязвимостей Trivy скомпрометирован: “backdoor” и кража учетных данных в результате атаки на цепочку поставок

Trivy Github Actions взлом Ci/cd уязвимость csoonline.com

Злоумышленники скомпрометировали сканер уязвимостей Trivy, внедрив вредоносное ПО для кражи учетных данных в релизы и GitHub Actions. Взлом может вызвать каскад атак на цепочку поставок, если организации не сменят секреты. — csoonline.com

Злоумышленники скомпрометировали широко используемый сканер уязвимостей с открытым исходным кодом Trivy, внедрив вредоносное ПО для кражи учетных данных в официальные релизы и GitHub Actions, используемые тысячами рабочих процессов CI/CD. Взлом может спровоцировать каскад дополнительных компрометаций цепочки поставок, если затронутые проекты и организации немедленно не сменят свои секреты.

Атака, о которой сегодня сообщили сопровождающие Trivy, является результатом предыдущего взлома, объявленного в конце прошлого месяца, который также использовал небезопасные GitHub Actions и затронул несколько проектов. Фирмы по безопасности Socket и Wiz проследили первопричину до неполной ротации учетных данных после первого взлома, что позволило злоумышленникам вернуться в среду Trivy и внести вредоносные коммиты.

«Если вы подозреваете, что использовали скомпрометированную версию, считайте все секреты конвейера скомпрометированными и немедленно смените их», — написал сопровождающий Trivy Итай Шакури на GitHub.

Бэкдоры в нескольких компонентах

Trivy, разработанный Aqua Security, является одним из наиболее широко используемых сканеров уязвимостей с открытым исходным кодом: более 32 000 звезд на GitHub и более 100 миллионов загрузок из Docker Hub. Разработчики используют его для обнаружения уязвимостей и раскрытых секретов в своих конвейерах CI/CD и образах контейнеров.

Злоумышленники скомпрометировали три компонента проекта Trivy: trivy-action, официальный GitHub Action для запуска сканирований Trivy в рабочих процессах CI/CD; setup-trivy, вспомогательный экшн для установки сканера; и сам бинарный файл Trivy. Вредоносные артефакты были опубликованы в GitHub releases, Docker Hub, GitHub Container Registry и Amazon Elastic Container Registry.

По данным Socket, 75 из 76 тегов версий в trivy-action были перезаписаны вредоносным кодом, а также семь тегов в setup-trivy. Единственным незатронутым тегом trivy-action была версия 0.35.0. Среди скомпрометированных тегов — широко используемые версии, такие как 0.34.2, 0.33.0 и 0.18.0.

«Когда выполняется вредоносный бинарный файл, он одновременно запускает как легитимный сервис trivy, так и вредоносный код», — написали исследователи Wiz в своем анализе атаки.

Злоумышленники ищут секреты разработки

В средах GitHub Actions похититель учетных данных считывает память процесса для извлечения секретов и ищет в файловой системе SSH-ключи, учетные данные поставщиков облачных услуг, токены Kubernetes, конфигурации реестра Docker и криптовалютные кошельки.

Украденные данные шифруются и отправляются на домен с опечаткой (typosquatted domain), имитирующий легитимный сайт Aqua Security. Если это не удается, вредоносное ПО переходит к созданию общедоступного репозитория с именем «tpcp-docs» в собственной учетной записи GitHub жертвы и загрузке туда зашифрованных данных.

По данным Wiz, атака также устанавливает постоянный Python-дроппер на машины разработчиков, который каждые пять минут подключается к серверу, контролируемому злоумышленниками, в поисках дополнительных полезных нагрузок для выполнения.

Скрытная техника манипулирования тегами обходит обнаружение

Вместо создания новых релизов, которые вызвали бы уведомления, злоумышленники принудительно отправляли существующие теги версий, чтобы они указывали на новые вредоносные коммиты. Теги Git — это указатели, которые ссылаются на определенный коммит по его отпечатку. Перезаписывая, куда ведут эти указатели, любой рабочий процесс, ссылающийся на тег, начинает загружать код злоумышленника.

Чтобы дополнительно избежать обнаружения, злоумышленники клонировали исходные метаданные коммитов, такие как имена авторов, адреса электронной почты, временные метки и сообщения, делая вредоносные коммиты идентичными легитимным, которые они заменили. Подделка оставила тонкие следы, такие как отсутствие криптографических подписей и несогласованные временные метки.

Та же техника манипулирования тегами использовалась при компрометации GitHub Action tj-actions/changed-files год назад, затронувшей 23 000 репозиториев.

Урок для жертв

Первоначальный взлом Trivy произошел в конце февраля, когда злоумышленники использовали неправильно настроенный рабочий процесс GitHub Actions, который присутствовал в репозитории с октября 2025 года. Рабочий процесс, запускаемый внешними pull-запросами, выполнялся с доступом к секретам репозитория — опасная схема в GitHub Actions, о которой сообщалось ранее.

Злоумышленники украли персональный токен доступа (PAT) с правами на запись и использовали его для удаления релизов, переименования репозитория и публикации вредоносного расширения Visual Studio Code. Сопровождающие Trivy сменили свои учетные данные, но, похоже, в процессе были упущены некоторые из них.

Этот промах, особенно со стороны компании, специализирующейся на безопасности CI/CD, должен послужить предупреждением для организаций, затронутых этой новой атакой, тем более что вредоносное ПО предназначено для кражи того же типа учетных данных, которые могут обеспечить компрометацию цепочки поставок в их собственных конвейерах.

Повторяющийся шаблон

Компрометация Trivy — это последнее звено в растущем числе атак, нацеленных на GitHub Actions и разработчиков в целом. Компрометация tj-actions/changed-files в прошлом году использовала тот же подход манипулирования тегами и позже была прослежена до вышестоящей компрометации action reviewdog/action-setup. Другие инциденты в 2025 году включали кампанию GhostAction, которая украла более 3000 секретов у 327 пользователей GitHub, и атаку на npm-пакет nx, которая использовала уязвимый рабочий процесс pull_request_target.

GitHub изменил поведение по умолчанию для рабочих процессов pull_request_target в декабре 2025 года для снижения риска эксплуатации, но уязвимый рабочий процесс в репозитории Trivy предшествовал этому изменению.

Организациям, использующим Trivy, следует закреплять GitHub Actions за полными хешами коммитов, а не за тегами версий, чтобы предотвратить атаки с манипулированием тегами. Безопасными версиями являются Trivy v0.69.3, тег trivy-action 0.35.0 и setup-trivy 0.2.6. Группы безопасности также должны искать в своих учетных записях GitHub репозитории с именем tpcp-docs, что будет указывать на успешную резервную эксфильтрацию, и блокировать домен командно-контрольного центра и его IP-адрес на периметре сети.

Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.

Похожие новости: