Компания Sonatype Research Labs опубликовала результаты исследования, показавшие, что шесть пакетов npm получают адреса своих серверов управления из кошелька Ethereum злоумышленника.
Три из шести пакетов npm представляли собой хорошо известные библиотеки, которые злоумышленники незаметно захватили. Всем, кто установил затронутые версии, следует удалить их и проверить наличие последующего кода, который мог быть выполнен.
Злоумышленники захватили три настоящие библиотеки
Исследователь компании Sonatype Адам Рейнольдс говорит, что эти шесть пакетов можно разделить на две категории.
Похоже, что учетные записи реальных библиотек, занимающихся издательской деятельностью, были скомпрометированы, чтобы обеспечить распространение поддельной версии.
Это @kolbo/mcp@1.57.1, agentgui@1.0.1127 и godot-kit@1.0.1786316795. Они разместили загрузчик в конце файла, который уже входил в состав пакета, тем самым сохранив исходную функциональность.
Остальные три представляли собой специально разработанные пакеты для распространения вредоносного ПО. Это envpack-conf@1.0.1, postcss-initial-provider@3.0.4 и tailwindcss-motion-advanced@1.0.1.
Первый пакет содержит вспомогательные средства настройки, второй — работающий плагин PostCSS, а последний пакет помещает загрузчик в минифицированный вспомогательный файл.
Компания Sonatype подтвердила , что все шесть блоков кода используют одну и ту же полезную нагрузку и Ethereum .
Когда жертва запускает код, загрузчик запрашивает у Ethereum информацию о последней исходящей транзакции кошелька иtracбайты из поля получателя этой транзакции.
Эти байты преобразуются в два IPv4-адреса. Они служат в качестве основного и резервного серверов управления для вредоносной программы. Передача данных осуществляется исключительно для хранения инструкций о том, куда вредоносная программа должна подключиться.
Исследователи Sonatype заявили, что загрузчик одновременно обращается к нескольким Ethereum и соревнуется с ними друг с другом. Затем он объединяет свои JSON-RPC-запросы в пакеты и переключается на API Blockscout, если прямые запросы не удаются.
После обнаружения сервера он предпринимает еще две попытки на конечных точках `/0x/cls` и `/0x/ls`, возвращаясь к заголовку ответа `X-Payload-B64`, если обычный GET-запрос не приносит результата.
В результате возвращается результат декодирования Base64 и XOR, который затем выполняется в текущем процессе Node.js с помощью функции `eval()` или запускается как отдельный дочерний процесс.
NullReceiver — это более компактная версия EtherHiding
Эта схема получения данных из блокчейна была обнаружена OpenSourceMalware в двух троянизированных клонах Tailwind CSS, bianira-ui и fluid-type-ui, и получила название NullReceiver.
Компания связывает эту деятельность с кампанией «Заразительное интервью», связанной с КНДР и группой «Лазарус». Компания Sonatype подтвердила совпадение данных в электронном кошельке.
NullReceiver устраняет уязвимость в EtherHiding — методе, который, по данным Google Threat Intelligence, был разработан связанным с КНДР субъектом в октябре 2025 года.
EtherHiding скрывает секрет внутри поля данных транзакции и всегда отправляет данные на публичный адрес сжигания Ethereum, предоставляя защитникам фиксированную точку отсчета для наблюдения.
NullReceiver не отправляет никаких данных и не использует повторно пункт назначения. В деконструированном OpenSourceMalware фрагменте кода получателя байтов было определено значение 166.88.134.62, а конечные байты образовали строку «helloipbot!!», являющуюся отпечатком пальца злоумышленника.
В сентябре 2025 года Cryptopolitan сообщила , что ReversingLabs обнаружила загрузчики npm colortoolv2 и mimelib2, которые скрывали URL-адреса вредоносного ПО внутри Ethereum смарт-контрактовtracбыли связаны с Ghost Network от Stargazer.
Компания Sonatype заявила, что продолжает расследование связанной с npm активности. Пострадавшим разработчикам следует удалить отмеченные npm-пакеты. Им также следует обратить внимание на признаки выполнения полезной нагрузки на втором этапе.
end-content




