Исследователи безопасности сообщили о масштабной атаке на цепочку поставки пакетов в npm и PyPI.
Вредоносный код обнаружили в популярных библиотеках, включая TanStack, Mistral AI, OpenSearch. По данным аналитиков, заражение затронуло более 170 пакетов и сотни репозиториев.
Проблема не в одном уязвимом пакете — атака быстро разошлась по экосистемам и затронула инструменты, которые используют разработчики по всему миру. Суммарно зараженные пакеты были скачаны сотни миллионов раз.
Как работал вредоносный код
Внутри пакетов обнаружили обфусцированный JavaScript и Python-код, который запускался во время установки. Его задача — собрать данные с компьютера разработчика: токены доступа, ключи от облаков, данные из GitHub, мессенджеров и CI/CD-систем.
Дальше информация отправлялась на внешние серверы, замаскированные под легитимные сервисы. В некоторых случаях данные дополнительно сохранялись через GitHub API, чтобы обойти блокировки.
Как заражение попадало в пакеты
Атака использовала цепочку GitHub Actions и механизмы доверенной публикации пакетов. Злоумышленники получали доступ к процессу сборки и подменяли содержимое уже на этапе релиза.
Отдельная проблема — использование автоматических токенов и OIDC-авторизации. Это позволило публиковать вредоносные версии так, будто они выпущены самими разработчиками.
Чем опасен этот тип атак
Главная особенность — доверие. Код в таких случаях проходит стандартные процессы публикации и выглядит легитимно. Из-за этого его сложнее заметить на раннем этапе.
По оценке исследователей, подобные атаки становятся новой нормой. Вместо взлома одного пакета, злоумышленники атакуют инфраструктуру публикации и цепочки доверия.
Что делать разработчикам
Специалисты советуют проверять версии зависимостей, ограничивать права токенов в CI/CD и внимательнее относиться к автоматической публикации пакетов.
Даже популярные библиотеки теперь нельзя считать безопасными «по умолчанию».
