Atak Typosquatting DevTap npm

Atak Typosquatting DevTap npm: Sis pakè move vize estasyon travay devlopè yo.

TL; DR

Ant 1ye avril ak 3 me 2026, yon sèl piblikatè npm, user0001, anrejistre avèk adrès Gmail ki pa verifye a tanvisoul9@gmail.com, te pouse sis pakè an silans ak non ki te fèt espre san gou, ki te sanble ak enfrastrikti: centralogger, dom-utils-lite, node-fetch-lite, connector-agent, node-gyp-runtime, epi node-env-resolve.

De dènye vèsyon yo nan node-env-resolveSistèm Avètisman Bonè Kont Malveyan (MEW) Xygeni a te siyalize vèsyon 1.0.7 ak 1.0.8 yo nan dat 2 me epi yo te konfime yo kòm move nan dat 3 me.

Enplant lan dwòl pou sa li pa ye a: pa gen okenn robo Telegram, pa gen okenn rapèl OAST, pa gen okenn obfuscasyon, epi pa gen okenn tantativ pou pran kalifikasyon AWS nan moman enstalasyon an. Okontrè, postinstall.js plante yon antre pèsistans demaraj Windows, lè l sèvi avèk yon kle HKCU Run ki lanse wscript.exe kont yon stub VBS. Apre sa, li kreye yon ajan Node.js detache ki gwoupe modil pou kaptire mikwofòn, vòl istwa navigatè, pran ekran, ak simulation sourit/klavye.

Nou rele gwoup sa a DevTap, apre twous la li kite l ap fonksyone sou machin yon devlopè.

Tout sis pakè yo te disponib sou npm nan moman sa a. Nou te soumèt yo nan chanèl abi rejis la. Moun ki defann yo ta dwe retire tout enstalasyon nan men piblikatè a annatandan retire yo.

Gwoupman an: Sis Pakè, Yon Editè

Kont piblikatè a user0001 pa verifye. Li pa gen okenn SCM verifikasyon, pa gen imèl ki lye ak domèn, epi pa gen istwa anvan. Non itilizatè Gmail la tanvisoul9 pa parèt nan okenn lòt dosye editè npm nou te ka jwenn.

Tout sis pakè yo gen menm moun k ap kenbe pakè a, yo te pibliye yo apati menm kont lan, epi yo pataje menm... package.json modèl. Pa gen okenn repository, pa gen okenn homepage, e pa gen description pi long pase yon sèl liy.

Estrateji nonmen an se pati ki enteresan an. Kontrèman ak yon kanpay klasik konfizyon depandans oswa typosquat, okenn nan non sa yo pa vize yon bibliyotèk espesifik an amont. Okontrè, yo kalibre pou disparèt nan yon vrè... package.json or npm ls pwodiksyon.

PakePremye PibliyeDènye VersionvèsyonWòl nan Gwoup la
santralogger2026-04-01 12:46 UTC1.0.95, soti nan 1.0.5 pou rive nan 1.0.9Kouvèti "itilite koneksyon" Cluster a; premye piblikasyon an
dom-utils-lite2026-04-14 07:36 UTC1.0.33Kouvèti jenerik DOM-helper
node-fetch-lite2026-04-19 10:22 UTC1.0.23Imite fanmi rechèch ne
ajan konektè2026-04-25 05:12 UTC1.0.01Non jenerik "ajan"
node-gyp-runtime2026-04-25 05:17 UTC1.0.01Imite zouti konstriksyon modil natif natal yo
ne-anviwònman-rezoud2026-04-25 05:21 UTC1.0.910, soti nan 1.0.0 pou rive nan 1.0.9Goutpè aktif; enplant konplè

Non tankou centralogger, node-fetch-lite, epi node-gyp-runtime Yo fèt pou yo pa kreye okenn kontwovès nan revizyon kòd. Yo sonnen tankou bagay ki ta deja nan pyebwa depandans yon pwojè.

