Как хакеры за 72 часа превратили npm-пакет в ключ от целого облака AWS

Отчёт Google «Cloud Threat Horizons» за первое полугодие 2026 года описывает атаку, от которой у безопасников буквально холодеет в животе. Группировка, получившая идентификатор UNC6426, начала с одного скомпрометированного пакета в npm-реестре, а закончила полным административным доступом к AWS-инфраструктуре жертвы. Данные выкачаны, серверы уничтожены, репозитории переименованы и выложены в публичный доступ. Всё уложилось меньше чем в трое суток.
Как хакеры за 72 часа превратили npm-пакет в ключ от целого облака AWS
Изображение носит иллюстративный характер

Началось всё в августе 2025 года. Атакующие нацелились на популярный npm-пакет nx, эксплуатируя уязвимый workflow pull_request_target — тип атаки, известный в профессиональных кругах как «Pwn Request». Через эту брешь в реестр npm были загружены троянизированные версии пакета. Компания Socket, специализирующаяся на безопасности цепочек поставок ПО, позднее охарактеризовала произошедшее как «атаку на цепочку поставок с использованием ИИ». И это не преувеличение.

Точкой входа стал сотрудник, который запустил редактор кода с плагином Nx Console. Плагин подтянул обновлённый (и уже заражённый) пакет, после чего сработал скрипт postinstall. Он запустил QUIETVAULT — JavaScript-стилер учётных данных. Вот тут начинается самое неприятное: QUIETVAULT не просто сканировал файловую систему. Он использовал уже установленный на машине жертвы инструмент на базе большой языковой модели (LLM), чтобы находить переменные окружения, системную информацию и персональные токены доступа к GitHub (PAT). Фактически, ИИ-инструмент, стоявший на машине для рабочих задач, был превращён в оружие. Собранное улетало в публичный GitHub-репозиторий с характерным именем /s1ngularity-repository-1.

Через два дня после первого заражения группировка перешла к разведке. С украденным PAT атакующие запустили Nord Stream — это легитимный open-source инструмент, предназначенный для извлечения секретов из CI/CD-сред. Через него они вытащили учётные данные сервисной учётной записи GitHub. Дальше — хуже. Между GitHub и AWS существовало доверие, настроенное через OpenID Connect (OIDC), и UNC6426 этим воспользовались. Параметр --aws-role в Nord Stream позволил генерировать временные токены AWS STS для роли с избыточными правами. Роль называлась «Actions-CloudFormation».

Получив доступ к AWS с привилегиями этой роли, хакеры развернули новый AWS Stack. При создании были указаны capabilities CAPABILITY_NAMED_IAM и CAPABILITY_IAM, что позволило им создать новую IAM-роль и привязать к ней политику arn:aws:iam::aws:policy/AdministratorAccess. Полный административный доступ ко всему облаку. Эскалация от украденного токена до позиции «бога» в AWS заняла менее 72 часов.

Дальнейшие действия были разрушительными. UNC6426 перебрала объекты в бакетах S3 и выкачала файлы. Были остановлены (terminated, не stopped — то есть без возможности восстановления) боевые инстансы EC2 и базы данных RDS. Расшифрованы ключи приложений. А потом — жест, похожий на подпись: все внутренние GitHub-репозитории жертвы были переименованы по шаблону /s1ngularity-repository-[случайные символы] и переведены в публичный режим.

Отчёт Google содержит и рекомендации по защите от подобных сценариев. Первая и, пожалуй, наиболее недооценённая: использовать пакетные менеджеры, которые блокируют скрипты postinstall, или применять песочницы. Именно postinstall-скрипт стал механизмом запуска QUIETVAULT, и его блокировка оборвала бы всю цепочку в самом начале.

Второй пласт рекомендаций касается управления доступом. Принцип наименьших привилегий (PoLP) нужно применять к сервисным учётным записям CI/CD и ролям, связанным через OIDC. Роль «Actions-CloudFormation» с правами, достаточными для создания IAM-ролей администратора, — это приглашение к катастрофе. Токены доступа должны быть гранулярными: короткие сроки жизни, ограничение по конкретным репозиториям. «Стоящие» привилегии (standing privileges) для высокорисковых действий вроде создания администраторских ролей нужно убирать совсем.

Мониторинг аномальной активности IAM тоже упоминается, хотя здесь есть ощущение некоторого запоздания: когда кто-то уже создаёт новый стек с CAPABILITY_NAMED_IAM, у вас остаются минуты, не часы. Наконец, отчёт отдельно выделяет проблему «теневого ИИ» (Shadow AI). QUIETVAULT использовал промпты на естественном языке к уже установленной LLM, и такие запросы проходят мимо стандартных сетевых и endpoint-детекторов, заточенных под жёстко закодированные паттерны. Это принципиально новый вектор, к которому большинство корпоративных SOC пока не готовы.

Случай с UNC6426 показывает, как единственный скомпрометированный пакет может за считанные дни привести к полному уничтожению инфраструктуры. Цепочка «npm → GitHub PAT → CI/CD секреты → OIDC trust → AWS admin» выглядит длинной, но каждый её шаг технически тривиален, если предыдущий удался. Атакующие не ломали криптографию и не эксплуатировали zero-day в AWS. Они просто шли по дорожке из избыточных привилегий и доверительных связей между сервисами, которые никто не потрудился ограничить.


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

19521Банковский троян VENON на Rust атакует Бразилию с помощью девяти техник обхода защиты 19520Бонобо агрессивны не меньше шимпанзе, но всё решают самки 19519Почему 600-килограммовый зонд NASA падает на землю из-за солнечной активности? 19518«Липовый календарь»: как расписание превращает работников в расходный материал 19517Вредоносные Rust-пакеты и ИИ-бот крадут секреты разработчиков через CI/CD-пайплайны 19516Как хакеры за 72 часа превратили npm-пакет в ключ от целого облака AWS 19515Как WebDAV-диск и поддельная капча помогают обойти антивирус? 19514Могут ли простые числа скрываться внутри чёрных дыр? 19513Метеорит пробил крышу дома в Германии — откуда взялся огненный шар над Европой? 19512Уязвимости LeakyLooker в Google Looker Studio открывали доступ к чужим базам данных 19511Почему тысячи серверов оказываются открытой дверью для хакеров, хотя могли бы ею не быть? 19510Как исследователи за четыре минуты заставили ИИ-браузер Perplexity Comet попасться на... 19509Может ли женщина без влагалища и шейки матки зачать ребёнка естественным путём? 19508Зачем учёные из Вены создали QR-код, который невозможно увидеть без электронного... 19507Девять уязвимостей CrackArmor позволяют получить root-доступ через модуль безопасности...
Ссылка