Aqua Security — компания, которая продаёт защиту облачной инфраструктуры. Это обстоятельство делает произошедшее с ней особенно показательным. Группировка TeamPCP взломала Trivy, популярный open-source сканер уязвимостей под управлением Aqua Security, и развернула цепочку атак, которая закончилась уничтожением данных на Kubernetes-узлах в Иране.

Всё началось с инцидента под кодовым названием "hackerbot-claw" в начале марта 2026 года. Именно тогда атакующие получили первоначальный доступ к инфраструктуре Trivy. Точкой входа стал сервисный бот-аккаунт "Argon-DevOps-Mgt" с GitHub ID 139343333, зарегистрированный ещё 12 июля 2023 года. Аккаунт работал на долгосрочном Personal Access Token (PAT) — и это была критическая проблема. Как установил исследователь Пол МакКарти в ходе форензики через GitHub Events API: «Скомпрометированный токен сервисного аккаунта... связывает обе GitHub-организации. Один взломанный токен даёт атакующему права записи и администрирования в обеих организациях сразу.»
Речь о двух организациях: публичной "aquasecurity", где хранится сам сканер Trivy, GitHub Actions и open-source проекты, и внутренней "aquasec-com" с проприетарным исходным кодом, внутренними форками Trivy, CI/CD пайплайнами, Kubernetes-операторами, исходниками Tracee и базами знаний команды. Один токен — доступ ко всему.
22 марта 2026 года TeamPCP опубликовала вредоносные теги Docker-образов 0.69.5 и 0.69.6. Исследователь Филипп Буркхардт из Socket зафиксировал: «Новые теги 0.69.5 и 0.69.6 были опубликованы 22 марта без соответствующих релизов или тегов на GitHub. Оба образа содержат индикаторы компрометации, связанные с инфостилером TeamPCP, который наблюдался на более ранних этапах этой кампании.» Последней чистой версией оставался релиз 0.69.3. Версии 0.69.4, 0.69.5 и 0.69.6 уже были заражены и впоследствии удалены с Docker Hub. Инцидент получил идентификатор CVE-2026-33634 с оценкой CVSS 9.4 — критический уровень.
Механика внедрения, по оценке CrowdStrike, не отличалась новизной: «Атакующий, имея права записи в репозиторий, принудительно перезаписал теги на новый коммит с изменённой точкой входа.» Уязвимость была в том, что многие рабочие процессы ссылаются на Actions по тегу, а не по SHA-хешу коммита. Это позволило подменить содержимое без смены тега.
Дефейс внутренних репозиториев был проведён с хирургической точностью по времени. С 20:31:07 до 20:32:26 UTC того же 22 марта — за одну минуту и девятнадцать секунд — атакующие переименовали 44 внутренних репозитория, добавив префикс "tpcp-docs-", изменили описания на "TeamPCP Owns Aqua Security" и сделали репозитории публичными. Параллельно TeamPCP эксплуатировала SSH через украденные ключи и открытые Docker API на порту 2375 в локальных подсетях.
Арсенал малвари включал три компонента. Инфостилер TeamPCP распространялся непосредственно через троянизированные версии Trivy. CanisterWorm — самораспространяющийся червь, заразивший десятки npm-пакетов и использующий ICP-канистру в качестве управляющего механизма. И третий компонент — вайпер под названием "Kamikaze", нацеленный исключительно на иранские системы.
Логика вайпера на Kubernetes детально описана исследователем Чарли Эриксеном из Aikido: «На Kubernetes: разворачивает привилегированные DaemonSets на каждом узле, включая control plane. Иранские узлы затираются и принудительно перезагружаются через контейнер с именем 'kamikaze'. На не-иранских узлах устанавливается бэкдор CanisterWorm в виде systemd-сервиса. На иранских хостах без K8s выполняется 'rm -rf / --no-preserve-root'.» Географическая фильтрация встроена прямо в логику выполнения.
Команда OpenSourceMalware сформулировала суть произошедшего так: «Этот взлом демонстрирует долгосрочные последствия атак на цепочку поставок... Ирония от того, что компания по облачной безопасности была взломана облачно-ориентированным угрозовым актором, не должна остаться незамеченной отраслью.» 23 марта 2026 года Aqua Security опубликовала официальное заявление, в котором сообщила, что расследование «активно сосредоточено на проверке того, что все пути доступа были выявлены и полностью закрыты», и что свидетельств компрометации коммерческих продуктов компании не обнаружено.
Из инцидента следуют конкретные технические выводы от CrowdStrike и Aikido. GitHub Actions нужно закреплять по SHA-хешу коммита, а не по тегу — именно это позволило атаке сработать. CI/CD-раннеры требуют такого же уровня мониторинга, как продакшн-хосты. Организации, использующие Trivy в пайплайнах, обязаны проверить, какие версии применялись: 0.69.4, 0.69.5 и 0.69.6 скомпрометированы. Любое выполнение кода в пайплайне за период атаки следует рассматривать как потенциально скомпрометированное. Долгоживущие токены сервисных аккаунтов с широкими правами — прямой путь к тому, что произошло с "Argon-DevOps-Mgt".