Konbine avèk yon nouvo editè ki pa verifye ak lyen depo ki manke, yo fòme yon modèl rekonèt: yon aktè k ap mete non ki pa mande anpil atansyon nan rejis la, epi k ap repete rapidman sou non ki enpòtan an. Nan ka sa a, node-env-resolve te resevwa dis vèsyon nan uit jou.

Ki sa ki rive sou yon bwat devlopman Windows

Chèn move a sou node-env-resolve:1.0.8 li kout, dirèk, epi li rich an karakteristik etranj pou yon RAT npm.

Postenstalasyon: Pèsistans ak Ajan Detache

package.json deklare yon sèl zen enstalasyon:

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

postinstall.js fè twa bagay nan lòd.

Premyèman, li mete yon anyè enstalasyon deyò pyebwa npm lan. Chemen an kalkile pandan ekzekisyon script la kòm INSTALL_DIRApre sa, li fè yon entèn execSync('npm install --production --silent ...') anndan li pou rale depandans ekzekisyon enplant lan. Sa mete ajan an sou disk yon kote yon manyèl node_modules odit la p ap jwenn.

Dezyèmman, li ekri yon lansè VBS epi anrejistre li pou pèsistans demaraj:

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

wscript.exe se Windows Script Host la, yon binè Microsoft ki siyen epi ki fonksyone .vbs dosye san yon fenèt konsole. Sa se precisSe poutèt sa li pi pito pou souch autorun.

Genyen tou yon matche ak reg delete chemen anndan src/index.js, sa sijere ke enplant lan fèt pou yo ka retire fasilman sou lòd operatè a.

Twazyèmman, li kreye yon pwosesis pitit detache:

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

De detay enpòtan isit la.

SERVER_URL li nan anviwònman an. Kòm rezilta, pwen final C2 a konfigirab pou chak deplwaman epi li pa entegre nan pake a. Chwa sa a ki piti men ki fèt espre elimine pifò bale IOC estatik yo.

Epitou, pitit ki fèt la eritye tout anviwònman paran an. Se poutèt sa, nenpòt NPM_TOKEN, AWS_*, GITHUB_TOKEN, oubyen sokèt ajan SSH ki prezan nan kokiy devlopè a pandan enstalasyon an vwayaje nan memwa ajan ki dire lontan an.

Sa ajan an voye ak

Pakèt la src/ pyebwa a gen ladan twa modil ki gen non yo sèlman ki rakonte istwa a: audioCapture.js, browserHistory.js, epi systemInfo.js.

Lis depandans nan moman ekzekisyon an, rezoud pandan etap la npm install, konfime yo.

Apwòch sa a transfòme yon ensidan kaotik an yon repons kontwole.

Olye pou ekip yo reyaji avèg, yo opere avèk priyorizasyon klè ak remèd rapid.

DepandansPou kisa li ye nan kontèks sa a
ekran-desktopKaptire ekran peryodik
@nut-tree-fork/nut-jsOtomatizasyon / simulation antre sourit ak klavye
pi bon-sqlite3Lekti dirèk baz done SQLite Chrome, Edge, ak Firefox History
adm-zipGwoupe atik kolekte yo anvan yo retire yo
byen fileChanje gwosè / konprese ekran ak imaj ki pa kòrèk
kliyan socket.ioChanèl C2 bidireksyonèl pèsistan
id-machin-nœdAnprent dijital ki estab pou chak lame pou swiv viktim nan

systemInfo.js apèl os.networkInterfaces() pou anprent dijital anplis anvan premye baliz la.

Poukisa Kaptire Odyo a se Siyal ki pi Remarkab la

Pifò RAT npm nou triye nan MEW yo sispann lè vòl sekrè a rive nan moman enstalasyon an. Yo li... ~/.npmrc, li ~/.aws/credentialsgrate process.env, voye yon mesaj POST sou yon webhook, epi sòti. Sa anfòm ak yon modèl ekonomik "smash-and-grab". Kalifikasyon yo gen yon demi-vi kout, epi atakè a bezwen monetize yo byen vit.

