Компрометация 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, что существенно затрудняло обнаружение традиционными мониторинговыми средствами.
Эволюция угрозы: внедрение в основной модуль
В последующих версиях (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. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



