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.
| Pake | Premye Pibliye | Dènye Version | vèsyon | Wòl nan Gwoup la |
|---|---|---|---|---|
| santralogger | 2026-04-01 12:46 UTC | 1.0.9 | 5, soti nan 1.0.5 pou rive nan 1.0.9 | Kouvèti "itilite koneksyon" Cluster a; premye piblikasyon an |
| dom-utils-lite | 2026-04-14 07:36 UTC | 1.0.3 | 3 | Kouvèti jenerik DOM-helper |
| node-fetch-lite | 2026-04-19 10:22 UTC | 1.0.2 | 3 | Imite fanmi rechèch ne |
| ajan konektè | 2026-04-25 05:12 UTC | 1.0.0 | 1 | Non jenerik "ajan" |
| node-gyp-runtime | 2026-04-25 05:17 UTC | 1.0.0 | 1 | Imite zouti konstriksyon modil natif natal yo |
| ne-anviwònman-rezoud | 2026-04-25 05:21 UTC | 1.0.9 | 10, soti nan 1.0.0 pou rive nan 1.0.9 | Goutpè 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}\"" /fwscript.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.
| Depandans | Pou kisa li ye nan kontèks sa a |
|---|---|
| ekran-desktop | Kaptire ekran peryodik |
| @nut-tree-fork/nut-js | Otomatizasyon / simulation antre sourit ak klavye |
| pi bon-sqlite3 | Lekti dirèk baz done SQLite Chrome, Edge, ak Firefox History |
| adm-zip | Gwoupe atik kolekte yo anvan yo retire yo |
| byen file | Chanje gwosè / konprese ekran ak imaj ki pa kòrèk |
| kliyan socket.io | Chanèl C2 bidireksyonèl pèsistan |
| id-machin-nœd | Anprent 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.

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è | |
|---|---|
| Jaden | Valè |
| piblikatè npm | user0001 |
| Imèl piblikatè a | tanvisoul9@gmail.com, pa verifye |
| Kontribisyon | centralogger, dom-utils-lite, node-fetch-lite, konektè-ajan, node-gyp-runtime, node-anviwònman-resolve |
| Konfime move | node-env-resolve@1.0.7, node-env-resolve@1.0.8 |
| Atifak Otès | |
|---|---|
| Kalite | Valè |
| Kle pèsistans | HKCU\Lojisyèl\Microsoft\Windows\Vèsyon Aktyèl\Run |
| Valè pèsistans | Non varyab; done nan fòm wscript.exe " \\ .vbs" |
| Enstale zen an | postinstall: ne postinstall.js nan manifest pake a |
| Modil enplantasyon yo | src/audioCapture.js, src/browserHistory.js, src/systemInfo.js |
| Anyè etap preparasyon | INSTALL_DIR rezoud deyò node_modules pwojè a; kote a te defini pa postinstall.js lè enstalasyon an te fèt. |
| Rezo | |
|---|---|
| Kalite | Valè |
| Transpò C2 | socket.io-client, kanal bidireksyonèl pèsistan |
| Pwen final C2 | Yo 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.






