В результате масштабной атаки на цепочку поставок, нацеленной на популярную систему сборки Nx, были скомпрометированы тысячи разработчиков. Злоумышленники опубликовали в реестре npm вредоносные версии пакета

Целью атаки стала Nx — платформа с открытым исходным кодом для управления кодовыми базами, которая позиционирует себя как «ИИ-ориентированная платформа сборки, соединяющая все от вашего редактора до CI». Популярность инструмента огромна: npm-пакет
Первопричиной взлома стала уязвимость в рабочем процессе GitHub в репозитории
После получения токена злоумышленники опубликовали зараженные версии пакетов Nx. При установке такого пакета автоматически запускался скрипт
В качестве вторичного действия вредоносное ПО вносило изменения в конфигурационные файлы оболочки
Ключевым нововведением атаки стало использование установленных на машине разработчика ИИ-инструментов командной строки. Вредоносная программа задействовала ассистентов Claude, Google Gemini и Amazon Q, отправляя им запросы с опасными флагами, такими как
Анализ, проведенный компанией Socket, выявил вариации в полезной нагрузке. Вредоносный код в пакетах с префиксом, таких как
Исследователи безопасности из компании Wiz, Мерав Бар и Рами Маккарти, обнаружили, что 90% из более чем 1000 проанализированных ими утёкших токенов GitHub все еще были действительны. Также были найдены десятки активных облачных учетных данных и npm-токенов. Чарли Эриксен из компании Aikido отметил, что использование клиентов LLM для перечисления секретов — это «новаторский подход», указывающий на будущие тенденции в действиях злоумышленников. Ашиш Курми из StepSecurity подчеркнул «растущую изощренность атак на цепочки поставок», продемонстрированную этим случаем.
Команда Nx оперативно отозвала свои npm- и GitHub-токены, провела аудит всех активностей в своих организациях и обновила правила доступа к публикации, требуя теперь двухфакторную аутентификацию. GitHub со своей стороны начал архивировать вредоносные репозитории, созданные полезной нагрузкой.
Пользователям рекомендуется немедленно прекратить использование затронутых версий пакетов, сменить все учетные данные и токены GitHub и npm, а также проверить файлы
Список пакетов и их вредоносных версий, которые были удалены из реестра npm:
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: 21.5.0, 20.9.0
@nx/enterprise-cloud: 3.2.0
@nx/eslint: 21.5.0
@nx/js: 21.5.0, 20.9.0
@nx/key: 3.2.0
@nx/node: 21.5.0, 20.9.0
@nx/workspace: 21.5.0, 20.9.0
nx
и нескольких его плагинов. Вредоносное ПО, получившее название «s1ngularity», сканировало системы разработчиков, похищало учетные данные GitHub, облачных сервисов и ИИ-ассистентов, а затем выгружало их в публичные репозитории GitHub. В общей сложности утекло 2349 учетных данных. 
Изображение носит иллюстративный характер
Целью атаки стала Nx — платформа с открытым исходным кодом для управления кодовыми базами, которая позиционирует себя как «ИИ-ориентированная платформа сборки, соединяющая все от вашего редактора до CI». Популярность инструмента огромна: npm-пакет
nx
имеет более 3.5 миллионов еженедельных загрузок, что обеспечило широкий охват вредоносной кампании, начавшейся 26 августа 2025 года. Первопричиной взлома стала уязвимость в рабочем процессе GitHub в репозитории
nrwl/nx
. Атакующие злоупотребили особенностями триггера pull_request_target
в GitHub Actions. В отличие от стандартного pull_request
, этот триггер запускает процессы с повышенными привилегиями, предоставляя доступ к GITHUB_TOKEN
с правами на чтение и запись в репозитории. Злоумышленник создал pull-запрос со специально сформированным заголовком, содержащим bash-инъекцию, что позволило выполнить произвольный код. Это, в свою очередь, запустило рабочий процесс publish.yml
, который извлек секретный npm-токен проекта и отправил его на контролируемый злоумышленниками эндпоинт webhook[.]site
. После получения токена злоумышленники опубликовали зараженные версии пакетов Nx. При установке такого пакета автоматически запускался скрипт
postinstall
на системах под управлением Linux и macOS. Этот скрипт сканировал файловую систему в поисках конфиденциальных файлов, таких как .gitconfig
, текстовые файлы и SSH-ключи. Собранные данные кодировались в Base64 и загружались в новый публичный репозиторий GitHub, созданный от имени самого пострадавшего пользователя. Имена репозиториев были s1ngularity-repository
, s1ngularity-repository-0
и s1ngularity-repository-1
. В качестве вторичного действия вредоносное ПО вносило изменения в конфигурационные файлы оболочки
.zshrc
и .bashrc
. Туда добавлялась команда sudo shutdown -h 0
, которая при следующем запуске терминала запрашивала у пользователя системный пароль и, в случае его ввода, немедленно выключала компьютер. Распространению вредоносной программы часто способствовало расширение nx для Visual Studio Code, через которое и происходило заражение систем разработчиков. Ключевым нововведением атаки стало использование установленных на машине разработчика ИИ-инструментов командной строки. Вредоносная программа задействовала ассистентов Claude, Google Gemini и Amazon Q, отправляя им запросы с опасными флагами, такими как
--dangerously-skip-permissions
, --yolo
и --trust-all-tools
. Это позволило обойти защитные механизмы и извлечь содержимое файловой системы. Данный инцидент является первым задокументированным случаем, когда ИИ-помощники для разработчиков были превращены в инструмент для атак на цепочку поставок. Анализ, проведенный компанией Socket, выявил вариации в полезной нагрузке. Вредоносный код в пакетах с префиксом, таких как
@nx/devkit
, использовал «более простой» ИИ-запрос, нацеленный на ключи криптокошельков и определенные каталоги. В то же время основной пакет nx
содержал «гораздо менее широкий» запрос, который собирал «любой интересный текстовый файл». Исследователи безопасности из компании Wiz, Мерав Бар и Рами Маккарти, обнаружили, что 90% из более чем 1000 проанализированных ими утёкших токенов GitHub все еще были действительны. Также были найдены десятки активных облачных учетных данных и npm-токенов. Чарли Эриксен из компании Aikido отметил, что использование клиентов LLM для перечисления секретов — это «новаторский подход», указывающий на будущие тенденции в действиях злоумышленников. Ашиш Курми из StepSecurity подчеркнул «растущую изощренность атак на цепочки поставок», продемонстрированную этим случаем.
Команда Nx оперативно отозвала свои npm- и GitHub-токены, провела аудит всех активностей в своих организациях и обновила правила доступа к публикации, требуя теперь двухфакторную аутентификацию. GitHub со своей стороны начал архивировать вредоносные репозитории, созданные полезной нагрузкой.
Пользователям рекомендуется немедленно прекратить использование затронутых версий пакетов, сменить все учетные данные и токены GitHub и npm, а также проверить файлы
.zshrc
и .bashrc
на наличие команды sudo shutdown -h 0
или других подозрительных инструкций. Если в учетной записи GitHub обнаружен один из репозиториев s1ngularity-repository
, следует исходить из предположения о полной компрометации системы. Список пакетов и их вредоносных версий, которые были удалены из реестра npm:
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: 21.5.0, 20.9.0
@nx/enterprise-cloud: 3.2.0
@nx/eslint: 21.5.0
@nx/js: 21.5.0, 20.9.0
@nx/key: 3.2.0
@nx/node: 21.5.0, 20.9.0
@nx/workspace: 21.5.0, 20.9.0