26 августа 2025 года кибербезопасность экосистемы разработки программного обеспечения столкнулась с беспрецедентной угрозой. Атака s1ngularity на популярную платформу сборки NX продемонстрировала новый уровень изощренности злоумышленников, которые впервые в истории использовали ИИ-инструменты командной строки для эксплуатации цепочки поставок программного обеспечения.
Масштаб компрометации платформы NX
NX представляет собой открытую платформу для сборки с искусственным интеллектом, которая объединяет функции от редактора кода до непрерывной интеграции. С более чем 4 миллионами еженедельных загрузок, платформа стала критически важным компонентом для управления кодом в крупных проектах разработки.
Злоумышленники сумели скомпрометировать токен разработчика и опубликовать вредоносные версии основного npm-пакета nx, а также связанных с ним плагинов. Вредоносный код был разработан для сканирования файловой системы, сбора учетных данных и их передачи в публичные GitHub-репозитории под контролем атакующих.
Техническая анатомия атаки s1ngularity
Уязвимость в GitHub Actions workflow
Корень проблемы лежал в уязвимом workflow, добавленном в репозиторий 21 августа 2025 года. Несмотря на то, что уязвимый код был удален практически сразу после обнаружения, злоумышленники успели создать специально подготовленный pull request для устаревшей ветки.
Критическая ошибка заключалась в использовании триггера pull_request_target вместо стандартного pull_request. Этот триггер предоставляет workflow повышенные привилегии, включая GITHUB_TOKEN с правами чтения и записи в репозиторий, что и было использовано для запуска процесса публикации пакетов.
Метод извлечения npm-токена
Используя bash-инъекцию через заголовок pull request’а, злоумышленники запустили workflow publish.yml с вредоносными изменениями. Это позволило им перехватить npm-токен, отправив его на контролируемый эндпоинт webhook[.]site.
Инновационное использование ИИ в кибератаках
Уникальность атаки s1ngularity заключается в первом зафиксированном случае использования ИИ-инструментов командной строки для кибератак. Злоумышленники превратили Claude, Google Gemini и Amazon Q в инструменты для обхода систем защиты.
Вредоносный postinstall-скрипт заставлял эти ИИ-системы рекурсивно сканировать файловую систему и записывать конфиденциальные пути к файлам, фактически используя легитимные инструменты как соучастников атаки.
Масштаб ущерба и статистика компрометации
Исследования специалистов GitGuardian выявили 1346 репозиториев, содержащих строку «s1ngularity-repository». Анализ украденных данных показал компрометацию 2349 секретов, среди которых:
• GitHub OAuth-ключи и токены персонального доступа составляют большинство
• API-ключи для Google AI, OpenAI, Amazon Web Services
• Учетные данные OpenRouter, Anthropic Claude, PostgreSQL и Datadog
Особую тревогу вызывает тот факт, что 90% похищенных GitHub-токенов остаются действительными, а 85% зараженных систем работают под управлением macOS, что указывает на высокую концентрацию среди разработчиков.
Дополнительные вредоносные функции
Помимо кражи данных, вредоносный код модифицировал системные файлы .zshrc и .bashrc, добавляя команду sudo shutdown -h 0. Эта функция запрашивала у пользователей системный пароль и при его предоставлении немедленно выключала машину, создавая дополнительные помехи в работе.
Меры реагирования и восстановления
Команда NX оперативно отреагировала на инцидент, выполнив комплекс мер по восстановлению безопасности:
• Немедленная смена всех npm и GitHub токенов
• Проведение полного аудита активности в системах
• Обновление прав публикации с требованием двухфакторной аутентификации
• Удаление вредоносных пакетов из npm-реестра
Атака s1ngularity демонстрирует эволюцию киберугроз и необходимость усиления мер защиты цепочек поставок программного обеспечения. Разработчикам настоятельно рекомендуется регулярно проводить аудит используемых пакетов, применять принципы минимальных привилегий в CI/CD процессах и незамедлительно реагировать на подозрительную активность в своих системах. Этот инцидент подчеркивает, что даже ИИ-инструменты могут быть превращены в оружие против информационной безопасности.