node-env-resolve gen yon fòm diferan.

Pèsistans lan configuré pou siviv apre yon redemaraj. Ajan an fonksyone detache epi li dire lontan anba wscript.exeTwous li pote a se pou li la sou machin yon devlopè, pa pou li pran epi kite: yon anrejistrè mikwofòn, yon chofè klavye/sourit, yon enjèstyon istwa navigatè konplè, kaptire ekran, ak yon kanal Socket.IO entèaktif tounen nan yon C2 konfigirab.

Kaptire mikwofòn an patikilye se liy kanpay sa a travèse ke pifò malveyan npm pa travèse.

Yon estasyon travay devlopè se, de pli zan pli, estasyon travay kote devlopè yo fè rankont debout, apèl kliyan, diskisyon sou konsepsyon, ak pon apèl. Yon enplant ki anrejistre mikwofòn nan pa vrèman dèyè jeton npm devlopè a. Li dèyè sa devlopè a di devan laptop la.

Ansanm kapasite sa a, plis mank obfuskasyon ak absans nenpòt èsfiltrasyon flachi pandan enstalasyon an, li kòm yon pre-pozisyonman pou aksè siblé olye de yon vòl kalifikasyon opòtinis.

Nou pa sèlman ap deklare okenn atribisyon. N ap note pwofil operasyonèl la.

atak typosquatting npm - DevTab

Kadans iterasyon uit jou a sou node-env-resolve se detay ki pi enpòtan nan delè a.

Sa a se pa yon "dropper" ou ka lage l epi bliye l. Piblikatè a ap aktivman kenbe dropper a, ki anjeneral vle di youn nan de bagay sa yo. Swa y ap ajiste l pou anviwònman tès yo anvan yon deplwaman ki pi laj, oswa yo deja gen telemetri enstalasyon k ap retounen epi y ap reponn a li.

Senk lòt pakè yo pa t wè okenn pèt apre premye piblikasyon yo a. Sa anfòm ak yon modèl "fè yon sèl etap, kite ak non" pou gwoup sipò a pandan efò jeni an konsantre sou pakè ki fè travay la.

Atribisyon: Ti endis, pa gen vèdik fèm

Piblik OSINT Siyal yo mens, epi nou p ap detire yo. Sa nou ka obsève:

Manyèl Gmail la tanvisoul9 sanble pasyèlman ak yon non Sid Azyatik, "Tanvi." Sa a se yon siyal fèb. Manch Gmail yo pa idantite, epi non ki dèyè a soul9 se jenerik. Li pa an sekirite pou dedwi jewografi apati pati lokal yon imèl sèlman.

Stil kòd la pa remakab nan Node.js: standard apèl bibliyotèk tankou os, child_process, spawn, epi reg addPa gen okenn obfuskasyon, pa gen wotasyon chèn karaktè, epi pa gen okenn lojik anti-debogaj. Otè a alèz ak primitif rejis Windows yo ak òkestrasyon pwosesis-timoun-detached, men li pa sanble ap chèche teknik ki pi diskrè ke yo ta ka itilize.

Depandans yo konplètman pare pou itilize epi byen koni: screenshot-desktop, nut-js, better-sqlite3, epi socket.io-clientPa gen okenn pwotokòl pèsonalize, pa gen okenn pil C2 ki fèt depi nan kòmansman, epi pa gen okenn nouvo teknik pèsistans ki depase yon liv lekòl. Kle kouri HKCU aSa a se yon entegratè konpetan, pa yon otè zouti.

Nou pa jwenn chèn karaktè ki pa an angle, kòmantè entegre, done lokal, oswa anprent dijital zòn tan ki soti nan konpilatè a andedan atifak pibliye yo.

Nou tcheke si kòd yo sipèpoze ak kanpay anvan nou deja swiv yo, tankou Shai Hulud, Chouèt, Buildkite, ak dènye heibai / la claude-code-best Fanmi klon Anthropic-CLI. Nou pa jwenn okenn: pa gen modèl C2 pataje, pa gen layout fichye pataje, epi pa gen idyòm pataje.

Sa nou pa ta di: ke sa a se yon aktè leta, yon gwoup li te ye, oubyen ki lye jewografikman ak yon peyi espesifik.

Pwofil operasyonèl la konsistan avèk yon ti ekip, ki gen yon konpetans modere, k ap fè siveyans estasyon travay devlopè yo. Li pwobabman motive finansyèman atravè itilizasyon aksè a an aval, men petèt tou rekonesans kòm yon sèvis pou yon achtè apa.

De pwen endirèk sipòte sa: evite mekanik èsfiltrasyon ki atire atansyon ki ta boule gwoup la byen vit, tankou bot Telegram yo, oastify.com, oubyen canarytokens, ak non pake yo ki fèt espre san gou, ki favorize enstalasyon long ke trankil olye de yon ti pik volim an gwo.

Endikatè Konpwomi ak Deteksyon

Pakè ak Editè
JadenValè
piblikatè npmuser0001
Imèl piblikatè atanvisoul9@gmail.com, pa verifye
Kontribisyoncentralogger, dom-utils-lite, node-fetch-lite, konektè-ajan, node-gyp-runtime, node-anviwònman-resolve
Konfime movenode-env-resolve@1.0.7, node-env-resolve@1.0.8
Atifak Otès
KaliteValè
Kle pèsistansHKCU\Lojisyèl\Microsoft\Windows\Vèsyon Aktyèl\Run
Valè pèsistansNon varyab; done nan fòm wscript.exe " \\ .vbs"
Enstale zen anpostinstall: ne postinstall.js nan manifest pake a
Modil enplantasyon yosrc/audioCapture.js, src/browserHistory.js, src/systemInfo.js
Anyè etap preparasyonINSTALL_DIR rezoud deyò node_modules pwojè a; kote a te defini pa postinstall.js lè enstalasyon an te fèt.
Rezo
KaliteValè
Transpò C2socket.io-client, kanal bidireksyonèl pèsistan
Pwen final C2Yo bay ajan an atravè varyab anviwònman SERVER_URL la; yo pa kode an fòm nan atifak pibliye yo

Nòt Deteksyon

De règ trape fanmi sa a san yo pa bezwen pwen final C2 a.

Premyèman, make script post-enstalasyon ki fè yon operasyon entèn npm install nan yon chemen deyò pwòp anyè pake a. Nenpòt telechajè prebuild lejitim, tankou node-gyp rekonstriksyon oswa telechajè binè pre-konstwi, ekri andedan pake a oswa nan platfòm-standard chemen kach ak hach ​​verifye. Li pa ekri nan yon nouvo kreye INSTALL_DIR yon lòt kote sou disk la.

Dezyèmman, siyalize script post-enstalasyon ki bay pwoblèm reg add HKCU\…\Run ak wscript.exe kòm lansè a. Sa a esansyèlman pa janm lejitim nan yon pake npm. Siyal epi mete li an karantèn.

Yon twazyèm euristik itil pou detekte pwochen pake frè ak sè a anvan yo konfime li: yon nouvo piblikatè npm ki pa gen okenn SCM verifikasyon, yon imèl Gmail, non repository jaden an, ak plizyè non pake kout, jenerik, ki sonnen tankou enfrastrikti, pibliye nan kèk jou youn ak lòt, se ase pou jistifye yon revizyon manyèl.

Rapòte bay rejis npm lan. Nou pral mete ajou pòs sa a lè yo retire kont piblikatè a.

zouti-lojisyèl-sca-tools-konpozisyon-analiz-zouti
Priyorize, korije, epi pwoteje risk lojisyèl ou yo
Jwenn Kont Gratui ou.
Pa gen kat kredi obligatwa.

Pwoteje Devlopman ak Livrezon Lojisyèl ou

avèk Xygeni Product Suite