Исследовательская группа Socket Threat Research обнаружила масштабную кампанию кибершпионажа, связанную с северокорейскими государственными хакерами. Злоумышленники систематически размещают вредоносные пакеты в реестре npm, используя тактику социальной инженерии против разработчиков криптовалютных и блокчейн-проектов.
Описание
Согласно отчету, с момента предыдущего обновления 14 июля 2025 года было выявлено 338 вредоносных пакетов, которые суммарно скачали более 50 000 раз. На момент публикации исследования 25 пакетов оставались активными в реестре npm. Исследователи направили запросы на удаление опасного кода и приостановку associated учетных записей издателей.
Кампания получила название Contagious Interview (заразительное интервью) из-за характерного метода атаки: злоумышленники представляются рекрутерами в LinkedIn и предлагают жертвам выполнить тестовое задание, содержащее вредоносные зависимости. Целями становятся разработчики в сфере Web3, криптовалют и блокчейна, а также соискатели технических вакансий.
Технический анализ показал эволюцию инструментария хакеров. Изначально использовались прямые дропперы вредоносного ПО BeaverTail, но теперь злоумышленники перешли к более сложным загрузчикам HexEval, XORIndex и зашифрованным модулям. Каждый пакет выполняет код при установке или импорте, восстанавливает обфусцированный BeaverTail в памяти и загружает бэкдор InvisibleFerret для обеспечения постоянства.
Особенностью кампании является волнообразный и итеративный характер. Хакеры регулярно публикуют новые пакеты с опечатками в названиях (typosquatting), модифицируют код загрузчиков и масштабируют дистрибуцию через новые псевдонимы. Было зафиксировано использование более 180 фальшивых личностей, связанных с новыми npm-алиасами и регистрационными email-адресами, а также более десятка командных серверов.
В текущей волне атаки используются названия, похожие на популярные зависимости, которые разработчики часто устанавливают автоматически: epxreso (вместо express), dotevn (вместо dotenv), boby_parser (вместо body-parser) и другие. Также targeted пакеты для Web-разработки: react-router-html, vite-plugin-react-ping и аналоги.
Эксплуатация начинается в момент выполнения кода злоумышленника на машине жертвы. В этой кампании исполнение является пользовательским, а не уязвимостью. Установка или импорт активируют логику хакеров через npm lifecycle hooks, такие как postinstall, или через entry points, которые выполняют код при загрузке модуля.
Исследователи обнаружили проблемы в механизмах безопасности npm registry. Например, alias anarenhsaihan опубликовал два вредоносных пакета: jito-components (уже удален и заменен security holding page) и components-flexibility (оставался активным на момент написания отчета). Несмотря на удаление первого пакета, учетная запись хакера не была приостановлена, что позволило опубликовать второй вредоносный пакет.
Установка вредоносных пакетов напоминает матрешку: небольшой загрузчик запускается первым, восстанавливает BeaverTail в памяти, после чего BeaverTail загружает и активирует бэкдор InvisibleFerret. Новые зашифрованные загрузчики используют AES-256-CBC с жестко заданными ключами и векторами инициализации, храня зашифрованный текст в файлах типа LICENSE.
BeaverTail устанавливает командное управление через HTTP(S) и WebSocket, регистрирует хост, получает задания и подготавливает InvisibleFerret - кроссплатформенный Python-бэкдор для Windows, macOS и Linux. Инфраструктура смешивает raw IP-адреса на коммерческих VPS с легитимными hosting-платформами типа *.vercel.app для маскировки под developer-трафик.
Основные цели кампании - кража криптовалют и сохранение постоянства для дальнейших атак. По независимым оценкам, северокорейские хакеры уже похитили $2 миллиарда в 2025 году и approximately $1.34 миллиарда в 2024 году. Украденные активы обычно проходят через миксеры, cross-chain свопы и сети с низкой видимостью.
Эксперты прогнозируют дальнейшее развитие кампаний: появление новых вариантов загрузчиков, разделение расшифровки и размещение между файлами для обхода статических сканирований, продолжение повторного использования URL-шаблонов и хостинг-платформ. Рекомендуется усиливать контроль на уровне учетных записей, требовать двухфакторную аутентификацию и проверку происхождения кода, применять пре-публикационное сканирование.
Для защиты рекомендуется рассматривать каждую установку npm как выполнение кода и блокировать risky behavior до попадания на developer-машины или в CI/CD-пайплайны.
Следует сканировать код и запросы (pull requests) на включение в самом начале, требовать чистый отчет перед слиянием и проверять внешние библиотеки на происхождение, безопасность для сопровождающего и зафиксированные версии.
Интеграция специализированных инструментов безопасности в конвейеры разработки помогает активно выявлять и предотвращать конкурентные ПО, снижая подверженность атакам в цепочке поставок, таким как «заразительное интервью».
Индикаторы компрометации
IPv4
- 135.181.123.177
- 138.201.50.5
- 144.172.105.235
- 144.172.112.106
- 146.70.253.107
- 23.127.202.249
- 23.227.202.244
URLs
- http://fashdefi.store:6168/defy/v7
- https://0927.vercel.app/api/ipcheck
- https://api.npoint.io/b964566497d98298d32c
- https://ip-check-server.vercel.app/api/ip-check/208
- https://json-project-hazel.vercel.app/apikey/QWERTYU890T12HML
- https://log-server-lovat.vercel.app/api/ipcheck/703
- https://process-log.vercel.app/api/ipcheck
- https://process-log-update.vercel.app/api/ipcheck
Emails
- adammorris533@gmail.com
- aidanphillips721@gmail.com
- alexander0110818@outlook.com
- alexander0110820@outlook.com
- alexander0110828@outlook.com
- anastasiiakoziar02@gmail.com
- anthonysmith0979@outlook.com
- anto.nost.athakos194@gmail.com
- arslan310.kiran@gmail.com
- astroglobal.work@gmail.com
- aylin_fintech@hotmail.com
- behrad.daniel@outlook.com
- bellyache@alightmotion.id
- bob.berg.business@gmail.com
- briansanders0126@gmail.com
- bryankoh64@outlook.com
- bryanlee604@outlook.com
- butleralvin510@outlook.com
- carolina32123@hotmail.com
- carolinefruet727@gmail.com
- chain1107saw@gmail.com
- chaparrocesaryed510727@outlook.com
- cheekaide1992@gmail.com
- ChinneryMarcia5425@hotmail.com
- christrotman727@outlook.com
- cibin87216@exitbit.com
- ctwajstj8948@hotmail.com
- danicaagawin5@gmail.com
- darielfrias89@outlook.com
- davidfernandez420@outlook.com
- davidjambis@outlook.com
- decovenjamin@gmail.com
- denise.ward0418@outlook.com
- desmondwynn144@gmail.com
- devkotacorrado@googlemail.com
- dl249995@gmail.com
- dmytro604@outlook.com
- dreamjobsato@gmail.com
- dv6305655@gmail.com
- dyanisteras15091999cuunn@hotmail.com
- elodieblanc0707@gmail.com
- emilylida0923@outlook.com
- ethoszephyrtrcac76000@hotmail.com
- EvalineVaraza63@hotmail.com
- farrelvillarrealdngp170616@hotmail.com
- felip2342@techspirehub.com
- fhaoming7@gmail.com
- galihmxf11@hotmail.com
- garavitovillamilj@gmail.com
- garycorn@loopsoft.tech
- goldenrhynodev@gmail.com
- grayce@xuchuyen.com
- guilddmelihb2r@hotmail.com
- guograce902@gmail.com
- hectorramirez008@outlook.com
- hendriksenelise727@gmail.com
- hiroshi.watanabe1011@gmail.com
- hmax23410@gmail.com
- holppkgaske6i75@outlook.com
- iandavies2313@gmail.com
- jackson.tf7.eth@gmail.com
- jahmiekstreetmanxlj126940778@hotmail.com
- jaya.lubiszn@hotmail.com
- jeffbennett862@gmail.com
- jessikamoreira015@gmail.com
- jh0333224@gmail.com
- jiaopin0813@outlook.com
- jiayingzhang.contact@gmail.com
- jinping0813@outlook.com
- jinping0824@outlook.com
- jiupaladin@gmail.com
- johnas12121@hotmail.com
- johnbenzon510727@outlook.com
- joko.setiawan9l@hotmail.com
- jokohjj80@hotmail.com
- jonatasfrnancisco887@gmail.com
- juancastiblanco1998@gmail.com
- julianohoffmann33@gmail.com
- k7407751@gmail.com
- kaitlyndynamofwtsc28771@outlook.com
- kencheng1291@proton.me
- kevincarol00001@gmail.com
- kevincarol00002@gmail.com
- kevinyamada71@gmail.com
- kik.ita.aylen701@gmail.com
- kingsley19960304@hotmail.com
- korovalerii0803@gmail.com
- kurnia.utama4q@hotmail.com
- lauren.washco@hotmail.com
- leahucosmin0720@gmail.com
- leeuna@xvism.site
- littebaby232355@gmail.com
- lucastyler195@gmail.com
- luis.fernando.dev1214@gmail.com
- luka1291@outlook.com
- luka1293@outlook.com
- malarkeyclayton5@gmail.com
- marcsanford22@gmail.com
- marinella@basemindway.com
- matheuslealcardoso86@gmail.com
- matheusserra0133@gmail.com
- matiushkodenys@gmail.com
- meirjacob727@gmail.com
- melnicenkosergij119@gmail.com
- melnikoleg995@gmail.com
- michal.kaim99@outlook.com
- milamben510@outlook.com
- miltonsanders1234@gmail.com
- mischenko0604@gmail.com
- mykolakostenko16@gmail.com
- mykolasvyryd20@gmail.com
- natinbusiness.work@gmail.com
- ninaquigleyfgsja22730@outlook.com
- ohmlsnwz1502@hotmail.com
- oka.setiawanet@hotmail.com
- oliverwilson1976@hotmail.com
- ossargd@xuseca.cloud
- pandaroyal48@outlook.com
- patrickweberman@outlook.com
- patterson.ariel@outlook.com
- pattersonariel988@gmail.com
- pavlovainerman@gmail.com
- perumalbalak727@outlook.com
- peterdwtp525582@hotmail.com
- pineye0212@outlook.com
- plyn_rider@protonmail.com
- proluka80518@outlook.com
- quintonverdantgsbxf26081@hotmail.com
- quongekitti8vs6cx@hotmail.com
- ramirezhector9299@gmail.com
- realonlinethiago@gmail.com
- reichenausteve@gmail.com
- riccardotala798@outlook.com
- robertwarr1011@gmail.com
- rodolfguerr717@outlook.com
- royalcat3982@outlook.com
- royalking066@outlook.com
- royalpandagungfu06@outlook.com
- royaltiger06@outlook.com
- runedrakesdmty71479@hotmail.com
- ryon_dev_3@outlook.com
- ryon_dev_4@outlook.com
- ryon_dev_5@outlook.com
- ryon_dev_6@outlook.com
- ryon2080@outlook.com
- ryonteam@outlook.com
- sasakidev581@gmail.com
- satriapkp91@hotmail.com
- sean_tech208@hotmail.com
- seed1996009@outlook.com
- serenquasarmzfjn49235@hotmail.com
- sergio1997121400@gmail.com
- shubertlarvp286287@hotmail.com
- slobodanprluv@gmail.com
- smartinezquitian20@gmail.com
- smarttmpacc@hotmail.com
- soft.business0987@gmail.com
- stromdev712418@gmail.com
- suhkuv.competition.tel@gmail.com
- terralindenwhytk82974@outlook.com
- tetianabanakh34@gmail.com
- timothygaffney08@gmail.com
- top1152025@outlook.com
- top6042025@outlook.com
- trentonwork105@gmail.com
- vandesaw@dewacid.store
- venjamindeco0305@gmail.com
- victoria88@celestiad.tech
- vinkeyasmael@hotmail.com
- vladkashka56@gmail.com
- vladzane569@gmail.com
- warfelbyeon95om0@hotmail.com
- wilderkeatingrmtuw64788@hotmail.com
- williammorphy37@gmail.com
- wondereleven1@gmail.com
- xinrong83@outlook.com
- yevheniikasymchuk@gmail.com
- yonismith727@outlook.com
- yuleseraphxyvoi89853@hotmail.com
- yusufsnz95@hotmail.com
- yusufuyn94@hotmail.com
- zanevlad3@gmail.com
- zybinanton241@gmail.com
Malicious npm Packages
- alchmey-sdk
- alert-codestreamer
- async-chai
- babel-cli-ganache
- bind-error
- bingo-abstract-transport
- bingo-log
- bingo-logger
- bingo-pretty
- boby_parser
- btrez-logger
- case-sensitive-paths
- chai-utils
- chartable-utils
- checking-ip
- checking-ips
- chunk-logger
- colorful-buttons
- common-js-support
- common-logify
- components-flexibility
- config-log
- cookie-logger
- cookie-loggers
- cookie-loggo
- cookie-parsing
- cookies-logger
- cors-validator
- cross-session
- ddok-escapes
- display-notifications
- dotevn
- dragon0905-vite-tsconfig-assistant
- emittery-up
- epxreso
- epxresso
- epxressoo
- err-notification
- error-analysis
- error-fallback
- error-loggerjs
- eslint-config-detector
- eslint-detector
- eslint-logger
- eslint-plugin-react-purify
- eslint-ts-view
- eslint-validation-cli
- eslints-logger
- eth-node-utils
- etherres
- ethres.js
- ethrs.js
- express-prisma
- express-xmlrequest
- file-uploading-advance
- filigrean-icon
- filigren-icon
- filigron-icon
- filiogrean-ico
- financial-utils
- flowhint
- flowico
- flowmint
- foudry
- foundary
- foundrey
- foundri
- frontend-cron
- func-analys
- func-analyst
- func-analysis
- func-logger
- fundry
- gad-logger
- ganac
- ganacche
- ganacha
- ganachee
- ganachhe
- gannache
- gatepass
- glow-admin
- gnach
- gridmind
- hardhat-deploy-notification
- hardhat-deploy-notifier
- hashsentinel
- http-err-notification
- http-helmet
- http-req-logger
- httpreslog
- httpreqlog
- husky-es
- husky-logger
- icon-sea
- ip-checkers
- ip-checking
- ip-checks
- item-box
- jito-components
- jnscript
- js-notifiers
- json-configs
- json-confs
- json-log-stream
- json-weqjoken
- json-webhooks
- jsonlise-conf
- jsons-logger
- jsonstylizer
- layzr
- log-task
- log4action
- logger-cookie
- logger-extjs
- logger-pino
- logging-winston
- logflow-json
- login-tokenizer
- lovable-ci
- lovable-cli
- lovable-cookie-logger
- lovable-cookies-logger
- lovable-js
- lovable-logger
- lovable-loggers
- lovable-react
- lovable-ts
- luma-glow-db
- matrix-charts
- mega-compress
- metamask-api
- middleware-loggers
- mongodb-cd
- mongodb-ci
- mongodb-orn
- mongose-ci
- mongose-cli
- morgan-logger
- motionflow
- mongoose-ci
- muxflux
- my-ttt
- next-plugin-uni-i18n
- nextjs-babel-toastify
- node-log-config
- node-log-stream
- node-logflow
- node-logger-sdk
- node-loggerx
- node-notifications
- node-nvm-ssh
- node-orm-logger
- node-vite-config
- node-winston
- node-winston-logger
- nodeapi-json
- nodemailer-helper
- nodemon-pkg
- nodelog-lite
- nodespode
- notification-clients
- notification-displayer
- notification-layer
- notifications-client
- notifications-layer
- notifications-log
- orbital-ledger
- parse-logger
- parser-session
- parser-tson
- pino-node
- pixzen
- preset-log
- prepare-config
- prettier-utils
- pretty-format-setting
- proc-log-cmd
- proc-log-error
- process-load
- qrcode-pretty-react
- query-logger
- randly
- rc-logger
- react-babel-purify
- react-context-stylizer
- react-copack
- react-content-provider
- react-dhtml
- react-dropzone-log
- react-eslint-type
- react-fs-cofnig
- react-fs-config
- react-hook-eslint
- react-icons-loader
- react-lovable
- react-milton
- react-outcome-error-alert
- react-prop
- react-repack
- react-redux-stylizer
- react-redirect-router
- react-router-html
- react-router-purify
- react-stylizer
- react-tediter
- react-thunk-log
- react-toast-ui
- real-socket-rt
- recharts-smart
- redux-eslint-saga
- redux-lint-saga
- redux-saga-devtool
- redux-saga-guard
- redux-saga-help
- redux-saga-inspector
- redux-saga-sentinel
- redux-saga-validator
- redux-thunk-action
- redux-toolkit-rts
- request-guard
- request-kraken
- request-sentry
- router-kit
- rtk-log
- rtk-logger
- rtk-service
- rtk-sleep
- rtk-wake
- safe-winston
- sensitive-paths-focus
- session-logger
- sessionfiy
- sessions-logger
- simple-icon-maker
- some-promise
- stake-config
- stream-loggers
- strictor
- succgdess
- tai1wind-configs-viewer
- tailwind-beauty-icon
- tailwind-book-icon
- tailwind-class-overrides
- tailwind-classname-overrides
- tailwind-classes-overrides
- tailwind-color-icon
- tailwind-computer-icon
- tailwind-config-overrides
- tailwind-config-setting
- tailwind-configs
- tailwind-configs-viewer
- tailwind-cup-icon
- tailwind-desktop-icon
- tailwind-glass-icon
- tailwind-icon
- tailwind-icon-animate
- tailwind-mouse-icon
- tailwind-mui-modal
- tailwind-nbr-icon
- tailwind-next-icon
- tailwind-react-icon
- tailwind-react-mui
- tailwind-round-icon
- tailwind-scrollbar-show
- tailwind-scrollmenu
- tailwind-style-components
- tailwind-style-overrides
- tailwind-supabase
- tailwind-theme-colors
- tailwindcss-animatexs
- tailwindcss-animators
- tailwindcss-color-icons-lite
- tailwindcss-config-overrides
- tailwindcss-remotion
- theta-tv-charts
- tjsontype
- trslip
- truflee
- truffel
- tsleep
- uidraftism
- uxlift
- uxline
- vaildator
- viam
- vite-audit-plugin
- vite-auditlog
- vite-babel-plugin-es6-promise
- vite-binding-js
- vite-chunk-tools
- vite-chunk-manager
- vite-configs-viewer
- vite-css-icon
- vite-jsconfig
- vite-lightsparse
- vite-linting-js
- vite-log-plugin
- vite-logeidit
- vite-mobcss-log
- vite-next-logger
- vite-next-loggers
- vite-parse
- vite-plugin-chunk-chop
- vite-plugin-es6-babel
- vite-plugin-js-support
- vite-plugin-morgan
- vite-plugin-opticompress
- vite-plugin-parse
- vite-plugin-parse-js
- vite-plugin-parse-json
- vite-plugin-react-ping
- vite-plugin-reactjs-refresh
- vite-plugin-uni-i18n
- vite-plugin-vue-layout
- vite-postcss-bootstrap
- vite-postcss-helper
- vite-postcss-kit
- vite-postcss-nested
- vite-react-chunker
- vite-simpleparse
- vite-singleparse
- vite-ts-icon
- vite-tsauditlog
- vite-tsconfig-assistant
- vite-tsconfig-optimized
- vitejs-plugin-react-refresh
- vortex-logger
- vvite-plugin-react-ping
- wb3.js
- we3.js
- webpack-css-branch-loader
- winstem-logging
- winston-datalog
- winston-log
- x-session-parser
- xml-request-parser
- tailwindcss-theme-icons