NX стал жертвой атаки на цепочку поставок. В итоге хакеры похитили тысячи секретов - «Новости»
- 14:30, 01-сен-2025
- Новости / Изображения / Отступы и поля / Преимущества стилей / Заработок / Вёрстка / Самоучитель CSS / Добавления стилей / Видео уроки / Текст
- Ramacey
- 0
Мейнтейнеры NX предупредили пользователей об атаке на цепочку поставок, получившей название s1ngularity и произошедшей 26 августа 2025 года. Компрометация токена одного из разработчиков позволила злоумышленникам опубликовать вредоносные версии популярного npm-пакета и других инструментов, а затем похитить данные пользователей.
NX — это популярная опенсорсная платформа для сборки, которая помогает управлять кодом в больших проектах. Она позиционируется как «платформа для сборки с приоритетом на ИИ, которая объединяет в себе все — от редактора до CI». Проект насчитывает более 4 млн еженедельных загрузок.
«Вредоносные версии пакета nx, а также некоторых вспомогательных плагинов были опубликованы в npm. В них добавили код, который сканирует файловую систему, собирает учетные данные и отправляет их на GitHub в виде репозитория из-под аккаунта пользователя», — гласит официальное заявление мейнтейнеров.
Разработчики объясняют, что первопричиной компрометации стал уязвимый workflow, добавленный 21 августа 2025 года, который позволял внедрять исполняемый код через специально подготовленный заголовок pull request'а. Хотя этот workflow откатили «практически сразу» после обнаружения проблемы, злоумышленник успел создать pull request для запуска атаки, нацеленный на устаревшую ветку, которая все еще содержала уязвимый workflow.
«Триггер pull_request_target использовался для запуска действия при создании или изменении pull request’а, — пишет команда NX. — Однако было упущено предупреждение, что этот триггер, в отличие от стандартного pull_request, запускает workflow с повышенными правами, включая GITHUB_TOKEN с разрешениями на чтение и запись в репозиторий».
Предполагается, что в итоге GITHUB_TOKEN был использован для запуска publish.yml, который отвечает за публикацию пакетов NX в реестр с помощью npm-токена.
Поскольку workflow валидации pull request'ов работал с повышенными правами, злоумышленники смогли запустить workflow publish.yml в репозитории nrwl/nx со своими вредоносными изменениями. Это позволило им похитить npm-токен, отправив его на контролируемый ими эндпоинт webhook[.]site.
«В рамках bash-инжекта, workflow валидации pull request'ов запустил publish.yml с этим вредоносным коммитом и отправил наш npm-токен на незнакомый webhook, — пишут разработчики. — Мы считаем, что именно так злоумышленник получил npm-токен, использованный для публикации вредоносных версий nx».
Список затронутых пакетов и версий приведен ниже. В настоящее время они удалены из 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
Во вредоносных версиях пакетов был обнаружен postinstall-скрипт, который активировался после установки и осуществлял сканирование системы в поисках текстовых файлов, собирал учетные данные и выгружал собранную информацию, закодированную base64, в публично доступные GitHub-репозитории с именем s1ngularity-repository (или s1ngularity-repository-0 и s1ngularity-repository-1) из-под аккаунта пользователя.

«Вредоносный postinstall-скрипт также модифицировал файлы .zshrc и .bashrc, которые выполняются при запуске терминала, добавляя sudo shutdown -h 0, что запрашивает у пользователей системный пароль и, если он предоставлен, немедленно выключает машину», — добавляют мейнтейнеры.
Хотя GitHub уже удаляет такие репозитории, пользователям, которые столкнулись с атакой, рекомендуется считать свою информацию скомпрометированной и срочно сменить учетные данные, а также произвести ротацию токенов GitHub и npm. Также рекомендуется как можно скорее прекратить использование вредоносных пакетов и проверить файлы .zshrc и .bashrc на предмет незнакомых инструкций и удалить их.
Команда NX сообщает, что уже сменила токены npm и GitHub, провела аудит активности GitHub и npm на предмет подозрительных действий и обновила права публикации для NX, чтобы требовалась двухфакторная аутентификация.
Исследователи из ИБ-компании Wiz пишут, что 90% похищенных хакерами GitHub-токенов все еще действительны, равно как и десятки действительных облачных учетных данных и npm-токенов.
По данным специалистов, малварь часто запускалась на машинах разработчиков через расширение NX для Visual Studio Code.
Как отмечают в компании StepSecurity, этот инцидент стал первым известным случаем, когда злоумышленники превратили ИИ-инструменты командной строки (Claude, Google Gemini и Amazon Q) в орудие для эксплуатации цепочки поставок и использовали их для обхода средств защиты.
«Они заставляли ИИ-инструменты рекурсивно сканировать файловую систему и записывать обнаруженные конфиденциальные пути к файлам в /tmp/inventory.txt, фактически используя легитимные инструменты в качестве соучастников атаки», — говорят в StepSecurity.
При этом репозитории, содержащие украденные секреты, оставались активными и свободно доступными в течение примерно восьми часов, пока представители GitHub не вмешались в происходящее.
В свою очередь специалисты компании GitGuardian сообщили, что обнаружили 1346 репозиториев, содержащих строку «s1ngularity-repository». Причем все еще продолжают появляться новые, то есть разработчики продолжают использовать зараженный пакет. А злоумышленники, похоже, теперь используют скомпрометированные токены GitHub, чтобы сделать ранее закрытые репозитории публичными и переименовывают их по шаблону s1ngularity-repository-#5символов#.
По подсчетам исследователей, среди 2349 украденных секретов подавляющее большинство — это GitHub OAuth-ключи и токены персонального доступа (PAT), за которыми следуют API-ключи и учетные данные для Google AI, OpenAI, Amazon Web Services, OpenRouter, Anthropic Claude, PostgreSQL и Datadog.

При этом отмечается, что 85% зараженных систем работали под управлением macOS.
Комментарии (0)