Attakk ta' Typosquatting ta' DevTap npm

Attakk ta' Typosquatting ta' DevTap npm: Sitt Pakketti Malizzjużi Jimmiraw lejn Workstations tal-Iżviluppaturi

TL; DR

Bejn l-1 ta' April u t-3 ta' Mejju 2026, pubblikatur wieħed tal-npm, user0001, irreġistrat bl-indirizz tal-Gmail mhux verifikat tanvisoul9@gmail.com, imbotta bil-kwiet sitt pakketti b'ismijiet apposta bla togħma u li jinstemgħu infrastrutturali: centralogger, dom-utils-lite, node-fetch-lite, connector-agent, node-gyp-runtime, u node-env-resolve.

L-aħħar żewġ verżjonijiet ta' node-env-resolve, 1.0.7 u 1.0.8, ġew immarkati mis-sistema ta' Twissija Bikrija ta' Malware (MEW) ta' Xygeni fit-2 ta' Mejju u kkonfermati bħala malizzjużi fit-3 ta' Mejju.

L-impjant mhux tas-soltu għal dak li mhux: m'hemm l-ebda bots tat-Telegram, l-ebda callbacks tal-OAST, l-ebda konfużjoni, u l-ebda tentattiv biex jittieħdu l-kredenzjali tal-AWS fil-ħin tal-installazzjoni. Minflok, postinstall.js tħawwel entrata ta' persistenza tal-boot tal-Windows, bl-użu ta' ċavetta HKCU Run li tniedi wscript.exe kontra stub VBS. Imbagħad joħloq aġent Node.js separat li jiġbor flimkien moduli għall-qbid tal-mikrofonu, is-serq tal-istorja tal-browser, it-teħid ta' screenshots, u s-simulazzjoni tal-maws/tastiera.

Qed insejħu dan il-grupp DevTap, wara l-kit jitlaq jaħdem fuq magna ta' żviluppatur.

Is-sitt pakketti kollha kienu live fuq npm fil-ħin tal-kitba. Aħna ssottomettejnihom lill-kanal tal-abbuż tar-reġistru. Id-difensuri għandhom ineħħu kwalunkwe installazzjoni mill-pubblikatur sakemm titneħħa.

Il-Grupp: Sitt Pakketti, Pubblikatur Wieħed

Il-kont tal-pubblikatur user0001 mhux verifikat. M'għandu l-ebda SCM verifika, l-ebda email marbuta mad-dominju, u l-ebda storja preċedenti. Il-manwal tal-Gmail tanvisoul9 ma jidhirx f'xi rekord ieħor ta' pubblikatur npm li stajna nsibu.

Is-sitt pakketti kollha jelenkaw l-istess manutentur, ġew ippubblikati mill-istess kont, u jaqsmu l-istess package.json pjanċa standard. M'hemm l-ebda repository, le homepage, u le description itwal minn linja waħda.

L-istrateġija tal-ismijiet hija l-parti interessanti. B'differenza minn kampanja klassika ta' konfużjoni dwar id-dipendenza jew typosquat, l-ebda wieħed minn dawn l-ismijiet ma jimmira lejn librerija upstream speċifika. Minflok, huma kalibrati biex jisparixxu f'librerija reali. package.json or npm ls output.

PakkettIppubblikat għall-ewwel darbaVerżjoni reċentiverżjonijietRwol fil-Klaster
ċentraliġġogger2026-04-01 12:46 UTC1.0.95, minn 1.0.5 għal 1.0.9Il-qoxra tal-"utilità tal-logging" tal-klaster; l-ewwel pubblikazzjoni
dom-utils-lite2026-04-14 07:36 UTC1.0.33Kopertura ġenerika tad-DOM-helper
node-fetch-lite2026-04-19 10:22 UTC1.0.23Jimita l-familja tan-node-fetch
aġent tal-konnettur2026-04-25 05:12 UTC1.0.01Isem ġeneriku “aġent”
node-gyp-runtime2026-04-25 05:17 UTC1.0.01Jimita l-għodda tal-bini tal-moduli nattivi
node-env-resolve2026-04-25 05:21 UTC1.0.910, minn 1.0.0 għal 1.0.9Qattara attiva; impjant sħiħ

Ismijiet bħal centralogger, node-fetch-lite, u node-gyp-runtime huma ddisinjati biex jidhru mhux kontroversjali fir-reviżjoni tal-kodiċi. Jinstema' bħal affarijiet li diġà jkunu fis-siġra tad-dipendenza ta' proġett.

