РАЗРАБОТКА

Компрометированный Nx в npm использовал ИИ-агентов для кражи секретов

Вредоносный npm-пакет Nx собрал данные с устройств разработчиков, используя AI-агент для обхода защиты.

✍️ Редакция iTech News | 24.09.2025 | ⏱ 3 мин | Источник: Docker Blog
🐛

Компрометированные версии Nx в npm запускали вредоносный postinstall-скрипт и вытаскивали секреты с машин разработчиков и из CI. История примечательна не только масштабом пакета, но и тем, что вредонос использовал локальные ИИ-инструменты вроде Claude Code, Gemini CLI и Amazon Q как помощников по поиску чувствительных файлов.

Какие версии Nx оказались вредоносными

Вредоносные релизы появились в npm вечером 26 августа 2025 года и были удалены спустя несколько часов. По данным команды Nx, затронуты версии nx 21.5.0, 20.9.0, 20.10.0, 21.6.0, 20.11.0, 21.7.0, 21.8.0 и 20.12.0, а также несколько связанных пакетов экосистемы, включая @nx/devkit, @nx/js, @nx/node, @nx/workspace, @nx/eslint, @nx/key и @nx/enterprise-cloud.

Проблема была не в обычной ошибке кода, а в подмене опубликованных пакетов. После установки скрипт telemetry.js начинал сканировать файловую систему, собирал токены, SSH-ключи, содержимое .env и другие секреты, а затем выгружал их в публичный репозиторий GitHub, созданный от имени жертвы.

Как вредонос подключал ИИ-инструменты

Самая неприятная деталь в том, что скрипт не ограничивался обычным поиском по файлам. Если на машине были установлены Claude Code, Gemini CLI или Amazon Q, вредонос пытался запускать их с небезопасными флагами вроде --dangerously-skip-permissions, --yolo и --trust-all-tools. Идея простая: заставить агент быстро обойти каталог пользователя и собрать список интересных файлов.

Судя по разбору инцидента, атака в первую очередь била по macOS и Linux; на Windows скрипт завершался сразу. Под удар попадали не только локальные машины, но и автоматизированные среды, где зависимость могла установиться без явного действия разработчика. Отдельно команда Nx указала, что расширение Nx Console для VS Code в затронутых версиях тоже могло установить nx@latest и тем самым запустить вредоносный код.

Что делать разработчикам и командам

Если в проектах использовались перечисленные версии, их нужно удалить, очистить кеш пакетного менеджера и установить безопасные релизы. Команда Nx также советовала проверить наличие файлов /tmp/inventory.txt и /tmp/inventory.txt.bak, а в GitHub — не создавался ли публичный репозиторий с именем вида s1ngularity-repository. Если такие следы есть, стоит немедленно перевыпустить токены GitHub и npm, заменить ключи и пересмотреть секреты, которые могли лежать в переменных окружения.

Для русскоязычных команд вывод довольно приземлённый: ИИ-агенты уже нельзя считать безобидной надстройкой для редактора. Если разработчик запускает такие инструменты с отключёнными ограничениями, они становятся ещё одной привилегированной точкой доступа к инфраструктуре. В компаниях, где Nx, Node.js и self-hosted CI используются как стандартный стек, это уже вопрос не удобства, а политики безопасности.

Значение для рынка

Инцидент с Nx показал, как быстро supply chain-атаки меняются под новую реальность разработки: раньше вредонос просто воровал токены, теперь он пытается завербовать локального ИИ-помощника. Для стартапов это риск утечки секретов из одной машины, для крупных команд — риск компрометации CI, облачных учётных данных и внутренних репозиториев. Источники: GitHub Advisory Nx, постмортем команды Nx, разбор Snyk.

Следующий логичный шаг для рынка — запретить автоматический запуск install-скриптов без необходимости и отдельно описать правила работы с ИИ-агентами в корпоративной среде, пока кто-нибудь не превратил флаг --yolo в официальный способ утечки секретов.

Поделиться: Telegram X LinkedIn