Мошеннический npm-пакет nodemon-sudo скрывает бэкдор
Безобидная маскировка: как пакет nodemon-sudo скрывает RCE-бэкдор в копии легитимного nodemon
nodemon-sudo (версия 3.1.16) — это мошеннический пакет npm, который до мелочей имитирует функциональность популярного монитора процессов nodemon. Его главная опасность не в явном вредоносном коде, а в способе доставки: пакет содержит точную копию легитимного nodemon и загружает бэкдор через незаметную зависимость, оставаясь «чистым» при поверхностных проверках и установке.
Двухступенчатая архитектура атаки
Ключевое звено вредоносной цепочки — зависимость tslint-conf (версия 7.2.1), переупакованная версия библиотеки логирования pino. Именно она служит носителем функций бэкдора. Как только в среде выполнения приложения вызывается поддельная логгер-функция, активируется полезная нагрузка второго этапа, обеспечивающая Remote Code Execution (RCE) на машине жертвы.
- Пакет nodemon-sudo сам по себе не содержит очевидных вредоносных инструкций;
- Зависимость tslint-conf подгружает произвольный код с шлюза IPFS;
- Ни один из пакетов не использует скрипт установки (никаких preinstall/postinstall), поэтому инструменты, сканирующие угрозы на этапе инсталляции, не выявляют аномалий.
Маскировка под легитимность и ложные улики
Архитектура nodemon-sudo построена так, чтобы любой поверхностный анализ признал его безопасным. Встроенный бинарный файл Windows bin/windows-kill.exe не представляет угрозы — это настоящая утилита для отправки сигналов прерывания процессам. Она намеренно оставлена, чтобы исследователи, заметившие исполняемый файл, ошибочно отнесли пакет к категории «ложноположительных срабатываний» и не копали глубже.
Критический порог активации: полезная нагрузка остаётся безвредной до тех пор, пока не будет вызвана её логгер-функция. С этого момента злоумышленник получает полный доступ к файловой системе и окружению Node.js.
Связь с кампанией emiltype / jsonspack и трудности атрибуции
Оба пакета — nodemon-sudo и бэкдорная зависимость tslint-conf — были опубликованы 7 июля 2026 года под учётной записью npm conodeeth. Связка входит в более крупный кластер вредоносной активности, получивший название emiltype / jsonspack. Техники и соглашения об именовании отдалённо напоминают приёмы северокорейских злоумышленников, однако атрибуция остаётся неопределённой. Это лишь подчёркивает необходимость пристального анализа не только имён пакетов, но и всей цепочки зависимостей.
«При обнаружении пакетов nodemon-sudo или tslint-conf рекомендуется рассматривать соответствующие машины как скомпрометированные. Ни установочные, ни файловые артефакты сами по себе не укажут на заражение, пока вредоносная функция не отработает в рантайме.»
Рекомендации и индикаторы компрометации
Поскольку бэкдор активируется исключительно во время выполнения, реакция должна быть немедленной и радикальной:
- Безотлагательно удалите пакеты nodemon-sudo и tslint-conf из всех проектов и сред разработки.
- Смените все учётные данные, токены и переменные окружения, которые могли быть раскрыты через среду хоста.
- Проверьте наличие исходящих соединений к помеченным конечным точкам, в частности:
- peach-eligible-penguin-917.mypinata.cloud
- jsonkeeper.com
- Проведите тщательный аудит журналов приложений на предмет вызовов подозрительных логгер-функций за период присутствия указанных пакетов.
Этот инцидент — яркое напоминание о том, что прозрачность цепочки поставок ПО важнее привычных сканеров установочных скриптов. Безопасность начинается с внимательного изучения каждого компонента зависимости, особенно тех, что выглядят «безобидной копией» проверенного инструмента.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



