Северокорейские хакеры атакуют npm: обнаружены 67 вредоносных пакетов с новым загрузчиком XORIndex

information security

Северокорейские хакеры, связанные с операцией Contagious Interview, значительно расширили свою активность, распространив 67 вредоносных пакетов в экосистеме npm. Как обнаружила команда Socket Threat Research, эти пакеты используют новый загрузчик XORIndex, который маскирует вредоносные действия с помощью XOR-кодирования и индексного шифрования. В совокупности эти пакеты были загружены более 17 000 раз, причем 27 из них до сих пор остаются доступными в реестре npm. Уже отправлены запросы на их удаление и блокировку связанных аккаунтов.

Описание

Эта атака является продолжением кампании, обнаруженной в июне 2025 года, когда использовался другой загрузчик - HexEval. Однако теперь злоумышленники добавили в свой арсенал XORIndex, который также предназначен для скрытой доставки вредоносного ПО BeaverTail - второго этапа атаки, связанного с бэкдором InvisibleFerret. Ранее эта связка уже использовалась в атаках на разработчиков, соискателей работы и владельцев криптовалют.

Особенность новой кампании заключается в том, что XORIndex и HexEval работают параллельно. За короткий промежуток времени (с июня по июль 2025 года) XORIndex собрал более 9 000 загрузок, в то время как активность HexEval остаётся стабильной - около 8 000 загрузок для новых пакетов.

Как работает XORIndex?

Анализ показал, что XORIndex использует пять заранее подготовленных C2-серверов (например, "https://log-writter[.]vercel[.]app/api/ipcheck"). После установки пакета загрузчик собирает метаданные системы (имя пользователя, IP-адрес, геолокацию, версию ОС) и отправляет их на сервер злоумышленников. Затем он выполняет JavaScript-код, полученный в ответ, - это обычно BeaverTail, который крадёт криптокошельки, данные браузеров и другие конфиденциальные файлы.

BeaverTail ищет данные MetaMask, Coinbase Wallet, Solana и других криптовалютных сервисов, упаковывает их в архив и отправляет на сервер злоумышленников. Затем он может загрузить дополнительные вредоносные модули, включая InvisibleFerret - полноценный бэкдор для удалённого управления системой.

Эволюция XORIndex: от простого к сложному

Исследователи выдели три этапа развития загрузчика.

  • Первый прототип - "postcss-preloader" - был примитивным: он просто отправлял запрос на сервер и выполнял полученный код без какой-либо маскировки.
  • Второй вариант - "js-log-print" - добавил сбор системных данных, но содержал ошибку в логике получения IP-адреса.
  • Третье поколение - "dev-filterjs" - впервые применило шифрование строк через ASCII-буферы и исправило прошлые недочёты, сделав загрузчик более скрытным.
  • Современные версии XORIndex используют XOR-кодирование, ротацию C2-серверов и сложные методы обфускации, что делает их труднее для обнаружения.

Чем это грозит разработчикам?

Злоумышленники продолжают активно загружать вредоносные пакеты, меняя их названия и слегка модифицируя код. Их цель - внедриться в цепочки поставок программного обеспечения и заражать компьютеры разработчиков через зависимости npm.

Socket рекомендует тщательно проверять устанавливаемые пакеты, особенно если их названия похожи на популярные библиотеки (например, "vite-*", "*-log*"). Также стоит обращать внимание на подозрительные HTTP-запросы и использование "eval()" в коде зависимостей.

Государственные хакеры из КНДР не останавливаются: их инструменты становятся сложнее, а атаки - масштабнее. Компаниям и отдельным разработчикам важно оставаться настороже и применять инструменты для мониторинга подозрительной активности в своих проектах.

Индикаторы компрометации

IPv4

  • 144.217.86.88

URLs

  • https://1215.vercel.app/api/ipcheck
  • https://api.npoint.io/1f901a22daea7694face
  • https://log-writter.vercel.app/api/ipcheck
  • https://process-log-update.vercel.app/api/ipcheck
  • https://soc-log.vercel.app/api/ipcheck

Emails

  • ahmadbahai07@gmail.com
  • ahmedali06091@gmail.com
  • alexandercruciata11@gmail.com
  • c258789456@gmail.com
  • chulovskaolena@outlook.com
  • csilvagalaxy87@gmail.com
  • danxeth436@gmail.com
  • david262721@outlook.com
  • david36271@outlook.com
  • davisjosephinewnk807@outlook.com
  • denniswinter727@outlook.com
  • derek00144@gmail.com
  • devin.s@gedu.demo.ta-39.com
  • devin1571@outlook.com
  • dmytroputko@gmail.com
  • drgru854@gmail.com
  • filip.porter9017@outlook.com
  • garnerbrandy1230@gmail.com
  • h96452582@gmail.com
  • hades19910712@outlook.com
  • hera19970204@outlook.com
  • imanwdr30@hotmail.com
  • jacksonblau11ai@gmail.com
  • jaksonas11@outlook.com
  • jasonharry198852@gmail.com
  • jennyjenkins783@gmail.com
  • jgod19960520@outlook.com
  • jinping0821@outlook.com
  • jinping0822@outlook.com
  • magalhaesbruno236@gmail.com
  • millosmike3@gmail.com
  • oleksandrkazadaiev522@gmail.com
  • r29728098@gmail.com
  • rkupriyanof@gmail.com
  • rodolfguerr@gmail.com
  • samuelhuggins3@gmail.com
  • scarlet112603@outlook.com
  • souzaporto800@gmail.com
  • star712418@gmail.com
  • stefanofrick2@gmail.com
  • vallierhilaire@gmail.com
  • vitalii214.ilnytskyi@gmail.com
  • willsuccess47@gmail.com
  • zeus19970204@outlook.com

Malicious npm Packages

  • 1imit
  • async-queuelite
  • cronek
  • dev-filterjs
  • ecom-config
  • eth-auditlog
  • figwrap
  • flowframe
  • flowmark
  • flush-plugins
  • husky-logger
  • js-log-print
  • jsonli-conf
  • jsonlis-conf
  • jsonloggers
  • jsonlogs
  • jsonskipy
  • jsonslicer
  • jsons-pack
  • jsonspack-logger
  • jsontostr
  • jsonwebstr
  • js-prettier
  • logs-bind
  • midd-js
  • middy-js
  • nextjs-https-supertest
  • nextjs-package-purify
  • node-log-streamer
  • node-mongodb-logger
  • node-mongodb-orm
  • node-mongo-orm
  • node-mongoose-orm
  • nodestream-log
  • notification-loggers
  • notification-logs
  • notifier-loggers
  • parser-query
  • parsing-query
  • phlib-config
  • pino-req
  • postcss-preloader
  • pretty-chalk
  • proc-logger
  • querypilot
  • reqnexus
  • reqweaver
  • restpilot
  • servula
  • springboot-js
  • springboot-md
  • tailwind-base-theme
  • tailwind-config-plugin
  • utx-config
  • velocky
  • vitejs-log
  • vitejs-plugin-refresh
  • vite-lightparse
  • vite-logging-tool
  • vite-log-handler
  • vite-logify
  • vite-meta-plugin
  • vite-plugin-enhance
  • vite-postcss-tools
  • vite-proc-log
  • vite-tsconfig-log
  • vite-usageit
Комментарии: 0