PolinRider: КНДР заражает npm через GitHub-аккаунты разработчиков

PolinRider представляет собой кампанию в цепочке поставок ПО, которую связывают с КНДР. Злоумышленники компрометируют легитимных разработчиков GitHub и их локальные среды сборки, после чего используют захваченные учетные записи для распространения ВПО через доверенные репозитории и пакеты npm.

Кампания была выявлена в 4 367 репозиториях, принадлежащих 2 152 владельцам. Скомпрометированные учетные записи позволяют вносить вредоносные изменения сразу в несколько репозиториев. Это указывает на то, что доступ злоумышленников распространяется на всю учетную запись, а не ограничивается одним пакетом.

Вредоносный код маскируют под файлы конфигурации

В ходе кампании обфусцированный JavaScript скрывается в файлах, которые выглядят легитимными или не предназначены для выполнения. Среди них файлы .vscode/tasks.json, поддельные шрифты .woff2, а также конфигурации babel.config.cjs, tailwind.config.js, postcss.config.mjs и eslint.config.mjs.

Распространенным механизмом запуска становится задача VS Code с параметром runOn: folderOpen. Она запускает JavaScript, замаскированный под шрифт, при открытии проекта.

NullReceiver использует Ethereum RPC и криптокошелек

Вредоносная программа, известная как загрузчик NullReceiver, применяет обфускацию, конечные точки Ethereum RPC и криптокошелек в качестве якорей для управления. Кроме того, загрузчик способен создавать отсоединенный процесс Node.js с помощью spawn('node').unref().

Компрометация npm-пакетов

В отчете описана компрометация пакетов npm fetch-page-assets и html-to-gutenberg. Их поддерживают пользователь GitHub digelo и пользователь npm digelim.

Злонамеренный контент впервые появился в репозитории разработчика 29 марта 2026 года. В пакет fetch-page-assets он попал в версии 1.2.9, опубликованной 25 мая.

После выпуска уведомления GHSA-vxq2-vhm7-7mhq npm удалил эту версию, однако последующие релизы также оставались скомпрометированными. В версиях 1.2.10 и 1.2.11 видимые файлы полезной нагрузки удалили, но триггер автоматического выполнения сохранили.

31 июля злоумышленники восстановили поддельный шрифт в качестве полезной нагрузки и добавили отдельно обфусцированный загрузчик в файл babel.config.cjs. В результате версии 1.2.12, 1.2.13 и 1.2.14 продолжили распространять ВПО.

Кампания также затронула другие пакеты npm, включая версию 3.3.24 пакета @lambda-platform/lambda-vue и пакеты, опубликованные аккаунтом denislistiadi.

Удаление пакетов не устраняет источник компрометации

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

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

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

Технологии киберугроз
Автор: Технологии киберугроз
Технологии киберугроз – технологическая компания, специализирующаяся на решениях по анализу угроз для предприятий любого размера. Мы собираем, нормализуем, обогащаем информацию о киберугрозах со всего мира. Нашими источниками являют более 260 открытых фидов, более 100 открытых поставщиков Threat Intelligence-отчетов, открытые online sandbox, социальные сети и репозитории GitHub. Мы также предоставляем ряд сервисов по: семантическом анализу Threat Intelligence-отчетов и приведения их в машиночитаемый формат STIX 2.1, проверки IoC на потенциальные ложноположительные сработки, а также получению WHOIS-записей для доменных имен.
Комментарии: