Кампания Contagious Interview: северокорейские хакеры разместили 338 вредоносных пакетов в npm

information security

Исследовательская группа 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
Комментарии: 0