XRUST.ru » Новости » Хакеры заразили сотни npm-пакетов вирусом-вымогателем данных
Новости / Программирование

Хакеры заразили сотни npm-пакетов вирусом-вымогателем данных

7 августа 2026, 06:37 106 0 8

Взлом одного-единственного аккаунта на GitHub обернулся крупнейшей за последние месяцы эпидемией в мире программирования: заражённый код за несколько часов расползся по сотням библиотек, которыми пользуются миллионы разработчиков по всему миру, включая российских.

Всё началось с одного пароля

4 августа кто-то получил доступ к аккаунту разработчика по имени Джаред Рэй (Jared Wray) — человека, который годами поддерживал два небольших, но крайне популярных инструмента для программистов: keyv и cacheable. Это библиотеки для jаvascript, которые помогают программам временно «запоминать» данные, чтобы не запрашивать их заново — что-то вроде кэша в браузере, только внутри кода. Казалось бы, мелочь, пишет xrust. Но именно на таких «мелочах» держится половина интернета: только у keyv свыше 127 миллионов скачиваний в неделю.

Получив доступ к аккаунту, злоумышленник около 9 утра по Гринвичу тихо внёс изменения прямо в главную ветку репозитория и почти сразу выпустил новую «версию» пакета. Спустя считаные минуты заражённый код появился ещё в восьми связанных библиотеках того же автора.

Как безобидное обновление превращается в диверсию

Здесь стоит объяснить, как вообще работает установка программ для разработчиков. Когда программист подключает к своему проекту чужую библиотеку через менеджер пакетов npm — это как скачать приложение из магазина, только магазин этот открыт вообще для всех, и любой может туда что-то выложить. При установке пакет может автоматически выполнить служебный скрипт — например, чтобы что-то донастроить под систему пользователя. Эта функция и стала оружием.

В заражённые версии добавили именно такой скрипт: он незаметно скачивал легитимную программу Bun (это альтернативный движок для запуска jаvascript-кода) и с её помощью запускал уже собственно вредоносную начинку — около 700 килобайт запутанного, специально изуродованного кода, который аналитики так и не смогли сразу прочитать глазами.

А дальше начиналось самое неприятное: программа-паразит рыскала по компьютеру или серверу в поисках всего, что похоже на пароли и ключи доступа — токены npm, доступы к облаку Amazon, ключи GitHub, конфигурации Kubernetes и даже криптокошельки. Всё найденное шифровалось и незаметно отправлялось «хозяину» — так, что расшифровать украденное мог только он сам.

Червь, который сам себя копирует

Обычная вирусная программа на этом бы и успокоилась. Но здесь сценарий оказался куда изобретательнее: если на заражённой машине находились ключи доступа самого разработчика к npm, вредонос использовал их, чтобы... опубликовать заражённые версии уже его собственных пакетов. Получилась классическая цепная реакция: один скомпрометированный аккаунт заражает библиотеку, через неё — компьютер другого разработчика, а тот невольно заражает уже свои проекты. К вечеру того же дня счёт заражённых пакетов пошёл на сотни, а версий — на тысячи.

Специалисты по безопасности быстро окрестили атаку в честь фантастических гигантских червей из «Дюны» — это уже не первая подобная эпидемия в мире npm, и по почерку она напоминает прошлые волны того же семейства зловредов.

Самое тревожное — код выглядит абсолютно «настоящим»

Отдельная головная боль для специалистов в том, что заражённые пакеты прошли через официальную, полностью законную систему сборки GitHub и получили настоящую, проверяемую цифровую подпись. Формально всё чисто: код действительно собран в том самом репозитории, тем самым автоматическим процессом. Просто сам код внутри — вредоносный. То есть привычные способы проверить «это точно официальная версия?» в данном случае бессильны: подделка неотличима от оригинала со всеми её печатями и подписями.

Украденные данные утекали двумя путями. Основной — через сотни специально созданных публичных репозиториев на GitHub с говорящим названием в описании, отсылающим к тем самым «червям». Запасной канал — отдельный сайт, адрес которого злоумышленник может менять когда угодно: нужный домен программа каждый раз подтягивает из смарт-контракта в блокчейне Ethereum, так что заблокировать инфраструктуру одним махом не получится.

Что это значит для обычного разработчика — и не только

История с keyv — не единичный случай, а очередное напоминание о хронической болезни всей современной разработки софта. Мы привыкли собирать программы из сотен чужих «кубиков» — библиотек, написанных незнакомыми людьми, которым мы, по сути, слепо доверяем. Один скомпрометированный пароль одного не самого известного автора — и под ударом оказываются тысячи компаний, использующих его код где-то в глубине своих систем, зачастую сами того не подозревая.

Для российских компаний, активно использующих открытые библиотеки jаvascript в вебе и бэкенде, риск ровно тот же: npm — интернациональная экосистема без границ, и заражённый пакет с одинаковой вероятностью может оказаться и в стартапе из Сан-Франциско, и в интернет-магазине из Екатеринбурга. Специалисты по безопасности в один голос советуют то, что раньше многие считали избыточной перестраховкой: не давать пакетам автоматически запускать скрипты при установке, регулярно сверять версии зависимостей в проектах и, если есть подозрение на заражение, менять все пароли и ключи доступа, до которых теоретически мог дотянуться заражённый компьютер.

К моменту публикации в сеть выложено больше двух тысяч заражённых версий пакетов, а список продолжает расти — специалисты по безопасности следят за ситуацией в реальном времени.


Источники: wiz.io, microsoft.com, snyk.io

Xrust: Хакеры заразили сотни npm-пакетов вирусом-вымогателем данных



Поделится
8 0

Комментарии


Билан ответил разгневанным зрителям: чем обернулось юбилейное шоу «Твой №1» на «ВТБ Арене»
Дима Билан представил в Москве самое масштабное шоу в своей карьере — с шестиметровой сценой-платформой, спецэффектами и мультимедийными технологиями. Но часть зрителей вместо восторга получила лишь вид на мелькающие головы соседей и обратилась к артисту с претензиями. Спустя три дня певец ответил лично — и получил в комментариях весьма неоднозначную реакцию. Шоу, каких ещё не было 31 июля на «ВТБ Арене» — одной из крупнейших концертных площадок Москвы, рассчитанной на 14 тысяч зрителей, — прошло сольное выступление Димы Билана под названием «Твой №1», пишет xrust. Организаторы заранее обещали не рядовой концерт, а полноценное аудиовизуальное представление: продуманную драматургию для каждой песни, авторскую хореографию и детально выверенное живое звучание. Судя по анонсам, ставка делалась именно на масштаб и технологичность — то, чем сейчас принято удивлять зрителя на большой сцене. Центральным элементом сценографии стала возвышающаяся платформа высотой около шести метров, на
158 3