Добавить в корзинуПозвонить
Найти в Дзене
CISOCLUB

Компрометация npm-пакета Jscrambler: стилер атаковал учётные данные

Редкое по изощренности нарушение цепочки поставок зафиксировано в экосистеме npm. 11 июля 2026 года вышла версия 8.14.0 пакета Jscrambler — широко применяемого средства для обфускации и защиты JavaScript-приложений — которая содержала вредоносный хук preinstall, нацеленный на скрытое выполнение нативных бинарных файлов сразу в трёх операционных системах: Linux, Windows и macOS. Факт компрометации мгновенно зафиксировал анализатор пакетов StepSecurity’s OSS AI Package Analyst, присвоив выпуску максимальный уровень подозрительности. До инцидента пакет сохранял безупречную историю. Последняя безопасная версия 8.13.0 весила 37,8 КБ, тогда как скомпрометированная 8.14.0 раздулась до 7,9 МБ. Причиной стал скрипт preinstall, в котором злоумышленники спрятали специально переименованный бинарный файл dist/intro.js. В действительности это был контейнер с тремя исполняемыми файлами, сжатыми с помощью gzip и адаптированными под каждую платформу. Во время установки пакета скрипт распаковывал полезн
Оглавление

Редкое по изощренности нарушение цепочки поставок зафиксировано в экосистеме npm. 11 июля 2026 года вышла версия 8.14.0 пакета Jscrambler — широко применяемого средства для обфускации и защиты JavaScript-приложений — которая содержала вредоносный хук preinstall, нацеленный на скрытое выполнение нативных бинарных файлов сразу в трёх операционных системах: Linux, Windows и macOS. Факт компрометации мгновенно зафиксировал анализатор пакетов StepSecurity’s OSS AI Package Analyst, присвоив выпуску максимальный уровень подозрительности.

Механизм компрометации: от чистого пакета к скрытому бинарному бэкдору

До инцидента пакет сохранял безупречную историю. Последняя безопасная версия 8.13.0 весила 37,8 КБ, тогда как скомпрометированная 8.14.0 раздулась до 7,9 МБ. Причиной стал скрипт preinstall, в котором злоумышленники спрятали специально переименованный бинарный файл dist/intro.js. В действительности это был контейнер с тремя исполняемыми файлами, сжатыми с помощью gzip и адаптированными под каждую платформу.

Во время установки пакета скрипт распаковывал полезную нагрузку и немедленно запускал соответствующий бинарник. Процесс аккуратно отделялся от основного процесса npm, что существенно затрудняло обнаружение традиционными мониторинговыми средствами.

Эволюция угрозы: внедрение в основной модуль

В последующих версиях (8.18.0 и 8.20.0) атакующие полностью убрали хук preinstall. Вредоносная логика была перенесена непосредственно в основной модуль пакета. Такая мимикрия обеспечивала немедленное выполнение вредоносного кода сразу при импорте — без необходимости классического триггера npm install. Это усложнило обнаружение ещё сильнее: заражение производилось даже в сценариях, где код лишь подгружался как зависимость.

Многоцелевой стиллер с низкоуровневым доступом

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

  • встроенные движки SQLite и LevelDB для прямого чтения конфиденциальной информации из локальных хранилищ браузеров и приложений;
  • англоязычный словарь BIP39, предназначенный для перебора и обработки seed-фраз криптовалютных кошельков.

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

Платформенно-специфичные техники уклонения

Разработчики вредоноса проявили глубокое знание внутреннего устройства каждой ОС:

  • Linux: бинарник задействовал подсистему eBPF для инструментирования на уровне ядра. Это позволяло перехватывать системные вызовы и скрывать присутствие.
  • Windows: реализованы многократные проверки на антиотладку, противодействие инструментам анализа и компрометация защитных механизмов самой ОС.
  • macOS: внедрены детекторы подключенных отладчиков, препятствующие динамическому исследованию в песочнице.

В настоящий момент продолжается извлечение и обратный инжиниринг встроенного eBPF-кода для полного восстановления картины функциональности на уровне ядра Linux.

Экстренные меры реагирования

Хосты, на которых запускались скомпрометированные версии Jscrambler, должны рассматриваться как полностью захваченные. Специалистам и командам DevSecOps рекомендуется немедленно выполнить следующий комплекс действий:

  • откатить пакет до версии 8.22.0 или другой проверенной чистой версии;
  • считать все затронутые машины скомпрометированными и изолировать их от корпоративной сети;
  • принудительно изменить учётные данные, которые могли быть сохранены в браузерах на этих узлах;
  • проверить расширения криптокошельков на предмет несанкционированных транзакций и необычной активности;
  • проанализировать CI/CD-конвейеры, в которые была включена вредоносная версия пакета — существует риск раскрытия секретов, токенов и переменных окружения.

Хронология и масштаб

Атака стартовала 30 июня 2026 года с публикации последней известной безопасной версии. Вскоре последовали вредоносные выпуски, и первые сигналы тревоги появились практически моментально благодаря автоматизированному анализу пакетов. Несмотря на это, инцидент успел затронуть значительное число инсталляций из-за репутации Jscrambler как легитимного защитного инструмента.

Стратегии предотвращения атак на цепочку поставок

Эксперты вновь указывают на две ключевые оборонительные практики, способные минимизировать воздействие подобных атак на экосистему npm:

  • введение периодов ожидания (cooldown) для только что опубликованных версий пакетов, особенно если релиз сопровождается резким скачком размера или новыми нативными бинарями;
  • внедрение средств мониторинга в реальном времени, анализирующих поведение пакетов непосредственно в среде выполнения и выявляющих аномалии вроде отцепления процессов или обращения к LevelDB/SQLite без явного объявления таких зависимостей.

Инцидент с Jscrambler подтверждает: даже широко известные пакеты с многолетней репутацией теперь становятся инструментом целевых атак, требующим от организаций перехода к более проактивной модели защиты цепочки поставок.

Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.

Ознакомиться подробнее с отчетом можно по ссылке.

Оригинал публикации на сайте CISOCLUB: "Компрометация npm-пакета Jscrambler: стилер атаковал учётные данные".

Смотреть публикации по категориям: Новости | Мероприятия | Статьи | Обзоры | Отчеты | Интервью | Видео | Обучение | Вакансии | Утечки | Уязвимости | Сравнения | Дайджесты | Прочее.

Подписывайтесь на нас: MAX | VK | Rutube | Telegram | Дзен | YouTube.