Flimkien ma' pubblikatur ġdid u mhux verifikat u links ta' repożitorju neqsin, dawn jiffurmaw xejra rikonoxxibbli: attur li jdaħħal ismijiet b'frizzjoni baxxa fir-reġistru, imbagħad jirrepeti malajr fuq dak li hu importanti. F'dan il-każ, node-env-resolve irċieva għaxar verżjonijiet fi tmien ijiem.

Dak li Jinżel fuq Kaxxa tal-Iżviluppaturi tal-Windows

Il-katina malizzjuża fuq node-env-resolve:1.0.8 huwa qasir, dirett, u rikk fil-karatteristiċi b'mod mhux tas-soltu għal RAT npm.

Postinstallazzjoni: Persistenza u Aġent Detached

package.json jiddikjara hook ta' installazzjoni wieħed:

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

postinstall.js jagħmel tliet affarijiet fl-ordni.

L-ewwel, ipoġġi direttorju tal-installazzjoni barra s-siġra npm. Il-mogħdija tiġi kkalkulata waqt l-eżekuzzjoni fl-iskritt bħala INSTALL_DIRImbagħad imexxi internament execSync('npm install --production --silent ...') ġewwa fih biex jiġbed id-dipendenzi tal-runtime tal-impjant. Dan ipoġġi l-aġent fuq id-diska x'imkien manwali node_modules l-awdit mhux se jsib.

It-tieni, jikteb launcher VBS u jirreġistrah għall-persistenza tal-boot:

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

wscript.exe huwa l-Windows Script Host, binarju ffirmat ta' Microsoft li jaħdem .vbs fajls mingħajr tieqa tal-console. Dak huwa precisHuwa għalhekk li huwa favorit għal stubs ta' autorun.

Hemm ukoll tqabbil reg delete mogħdija ġewwa src/index.js, li jissuġġerixxi li l-impjant huwa ddisinjat biex jitneħħa faċilment fuq kmand tal-operatur.

It-tielet, dan joħloq proċess tat-tfal separat:

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

Żewġ dettalji huma importanti hawnhekk.

SERVER_URL jinqara mill-ambjent. B'riżultat ta' dan, l-endpoint C2 huwa konfigurabbli għal kull skjerament u mhux inkorporat fil-pakkett. Dik l-għażla żgħira iżda intenzjonata tegħleb il-biċċa l-kbira tal-isweeps statiċi tal-IOC.

Barra minn hekk, it-tifel imnissel jiret l-ambjent ġenitur sħiħ. Għalhekk, kwalunkwe NPM_TOKEN, AWS_*, GITHUB_TOKEN, jew sokit tal-aġent SSH preżenti fix-shell tal-iżviluppatur fil-ħin tal-installazzjoni jivvjaġġa fil-memorja tal-aġent li jdum ħafna.

Ma’ xiex Jagħti l-Aġent

Il-bundled src/ Is-siġra tinkludi tliet moduli li isimhom biss jirrakkonta l-istorja: audioCapture.js, browserHistory.js, u systemInfo.js.

Il-lista tad-dipendenzi tar-runtime, solvuta matul l-istadji npm install, jikkorroborahom.

Dan l-approċċ jibdel inċident kaotiku f'rispons kontrollat.

Minflok ma jirreaġixxu bl-addoċċ, it-timijiet joperaw b' prijoritizzazzjoni ċara u rimedju rapidu.

dipendenzaGħalxiex Huwa f'Dan il-Kuntest
screenshot-desktopQbid tal-iskrin perjodiku
@nut-siġra-furketta/nut-jsAwtomazzjoni / simulazzjoni tal-input tal-maws u tat-tastiera
aħjar-sqlite3Qari dirett tad-databases SQLite tal-Istorja ta' Chrome, Edge, u Firefox
adm-zipL-irbit tal-artefatti miġbura qabel l-esfiltrazzjoni
qawwijaTibdil fid-daqs / kompressjoni ta' screenshots u artefatti tal-immaġni
socket.io-klijentKanal C2 bidirezzjonali persistenti
node-magna-idMarka tas-swaba' stabbli għal kull host għat-traċċar tal-vittmi

systemInfo.js sejħiet os.networkInterfaces() għal teħid addizzjonali tas-swaba' qabel l-ewwel beacon.

Għaliex il-Qbid tal-Awdjo Huwa s-Sinjal li Jispikka

Il-biċċa l-kbira tar-RATs tal-npm li nagħmlu triage fl-MEW jieqfu waqt is-serq sigriet fil-ħin tal-installazzjoni. Huma jaqraw ~/.npmrcaqra ~/.aws/credentials, brix process.env, Ibgħat POST għal webhook, u oħroġ. Dan jaqbel ma' mudell ekonomiku ta' smash-and-grab. Il-kredenzjali għandhom half-life qasira, u l-attakkant jeħtieġ li jimmonetizza malajr.

node-env-resolve huwa differenti fil-forma.

