TL; DR
Pou apeprè de mwa, yon sèl infostealer npm te reaparèt anba yon seri non pakè wotasyon pandan l ap anbake yon chaj ki prèske pa chanje. Li te kòmanse ouvètman kòm forge-jsxy, anjandre forge-jsx3 / forge-jsx4 frè ak sè, apre sa yo te abandone mak "fòj" la nèt pou yo te poze kòm enfrastrikti devlopè — premye zredis-typed, ak pi resamman pinokio-redis.
Chak varyant pote a menm chèn zouti entèn: dosye ki gen non forge-jsx-explorer-*, Yon relayPackageServe modil ki sèvi yon forge-jsxy-package.tgz, ak yon runtime dirab kache anba yon anyè pwen pou li siviv sipresyon pake npm lan.
Chaj la li materyèl bous kriptografik ak kalifikasyon pwomotè nan men lame a epi transmèt yo bay sit entènèt Discord lahooks, telechajman HuggingFace Hub, ak yon pwen final C2 ki kode an fè. Li enstale yon demaraj otomatik nan nivo sistèm operasyon an pou l ka fonksyone ankò apre yon rdemaraj, epi li kaptire aktivite clipboard, klavye, ak ekran an. Dènye varyant lan, pinokio-redis, dekri tèt li kòm yon entegrasyon "Autodesk Forge" — yon deskripsyon ki pa gen rapò ak sa kòd la fè.
| Ekosistèm | npm |
| Klas chaj itil | vòlè enfòmasyon plizyè etap + ajan kontwòl a distans (RAT) |
| Objektif prensipal yo | bous kriptografik, ekstansyon bous navigatè, kalifikasyon devlopè/nwaj |
| Perseverans | yon tan ekzekisyon dirab kache + demaraj otomatik sistèm operasyon an (ki siviv apre yo retire yon pake) |
| Eksfiltrasyon | dezakò sou entènèthooks + relè, HuggingFace Hub, C2 kode an dirèk sou pò 9877 |
| Entèval obsève | Me 2026 – Jiyè 2026 (kontinyèl) |
| Dènye non | pinokio-redis:1.0.127 |
Anatomi Atak
Chak varyant nan fanmi sa a enstale atravè menm fòm nan: yon pake ki sanble inaktif sou paj lis li a men ki deklare yon zen postinstall, kidonk Chaj la ap fonksyone nan moman yo enstale pake a kòm yon depandans. zen an kondwi yon chèn senk etap.
- Etap 1 — materyalize. Skript enstalasyon an dekode yon dokiman ki gen yon pake epi kode. blob nan yon seri script runtime epi ekri yo nan yon anyè kache anba kote konfigirasyon platfòm lan (vèsyon forge-jsxy yo te itilize yon .forge-jsxy/runtime/v ak pwen. / chemen). Paske kopi sa a rete deyò node_modules, retire oswa depibliye pake npm nan pa retire ajan k ap fonksyone a.
- Etap 2 — pèsiste. Chèn nan anrejistre yon antre demaraj otomatik sistèm operasyon an pou ajan an relanse lè sistèm nan redemare. Sou Windows, sa a fonksyone atravè yon script dyagnostik PowerShell kache; pwosesis ajan an detache epi ak windowsHide configuré pou okenn fenèt konsole pa parèt.
- Etap 3 — evade. Pwogram ekzekisyon an tcheke makè entegrasyon kontinyèl epi li fèmen san fè bri lè li detekte yon anviwònman CI, kidonk sandbox konstriksyon otomatik yo pa wè anyen. Nan vèsyon forge-jsxy yo, yon kòmantè sous te deklare ke yon chan forgeInstall vizib te fèt espre retire nan package.json "paske chan sa a ta vizib sou npm" — operatè a te kenbe metadone deklanchman an deyò lis piblik la espre.
- Etap 4 — kolekte. Yon fwa li ap fonksyone, ajan an rekòlte, nan yon sèl pas:
- Materyèl pou bous kriptografik. Yon lis sib secret_filename_patterns.json ki vini ak yon pake kondwi yon bale sistèm fichye pou wallet.dat, *.mnemonic /fichye .seed / *.phrase, keypair.json, Ethereum UTC– depo kle yo, ak depo kle *.p12 / *.pfx / *.jks yo. Bibliyotèk derivasyon bous yo (bip39, secp256k1, base58check, ak asistan Solana) prezan nan pake a.
- Ekstansyon bous navigatè. Yon modil chromiumExtensionDbHarvest li baz done depo ekstansyon lokal navigatè Chromium yo, kote ekstansyon bous navigatè yo kenbe done vout yo.
- Kalifikasyon ak sekrè. Ajan an eskane istwa shell la ak fichye ki gen sekrè yo epi li kalifikasyon devlopè/nwaj la, answit kode kalifikasyon HuggingFace yo pou telechaje.
- Antre an dirèk. Yo pran kontni clipboard la, done klavye yo, ak ekran yo regilyèman.
Etap 5 — èksfiltrasyonDone kolekte yo kite lame a atravè twa chanèl k ap opere an paralèl: Discord webhooks (discordWebhookPost) ak yon moun k ap telechaje Discord ki pale ak `discord.com/api/v10` (discordRelayUpload), telechajman HuggingFace Hub (hfUpload), ak yon Pwen final C2 ki kode an fè a rive sou pò 9877 la. Yon relayPackageServe modil la sèvi tou yon forge-jsxy-package.tgz back out — menm bagay la tou non atifak la atravè chak chanjman non.
Pwen estriktirèl enpòtan an se ke etap 1–3 yo kouri nan moman enstalasyon an avèk pa gen entèraksyon itilizatè, epi etap 1 mete chay la yon kote nan pakè a manadjè a pa swiv. Yon devlopè ki remake depandans etranj yo ak Lè l ap egzekite npm uninstall, li retire lis la men li pa retire ajan an.
Chaj la reziste tou yon lekti rapid. Scripts ekzekisyon yo pa anbake. klè: yon etap kode-deplwaman kenbe lojik operasyonèl la kòm yon yon blob kode ki sèlman elaji an script lizib yon fwa chèn enstalasyon an fini dekode li nan anyè kache a. Fichye ki vizib yo sou lis la — kal mens apre enstalasyon an ak yon materyèl dist èd — revele ti kras sou sa ki finalman fonksyone. Livrezon kode sa a konsepsyon an te gen yon efè mezirab sou triyaj: pandan tout lavi fanmi an, plizyè varyant konfime te klase kòm an sekirite pa klasifikasyon otomatik, epi chaj la te ase opak pou bloke revizyon otomatik la nèt. Konpòtman ki devwale fanmi an vizib sèlman apre yo fin kode a. etap la elaji, epi yo li runtime nan dirèkteman.
Timeline
Chaj fanmi an rete remakabman stab; sa k chanje se non sou bwat la. Ak la soti nan mak "fòj" ouvè a rive nan direksyon degize kòm zouti devlopè ki pa gen rapò.
| Dat (2026) | Pake: vèsyon | nòt |
|---|---|---|
| Me (kòmansman) | forge-jsxy:1.0.81, :1.0.90 | Premye varyant konfime yo — RAT ak C2 chifre ak AES-256-GCM |
| Se pou 19 | forge-jsxy:1.0.92 / 1.0.105 / 1.0.107 / 1.0.108 | Kanpay nan piblikasyon aktif; 1.0.92 te mal make kòm an sekirite okòmansman epi li te ranvèse lè yo te re-revize kòd la. |
| Fen Me | forge-jsx3 / forge-jsx4:1.0.122 / 1.0.123, zod-pino | Non pakè frè ak sè, menm chèn zouti |
| Jun 4 | forge-jsxy:1.0.120 | Kontinyasyon; klase san danje pa modèl ML la (yon echèk) |
| 21–23 jen | forge-jsxy:1.0.121 | Modil yo pa chanje depi 1.0.120 |
| Mar 6 | zredis-typed:1.0.127 | "Forge" retire nan non an; toujou gen bato forge-jsxy-package.tgz ta dwe apwouve bèso tibebe w la epi forgeAgent* kle konfigirasyon |
| Mar 7 | pinokio-redis:1.0.127 | Menm chèn zouti; nouvo C2; dekri tèt li kòm yon entegrasyon "Autodesk Forge" |
De bagay remakab atravè tout kronoloji a. Premyèman, nimewo vèsyon 1.0.127 la reyitilize mo pou mo pa tou de zredis-typed ak pinokio-redis — non yo chanje men liy konstriksyon an pa retabli. Dezyèmman, chanjman an soti nan non "forge-*" yo koresponn ak yon chanjman nan direksyon non ki li kòm enfrastrikti òdinè (redis, pinokio), sa ki diminye chans yon devlopè pase sou non an epi ezite.
Endikatè Konpwomi
IOC ki anba yo dezaktive. Lame C2 a te wotasyon ant liy forge-jsxy a. ak dènye varyant lan pandan y ap kenbe menm pò a.
| Endikatè | Valè | Wè nan |
|---|---|---|
| Pwen final C2 | 212.193.3[.]61:9877 | pinokio-redis:1.0.127 |
| Pwen final C2 | 79.108.162[.]160:9877 | liy forge-jsxy, zredis-typed:1.0.127 |
| Chanèl Exfil | discord.com/api/webhooks/… (pòs webhook) | tout varyant yo |
| Chanèl Exfil | discord.com/api/v10 (telechajman relè) | tout varyant yo |
| Chanèl Exfil | Telechajman HuggingFace Hub | tout varyant yo |
| Atifak sèvi | forge-jsxy-package.tgz (Via relayPackageServe) | tout varyant yo |
| Dosye chèn zouti | chromiumExtensionDbHarvest, discordRelayUpload, discordWebhookPost, hfUpload, encode-hf-credentials, forge-jsx-explorer-* | tout varyant yo |
| Lis sib | secret_filename_patterns.json (wallet.dat, .mnemonic/.seed/.phrase, keypair.json, UTC--, .p12/.pfx/*.jks) | tout varyant yo |
| Ègzekisyon kache | pwentiye an …/.forge-jsxy/runtime/v<version>/ chemen konfigirasyon-dir | liy forge-jsxy |
| Pèsistans Windows | Skript demaraj otomatik "diagnostic fòje" PowerShell kache | tout varyant yo |
| Enstale deklanchè a | hook postinstall ki envoke yon chèn script dist-materialization | tout varyant yo |
Siyal deteksyon ki pi dirab la se pa okenn sèl lame oswa webhook — sa yo vire — men non fichye chèn zouti yo ak forge-jsxy-package.tgz la atifak, ki te pèsiste mo pou mo nan chak chanjman non.
Atribisyon ak Konpòtman Obsève
Pakè yo te pibliye anba plis pase yon kont npm. forge-jsxy la liy lan te itilize piblikatè jacksonkaandorp2 a (jacksonkaandorp2@outlook[.]com); Donimique te pibliye dènye varyant Pinokio-Redis la. (donimiqueakers@gmail[.]com). Ni youn ni lòt kont pa t gen yon imèl verifye oubyen yon depo sous lye. Liy ki konekte atravè kont yo se chèn zouti, pa idantite piblikatè a — menm non modil yo, menm bagay la yo sèvi .tgz, epi menm konsepsyon exfil la repete kèlkeswa moun ki te pibliye l la.
Plizyè konpòtman obsèvab endike yon kache volontè olye de twòp koleksyon aksidantèl:
Yo mete pwogram ekzekisyon an deyò node_modules nan yon anyè kache, kidonk li dire pi lontan pase pake ki te delivre li a.
Ajan an debloke done yo lè li detekte yon anviwònman CI, sa ki limite ekspozisyon nan sandbox analiz otomatik yo.
Pwosesis ajan an lanse detache epi fenèt-kache.Nan Nan vèsyon forge-jsxy yo, yon kòmantè te lye omisyon yon chan enstalasyon vizib ak lefèt ke chan sa a te "vizib sou npm."
Deskripsyon pakè piblik yo pa gen rapò ak kòd la — pinokio-redis prezante kòm yon entegrasyon "Autodesk Forge".
Yon twou nan deteksyon ki repete enpòtan pou defansè ki konte sou klasifikasyon otomatik: plizyè varyant konfime nan fanmi sa a te yon klasifikatè ML te bay yon nòt kòm an sekirite anvan revizyon kòd la te korije li. vèdik. Eleman ki estab yon revizè ka ankre sou yo — tan enstalasyon an chèn, ekzekisyon kache a, non fichye chèn zouti yo — se egzakteman sa yo ki siviv chanjman non yo.
Nou dekri sa ki anwo a kòm konpòtman obsève. Nou pa atribiye kanpay la bay okenn aktè nonmen, epi nou pa fè okenn reklamasyon sou operatè a idantite oswa objektif ki depase sa kòd la ak enfrastrikti a demontre.
Enpak, Tandans ak Gidans Defansè
Ki moun ki ekspoze. Koleksyon an fèt espesyalman pou devlopè yo machin: bous ak keystore kriptomonnen, ekstansyon bous navigatè, istwa shell, ak kalifikasyon nwaj/sèvis. Nenpòt moun ki enstale yon pakè ki afekte a — dirèkteman oubyen kòm yon depandans tranzitif — pandan fenèt li te an dirèk la nan sijè ki abòde lan, epi konsepsyon pèsistans lan vle di Ekspozisyon an pa fini lè yo retire pake a.
Poukisa pèseverans lan enpòtan. Paske etap 1 kopye chaj la nan yon anyè ekzekisyon kache ak etap 2 anrejistre demaraj otomatik, abityèl la ensten remèdyasyon (dezenstale move depandans lan, efase node_modules, reenstale) pa retire ajan an. Repons pou ensidan an dwe chèche ekzekisyon deyò pyebwa a ak antre demaraj otomatik la, pa sèlman pake a.
Tandans lan. Fanmi sa a montre yon modèl ki vo lapenn obsève: yon chaj ki estab e ki gen matirite, vlope nan yon kouran materyèl jetabnon pakè ki soti nan nenpòt non yon anilasyon te fèt anvan rekonèt, nan direksyon non ki li kòm enfrastrikti òdinè. Baze sou non lis blòk yo ak repitasyon editè yo vin pi mal byen vit kont konpòtman sa a- epi siyal ki baze sou atifak pa fè sa.
Pou devlopè ak konsomatè yo
Trete script ki fèt pandan enstalasyon an kòm sifas prensipal risk la. Enstale ak script yo enfim kote sa posib epi revize nenpòt depandans ki deklare yon apre enstalasyon. Efase epi verifye depandans tranzitif yo; klas malveyan sa a rive osi fasilman atravè yon sou-depandans ke dirèkteman.
Sou yon òdinatè sispèk, chèche pi lwen pase pake a: chèche yon anyè ekzekisyon kache nan kote konfigirasyon platfòm lan, yon antre demaraj otomatik inatandi, ak koneksyon sortan nan webhook Discord oubyen pwen final :9877 yo.
Sipoze nenpòt fraz grenn bous, depo kle, oswa kalifikasyon ki prezan sou yon lame ki afekte pandan fenèt ekspozisyon an konpwomèt, epi wote li.
Pou rejis ak defansè yo
Alèt sou artefak dirab yo (forge-jsxy-package.tgz, forge-jsx-explorer-* / chromiumExtensionDbHarvest / discordRelayUpload la non fichye) olye de non pake a, ki chanje.
Siyalize konbinezon estriktirèl fanmi an apiye sou li a — yon post-enstalasyon ki konkretize script yo nan yon chemen config-dir kache plis yon sistèm operasyon. anrejistreman demaraj otomatik — endepandan de chèn espesifik ki enplike yo.
Non ki sou pake a chanje omwen kat fwa; kès ki anndan an pa genyen. Deteksyon ki bati sou sa kòd la fè a dire pi lontan pase tout lòt bagay reetiktaj jiskaprezan.