Изображение носит иллюстративный характер
Всё началось с инцидента под кодовым названием "hackerbot-claw" в начале марта 2026 года. Именно тогда атакующие получили первоначальный доступ к инфраструктуре Trivy. Точкой входа стал сервисный бот-аккаунт "Argon-DevOps-Mgt" с GitHub ID 139343333, зарегистрированный ещё 12 июля 2023 года. Аккаунт работал на долгосрочном Personal Access Token (PAT) — и это была критическая проблема. Как установил исследователь Пол МакКарти в ходе форензики через GitHub Events API: «Скомпрометированный токен сервисного аккаунта... связывает обе GitHub-организации. Один взломанный токен даёт атакующему права записи и администрирования в обеих организациях сразу.»
Речь о двух организациях: публичной "aquasecurity", где хранится сам сканер Trivy, GitHub Actions и open-source проекты, и внутренней "aquasec-com" с проприетарным исходным кодом, внутренними форками Trivy, CI/CD пайплайнами, Kubernetes-операторами, исходниками Tracee и базами знаний команды. Один токен — доступ ко всему.
22 марта 2026 года TeamPCP опубликовала вредоносные теги Docker-образов 0.69.5 и 0.69.6. Исследователь Филипп Буркхардт из Socket зафиксировал: «Новые теги 0.69.5 и 0.69.6 были опубликованы 22 марта без соответствующих релизов или тегов на GitHub. Оба образа содержат индикаторы компрометации, связанные с инфостилером TeamPCP, который наблюдался на более ранних этапах этой кампании.» Последней чистой версией оставался релиз 0.69.3. Версии 0.69.4, 0.69.5 и 0.69.6 уже были заражены и впоследствии удалены с Docker Hub. Инцидент получил идентификатор CVE-2026-33634 с оценкой CVSS 9.4 — критический уровень.
Механика внедрения, по оценке CrowdStrike, не отличалась новизной: «Атакующий, имея права записи в репозиторий, принудительно перезаписал теги на новый коммит с изменённой точкой входа.» Уязвимость была в том, что многие рабочие процессы ссылаются на Actions по тегу, а не по SHA-хешу коммита. Это позволило подменить содержимое без смены тега.
Дефейс внутренних репозиториев был проведён с хирургической точностью по времени. С 20:31:07 до 20:32:26 UTC того же 22 марта — за одну минуту и девятнадцать секунд — атакующие переименовали 44 внутренних репозитория, добавив префикс "tpcp-docs-", изменили описания на "TeamPCP Owns Aqua Security" и сделали репозитории публичными. Параллельно TeamPCP эксплуатировала SSH через украденные ключи и открытые Docker API на порту 2375 в локальных подсетях.
Арсенал малвари включал три компонента. Инфостилер TeamPCP распространялся непосредственно через троянизированные версии Trivy. CanisterWorm — самораспространяющийся червь, заразивший десятки npm-пакетов и использующий ICP-канистру в качестве управляющего механизма. И третий компонент — вайпер под названием "Kamikaze", нацеленный исключительно на иранские системы.
Логика вайпера на Kubernetes детально описана исследователем Чарли Эриксеном из Aikido: «На Kubernetes: разворачивает привилегированные DaemonSets на каждом узле, включая control plane. Иранские узлы затираются и принудительно перезагружаются через контейнер с именем 'kamikaze'. На не-иранских узлах устанавливается бэкдор CanisterWorm в виде systemd-сервиса. На иранских хостах без K8s выполняется 'rm -rf / --no-preserve-root'.» Географическая фильтрация встроена прямо в логику выполнения.
Команда OpenSourceMalware сформулировала суть произошедшего так: «Этот взлом демонстрирует долгосрочные последствия атак на цепочку поставок... Ирония от того, что компания по облачной безопасности была взломана облачно-ориентированным угрозовым актором, не должна остаться незамеченной отраслью.» 23 марта 2026 года Aqua Security опубликовала официальное заявление, в котором сообщила, что расследование «активно сосредоточено на проверке того, что все пути доступа были выявлены и полностью закрыты», и что свидетельств компрометации коммерческих продуктов компании не обнаружено.
Из инцидента следуют конкретные технические выводы от CrowdStrike и Aikido. GitHub Actions нужно закреплять по SHA-хешу коммита, а не по тегу — именно это позволило атаке сработать. CI/CD-раннеры требуют такого же уровня мониторинга, как продакшн-хосты. Организации, использующие Trivy в пайплайнах, обязаны проверить, какие версии применялись: 0.69.4, 0.69.5 и 0.69.6 скомпрометированы. Любое выполнение кода в пайплайне за период атаки следует рассматривать как потенциально скомпрометированное. Долгоживущие токены сервисных аккаунтов с широкими правами — прямой путь к тому, что произошло с "Argon-DevOps-Mgt".