Il-persistenza hija ssettjata biex tibqa' ħajja wara reboot. L-aġent jaħdem separatament u jdum għal żmien twil taħt wscript.exeIl-kit li jġorr miegħu huwa biex ikun hemm fuq il-magna tal-iżviluppatur, mhux biex jaqbad u jħalli: reġistratur tal-mikrofonu, sewwieq tat-tastiera/maws, teħid tal-istorja sħiħa tal-browser, qbid tal-iskrin, u kanal Socket.IO interattiv lura lejn C2 konfigurabbli.

Il-qbid tal-mikrofonu b'mod partikolari huwa l-linja li din il-kampanja taqbeż li l-biċċa l-kbira tal-malware npm ma taqbiżx.

Stazzjon tax-xogħol tal-iżviluppatur, dejjem aktar, qed isir ukoll l-istazzjon tax-xogħol fejn l-iżviluppaturi jieħdu stand-ups, telefonati lill-klijenti, diskussjonijiet dwar id-disinn, u bridges on-call. Impjant li jirreġistra l-mikrofonu mhux verament wara t-token npm tal-iżviluppatur. Huwa wara dak li jgħid l-iżviluppatur quddiem il-laptop.

Dak is-sett ta' kapaċitajiet, flimkien man-nuqqas ta' offuskazzjoni u l-assenza ta' kwalunkwe esfiltrazzjoni attraenti fil-ħin tal-installazzjoni, jinqara bħala pre-pożizzjonament għal aċċess immirat aktar milli serq ta' kredenzjali opportunistiku.

M’aħniex qed nasserixxu attribuzzjoni minn dan biss. Qed ninnutaw il-profil operattiv.

Attakk ta' typosquatting tal-npm - DevTab

Il-kadenza tal-iterazzjoni ta' tmien ijiem fuq node-env-resolve huwa l-aktar dettall operattivament sinifikanti fil-kronoloġija.

Din mhix xi ħaġa li tinħareġ u tinsa l-installazzjoni. Il-pubblikatur qed iżomm id-dropper attivament, li ġeneralment ifisser waħda minn żewġ affarijiet. Jew qed jirfinaha skont ambjenti ta' ttestjar qabel skjerament usa', jew diġà għandhom telemetrija tal-installazzjoni li ġejja lura u qed jirrispondu għaliha.

Il-ħames pakketti l-oħra ma raw l-ebda tħassir wara l-pubblikazzjoni inizjali tagħhom. Dan jaqbel ma' mudell ta' "stadju darba, ħalli b'isem" għall-cluster ta' appoġġ filwaqt li l-isforz tal-inġinerija jiffoka fuq il-pakkett li jagħmel ix-xogħol.

Attribuzzjoni: Ħjiel Żgħar, Ebda Verdett Sod

Pubblika OSINT Is-sinjali huma rqaq, u mhux se niġġebduhom. Dak li jista' jiġi osservat:

Il-manwal tal-Gmail tanvisoul9 parzjalment jixbah isem mogħti mill-Asja t'Isfel, "Tanvi." Dan huwa sinjal dgħajjef. Il-handles tal-Gmail mhumiex identità, u l-aħħar soul9 huwa ġeneriku. Mhuwiex sikur li wieħed jiddeduċi l-ġeografija minn parti lokali tal-email biss.

L-istil tal-kodiċi mhuwiex notevoli f'Node.js: standard sejħiet tal-librerija bħal os, child_process, spawn, u reg addM'hemm l-ebda offuskazzjoni, l-ebda rotazzjoni tal-kordi, u l-ebda loġika kontra d-debug. L-awtur huwa komdu bil-primittivi tar-reġistru tal-Windows u l-orkestrazzjoni ta' detached-child-process, iżda ma jidhirx li qed jfittex ħiliet kummerċjali aktar moħbija li jistgħu jużaw b'mod plawżibbli.

Id-dipendenzi huma kompletament lesti għall-użu u magħrufa sew: screenshot-desktop, nut-js, better-sqlite3, u socket.io-clientM'hemm l-ebda protokoll apposta, l-ebda stack C2 rolled-from-scratch, u l-ebda trick ġdid ta' persistenza lil hinn minn ktieb tat-test. Ċavetta Run tal-HKCUDan huwa integratur kompetenti, mhux awtur ta' għodda.

Ma sibniex strings mhux bl-Ingliż, kummenti inkorporati, dejta lokali, jew marki tas-swaba' taż-żona tal-ħin outputjati mill-kumpilatur fl-artefatti ppubblikati.

