Расследование атаки на цепочку поставок NPM Nx - s1ngularity, привело к неожиданно масштабным последствиям: утечке подверглись тысячи токенов учетных записей и секретов репозиториев.
По данным Wiz, после инцидента, взлом Nx привел к раскрытию 2180 учетных записей и 7200 репозиториев в рамках трех отдельных этапов.
Причем многие из раскрытых секретов остаются актуальными, и поэтому последствия продолжают ощущаться.
Nx - популярная система сборки с открытым исходным кодом и инструмент управления монорепозиториями, широко используемая в экосистемах JavaScript/TypeScript корпоративного уровня.
Число ее еженедельных загрузок в индексе пакетов NPM превышает 5,5 миллионов.
26 августа 2025 года злоумышленники воспользовались уязвимостью рабочего процесса GitHub Actions в репозитории Nx для публикации вредоносной версии пакета на NPM, которая включала вредоносный скрипт после установки (telemetry.js).
Вредоносное ПО telemetry.js - это стилер, нацеленный на системы Linux и macOS.
Он реализовывал кражу токенов GitHub, npm, ключей SSH, файлов .env, криптокошельков и пытался загрузить секреты в публичные репозитории GitHub под названием s1ngularity-repository.
Уникальной особенностью этой атаки было задействование стилером установленных инструментов командной строки для платформ ИИ Claude, Q и Gemini, в целях поиска и сбора конфиденциальных учетных данных и секретов с помощью подсказок LLM.
При этом, как отмечает Wiz, подсказка эволюционировала при каждой итерации атаки, что свидетельствует о том, что злоумышленник настраивал ее для достижения большего успеха.
На первом этапе атаки, с 26 по 27 августа, заражённые пакеты Nx напрямую затронули 1700 пользователей, что привело к утечке более 2000 уникальных секретных данных. В результате атаки также были раскрыты 20 000 файлов из заражённых систем.
GitHub отреагировал, удалив репозитории, созданные злоумышленником через восемь часов, однако данные уже были собраны и скопированы.
Затем в период с 28 по 29 августа, второй фазы инцидента, злоумышленники воспользовались утечкой токенов GitHub, чтобы превратить закрытые репозитории в публичные, переименовав их так, чтобы они включали строку s1ngularity.
Это привело к дальнейшей компрометации еще 480 учетных записей, большинство из которых принадлежали компаниям, а также к раскрытию информации о 6700 частных репозиториях.
На третьем этапе, который стартовал 31 августа, злоумышленники нацелились еще на одну жертву с использованием двух взломанных учетных записей для публикации еще 500 закрытых репозиториев.
Команда Nx опубликовала на GitHub подробный анализ первопричин, поясняя, что взлом произошел из-за внедрения заголовка запроса на извлечение в сочетании с небезопасным использованием pull_request_target.
Это позволило злоумышленникам запустить произвольный код с повышенными правами доступа, что, в свою очередь, активировало конвейер публикации Nx и позволило перехватить токен публикации npm.
Вредоносные пакеты были удалены, скомпрометированные токены были отозваны и ротированы, а для всех учетных записей издателей была внедрена двухфакторная аутентификация.
Для предотвращения повтора подобной атаки, Nx теперь использует модель доверенного издателя NPM, которая исключает публикацию на основе токенов, и добавляет ручное одобрение для рабочих процессов, инициируемых PR.
По данным Wiz, после инцидента, взлом Nx привел к раскрытию 2180 учетных записей и 7200 репозиториев в рамках трех отдельных этапов.
Причем многие из раскрытых секретов остаются актуальными, и поэтому последствия продолжают ощущаться.
Nx - популярная система сборки с открытым исходным кодом и инструмент управления монорепозиториями, широко используемая в экосистемах JavaScript/TypeScript корпоративного уровня.
Число ее еженедельных загрузок в индексе пакетов NPM превышает 5,5 миллионов.
26 августа 2025 года злоумышленники воспользовались уязвимостью рабочего процесса GitHub Actions в репозитории Nx для публикации вредоносной версии пакета на NPM, которая включала вредоносный скрипт после установки (telemetry.js).
Вредоносное ПО telemetry.js - это стилер, нацеленный на системы Linux и macOS.
Он реализовывал кражу токенов GitHub, npm, ключей SSH, файлов .env, криптокошельков и пытался загрузить секреты в публичные репозитории GitHub под названием s1ngularity-repository.
Уникальной особенностью этой атаки было задействование стилером установленных инструментов командной строки для платформ ИИ Claude, Q и Gemini, в целях поиска и сбора конфиденциальных учетных данных и секретов с помощью подсказок LLM.
При этом, как отмечает Wiz, подсказка эволюционировала при каждой итерации атаки, что свидетельствует о том, что злоумышленник настраивал ее для достижения большего успеха.
На первом этапе атаки, с 26 по 27 августа, заражённые пакеты Nx напрямую затронули 1700 пользователей, что привело к утечке более 2000 уникальных секретных данных. В результате атаки также были раскрыты 20 000 файлов из заражённых систем.
GitHub отреагировал, удалив репозитории, созданные злоумышленником через восемь часов, однако данные уже были собраны и скопированы.
Затем в период с 28 по 29 августа, второй фазы инцидента, злоумышленники воспользовались утечкой токенов GitHub, чтобы превратить закрытые репозитории в публичные, переименовав их так, чтобы они включали строку s1ngularity.
Это привело к дальнейшей компрометации еще 480 учетных записей, большинство из которых принадлежали компаниям, а также к раскрытию информации о 6700 частных репозиториях.
На третьем этапе, который стартовал 31 августа, злоумышленники нацелились еще на одну жертву с использованием двух взломанных учетных записей для публикации еще 500 закрытых репозиториев.
Команда Nx опубликовала на GitHub подробный анализ первопричин, поясняя, что взлом произошел из-за внедрения заголовка запроса на извлечение в сочетании с небезопасным использованием pull_request_target.
Это позволило злоумышленникам запустить произвольный код с повышенными правами доступа, что, в свою очередь, активировало конвейер публикации Nx и позволило перехватить токен публикации npm.
Вредоносные пакеты были удалены, скомпрометированные токены были отозваны и ротированы, а для всех учетных записей издателей была внедрена двухфакторная аутентификация.
Для предотвращения повтора подобной атаки, Nx теперь использует модель доверенного издателя NPM, которая исключает публикацию на основе токенов, и добавляет ручное одобрение для рабочих процессов, инициируемых PR.
wiz.io
s1ngularity's aftermath: analysis of Nx supply chain attack | Wiz Blog
Investigating the role and performance of AI, total impact, and novel TTPs in the s1ngularity Nx supply chain attack
❤
4
🤔
3
Copyright: @SEAdm1n
Вакансии: @infosec_work
Информационная безопасность. Литература для ИТ специалистов. Пентест, OSINT, СИ, DevOps, Администрирование.
Сотрудничество - @SEAdm1n
РКН: https://vk.cc/cN3VEF
Вакансии: @infosec_work
Информационная безопасность. Литература для ИТ специалистов. Пентест, OSINT, СИ, DevOps, Администрирование.
Сотрудничество - @SEAdm1n
РКН: https://vk.cc/cN3VEF