Как TeamPCP могла превратить доверенное по в цепь взломов?

Австралийские власти предъявили обвинения двум мужчинам, которых считают основными участниками киберпреступного синдиката TeamPCP. Подозреваемым 21 и 23 года; полиция утверждает, что они получали выплаты в криптовалюте, хотя размер этих переводов ещё устанавливается. Всего возбуждено 14 обвинений, при этом ни в одном не назван конкретный взломанный программный проект. Помощник директора киберподразделения FBI Бретт Э. Лезерман заявил, что вредоносный код TeamPCP «потенциально скомпрометировал более тысячи организаций по всему миру».
21-летнему жителю Коттесло предъявлены восемь обвинений: одно в хранении данных с намерением совершить компьютерное преступление, четыре в несанкционированном изменении данных ради совершения тяжкого преступления, одно в передаче данных с преступным умыслом, одно в неисполнении предписания по разделу 3LA и одно в распоряжении преступными доходами на сумму не менее $100 000. 23-летний житель Мандуры получил шесть обвинений: одно в хранении данных с соответствующим умыслом, четыре в несанкционированном изменении данных и одно в передаче данных для совершения компьютерного преступления. Нарушение раздела 3LA австралийского Crimes Act 1914 (Cth) карается лишением свободы на срок до 10 лет, а операция с преступными доходами стоимостью от $100 000 — до 20 лет.
Предполагаемая схема TeamPCP строилась на доверии к обычным каналам обновления. У открытых проектов похищали учётные данные для публикации, затем с их помощью выпускали отравленные или снабжённые бэкдором версии легитимного ПО. Пользователь видел знакомое название и официальный источник распространения, но загружал уже изменённую сборку. Украденные в одном проекте реквизиты открывали дорогу к следующему, поэтому единичный взлом превращался в цепь. Кампания затронула GitHub Actions, Docker Hub, npm, PyPI и OpenVSX.
Эта механика хорошо видна по связке Trivy, Checkmarx KICS и LiteLLM. Учётные данные, похищенные при компрометации сканера Trivy, спустя несколько дней применили против действий Checkmarx KICS. В сборочном конвейере LiteLLM Trivy устанавливался без привязки к проверенной версии, и заражённый сканер сумел украсть токен публикации LiteLLM. В конце марта злоумышленник воспользовался им для выпуска версий с бэкдором. Риск был особенно неприятным: LiteLLM направляет запросы между поставщиками больших языковых моделей, а организации могут сводить в нём ключи сразу нескольких LLM-провайдеров.
Оценки масштаба заметно расходятся, поскольку исследователи считали разные вещи. Unit 42 в марте опубликовала два показателя возможной экспозиции и прямо оговорила, что речь идёт о данных, которые нападавший «мог вывести». CloudSEK в августе насчитала более 2500 потенциально затронутых организаций и примерно 434 000 конвейеров CI/CD. Компания отдельно предупредила: кража учётных данных ещё не доказывает успешный взлом владельца этих данных. По состоянию на конец марта подтверждёнными можно было считать 16 организаций, которые сама TeamPCP разместила на своём сайте утечек.
Hudson Rock обнаружила 118 829 дампов CI-раннеров, связанных с 2488 корпоративными доменами, в архиве объёмом 153 ГБ, выгруженном самими нападавшими. StepSecurity проанализировала набор CloudSEK и распределила возможную экспозицию по платформам: GitLab — 1064 организации, GitHub Actions — 618, Azure DevOps — 233, Jenkins — 105, Bitbucket Pipelines — 94, CircleCI — 15. Эти числа описывают потенциальный или реконструированный охват, а не 2129 независимо подтверждённых взломов. Именно смешение таких категорий и создаёт огромный разрыв между 16 установленными жертвами и тысячами возможных.
Удаление вредоносной версии из каталога тоже не всегда означает её физическое исчезновение. 27 августа The Hacker News проверило PyPI и установило, что две заражённые сборки LiteLLM больше не показывались в публичной истории релизов. Но прямые адреса пакетов в сети доставки контента PyPI по-прежнему отвечали кодом HTTP 200. Обе сборки можно было скачать напрямую спустя пять месяцев после исключения из индекса. Для старых lock-файлов, кэшей и автоматизированных сценариев такая деталь куда существеннее, чем аккуратная страница с очищенной историей.
Следы связанной инфраструктуры могут уходить в 2020 год. В отчёте Oligo Security от 5 августа TeamPCP сопоставили с активностью, которую ранее отслеживали под названиями TA-NATALSTATUS и IronErn. Основанием стали совпадения доменов, путей развёртывания вредоносного ПО, методов промежуточного размещения и серверной инфраструктуры. Oligo не смогла установить «со стопроцентной уверенностью», была ли TeamPCP новым названием старой группы, объединением части прежних операторов или результатом тесной работы исторически связанных участников.
12 мая 2026 года группа опубликовала на GitHub исходный код червячного фреймворка, применявшегося в кампании Mini Shai-Hulud. Уже 4 августа 2026 года тот же инструментарий появился в новой волне атак на npm, где были отравлены пакеты keyv и cacheable. Исследователи Socket при этом не нашли в образце самоназывающих маркеров, которые позволили бы окончательно отнести атаку к конкретно названной кампании. Совпадение инструмента указывает на техническую связь, но не заменяет атрибуцию.
В предупреждении от 2 июля Федеральное бюро расследований США рекомендовало считать выведенные данные и реквизиты долговременной угрозой: связанные с кампанией злоумышленники «вероятно, будут использовать их как оружие спустя долгое время после первоначального взлома». FBI советует заменить все секреты CI/CD, токены публикации и облачные учётные данные, доступные в периоды возможной компрометации. Внутри организаций следует искать репозитории с именами tpcp-docs и docs-tpcp, которые червь создаёт через похищенные аккаунты. Рабочие процессы GitHub Actions нужно привязывать к проверенным SHA-хешам коммитов: плавающий тег версии позднее может начать указывать на изменённый или вредоносный код.


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

Ссылка