Iċċekkjajna jekk il-kodiċi kienx jikkoinċidi ma' kampanji preċedenti li diġà nsegwu, inkluż Shai Hulud, Owlivjon, Buildkite, u l-heibai reċenti / claude-code-best Familja ta' kloni Anthropic-CLI. Ma sibna l-ebda waħda: l-ebda mudell C2 kondiviż, l-ebda tqassim ta' fajls kondiviż, u l-ebda idjoma kondiviża.

Dak li ma ngħidux: li dan huwa attur statali, grupp magħruf, jew ġeografikament marbut ma' xi pajjiż speċifiku.

Il-profil operattiv huwa konsistenti ma' tim żgħir u moderatament b'ħiliet li jagħmel sorveljanza tal-istazzjon tax-xogħol tal-iżviluppaturi. X'aktarx huwa motivat finanzjarjament permezz tal-użu downstream tal-aċċess, iżda possibbilment ukoll rikonoxximent bħala servizz għal xerrej separat.

Żewġ punti indiretti jappoġġjaw dan il-qari: l-evitar ta' mekkaniżmi ta' esfiltrazzjoni li jiġbdu l-attenzjoni u li jaħarqu l-grupp malajr, bħal bots tat-Telegram, oastify.com, jew canarytokens, u l-ismijiet tal-pakketti apposta bla togħma, li jiffavorixxu installazzjonijiet kwieti b'denb twil fuq żieda qasira fil-volum għoli.

Indikaturi ta' Kompromess u Sejbien

Pakketti u Pubblikatur
Qasamvalur
pubblikatur tal-npmuser0001
Email tal-pubblikaturtanvisoul9@gmail.com, mhux verifikat
Pakketticentralogger, dom-utils-lite, node-fetch-lite, connector-agent, node-gyp-runtime, node-env-resolve
Malizzjuż ikkonfermatnode-env-resolve@1.0.7, node-env-resolve@1.0.8
Ospitanti Artefatti
tipvalur
Ċavetta tal-persistenzaHKCU\Software\Microsoft\Windows\Verżjoni Attwali\Run
Valur tal-persistenzaIsem tal-varjabbli; dejta tal-forma wscript.exe " \\ .vbs"
Installa l-ganċpostinstall: node postinstall.js fil-manifest tal-pakkett
Moduli tal-impjantisrc/audioCapture.js, src/browserHistory.js, src/systemInfo.js
Direttorju tal-istadjarINSTALL_DIR riżolt barra n-node_modules tal-proġett; il-post ġie stabbilit minn postinstall.js fil-ħin tal-installazzjoni
Netwerk
tipvalur
Trasport C2socket.io-client, kanal bidirezzjonali persistenti
Punt tat-tmiem C2Ipprovdut lill-aġent permezz tal-varjabbli tal-ambjent SERVER_URL; mhux hard-coded f'artefatti ppubblikati

Noti ta' Sejbien

Żewġ regoli jaqbdu din il-familja mingħajr il-ħtieġa tal-endpoint C2.

L-ewwel, immarka l-iskripts ta' wara l-installazzjoni li jwettqu azzjoni interna npm install f'mogħdija barra mid-direttorju tal-pakkett stess. Kwalunkwe downloader leġittimu ta' prebuild, bħal node-gyp rikostruzzjonijiet jew downloaders binarji mibnija minn qabel, jikteb ġewwa l-pakkett jew fil-pjattaforma-standard mogħdijiet tal-cache b'hashes verifikati. Ma jiktebx f'waħda maħluqa friska INSTALL_DIR x'imkien ieħor fuq id-diska.

It-tieni, immarka l-iskripts ta' wara l-installazzjoni li joħorġu problemi reg add HKCU\…\Run ma wscript.exe bħala l-llanċjar. Dan essenzjalment qatt ma jkun leġittimu minn pakkett npm. Immarkah u poġġih fi kwarantina.

It-tielet ewristika hija utli biex jiġi identifikat il-pakkett aħwa li jmiss qabel ma jiġi kkonfermat: pubblikatur npm ġdid mingħajr SCM verifika, email tal-Gmail, le repository qasam, u ismijiet multipli ta' pakketti qosra, ġeneriċi, u li jinstemgħu infrastrutturali ppubblikati fi ftit jiem minn xulxin huwa, waħdu, biżżejjed biex jiġġustifika reviżjoni manwali.

Irrapportat lir-reġistru tal-npm. Se naġġornaw din il-kariga meta l-kont tal-pubblikatur jitneħħa.

sca-tools-software-composition-analysis-tools
Prijoritizza, irranġa, u assigura r-riskji tas-softwer tiegħek
Ikseb il-Kont B'Xejn tiegħek.
Mhix meħtieġa karta ta 'kreditu.

Assigura l-Iżvilupp u l-Kunsinna tas-Softwer tiegħek

bis-Suite tal-Prodotti Xygeni