Пакет npm jscrambler скомпрометирован: вредоносные версии крадут секреты
Цепочка компрометации: npm-пакет jscrambler и волна вредоносных релизов
11 июля 2026 года экосистема npm зафиксировала целенаправленную атаку на цепочку поставок. Пакет jscrambler оказался скомпрометирован: сразу пять его версий содержали идентичный вредоносный компонент. Событие вновь подчеркнуло уязвимость доверенных репозиториев перед злоумышленниками, способными имитировать легитимный цикл разработки.
Масштаб и версии-носители
Заражёнными признаны следующие выпуски:
- 8.14.0
- 8.16.0
- 8.17.0
- 8.18.0
- 8.20.0
Все они появились вскоре после легитимных релизов — злоумышленник публиковал пакеты заново, переиспользуя идентичные вредоносные артефакты. Такой подход позволял обходить немедленные меры реагирования и затруднял выявление разницы между чистыми и заражёнными сборками.
Техническая изощрённость: загрузчик и механизмы уклонения
В основе каждой вредоносной версии лежит нативный дроппер, распаковывающий стиллер, написанный на Rust. Сам стиллер упакован в бинарный контейнер с уникальным форматом, определяемым через специальные магические байты. Поставляемые полезные нагрузки собраны под три платформы: Windows PE, Linux ELF и macOS Mach-O, что сохраняет единую структурную логику на всём протяжении атаки.
Начиная с версии 8.18.0 метод доставки изменился: вредоносный загрузчик был встроен непосредственно в код основного модуля — файлы dist/index.js и dist/bin/jscrambler.js. Это позволило обходить инструменты, контролирующие исключительно скрипты установки (preinstall/postinstall hooks), и значительно расширило поверхность скрытого проникновения.
Дополнительно реализован изощрённый подход к детектированию операционной системы, благодаря которому вредоносный код точно определял среду исполнения и запускал соответствующий нативный бинарный файл.
Функциональные возможности вредоносной нагрузки
Стиллер ориентирован на извлечение конфиденциальных данных из нескольких источников:
- профили браузеров Chrome, Brave и Edge;
- хранилище менеджера паролей Bitwarden;
- сессионные cookie клиента Steam.
Помимо кражи данных, полезная нагрузка реализует двунаправленный C2-канал — это не просто инструмент эксфильтрации, а полноценный управляющий протокол. Среди расширенных функций зафиксирована способность похищать секреты из Hashicorp Vault.
Особую тревогу вызывает встроенный механизм самораспространения. Вредоносное ПО способно обнаруживать на заражённой системе другие проекты JavaScript или пакеты npm и внедрять код загрузчика в их исходные тексты. Таким образом, скомпрометированная машина потенциально становится платформой для дальнейшего заражения экосистемы.
Постоянство и удержание в системе
Для закрепления после перезагрузки используется два вектора:
- создание задач в Планировщике задач Windows (Task Scheduler);
- регистрация агентов в LaunchAgents macOS.
Оба метода гарантируют повторный запуск стиллера или загрузчика при старте ОС.
Рекомендации пострадавшим: реагирование и восстановление
Любая система, на которой была установлена хотя бы одна из указанных версий, должна считаться полностью скомпрометированной. Необходимо незамедлительно выполнить следующие шаги:
- сменить все учётные данные, сохранённые в браузерах и менеджерах паролей (включая Bitwarden);
- проверить Планировщик задач Windows на наличие неизвестных заданий и удалить их;
- обследовать каталог LaunchAgents macOS на предмет незнакомых .plist-файлов и удалить подозрительные записи.
Текущая чистая версия пакета — 8.22.0, однако сообществу следует сохранять бдительность. Учитывая, что злоумышленник мог сохранить доступ к учётным данным, используемым для публикации в npm, существует риск повторных вредоносных выпусков в будущем.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



