JulesJacker: Falskur npm-ormur hermir eftir Jules gervigreind.

JulesJacker: Falskur PoC npm ormur sem þykist vera Jules umboðsmaður Google — og kveikir á sandkassanum sem greinir hann.

TL; DR

Einn npm rekstraraðili eyddi sex vikum í að birta falsa TypeScript „gagnsemi“ pakka eins og ts-form-utils, ts-project-lintog ts-enum-helper.

Þó að pakkarnir sýni litlar, lögmætar staðfestingarhjálparforrit, þá keyrir raunverulega gagnagrunnurinn við uppsetningu eða fyrstu kröfu og framkvæmir fingrafarasöfnun á hýsingarvél, uppgötvun á GitHub-skipan, klónun gagnageymslu og fjarlægingu frumkóða.

Spilliforritið beinist sérstaklega að verðmætum GitHub-stofnunum, þar á meðal mörgum Shopify gagnageymslur, geymir síðan og fjarlægir aðgengileg upprunatré á miðlægan safnendapunkt.

Sem hluti af málamiðlunarvinnuflæðinu, farmurinn commitsa skrá aftur í geymslur fórnarlambanna á meðan hún þykist vera sjálfvirk kóðunarauðkenni Google google-labs-jules[bot].

Við fylgdumst með herferðinni — sem nefnd var JulesJacker — yfir mörg útgefendasvið og að minnsta kosti fimm kynslóðir gagna, þar á meðal dulkóðaðar og sandkassa-meðvitaðar afbrigði.

Nýjasta útgáfan beinist sérstaklega að innviðum sem greina spilliforrit: hún virkjast aðeins innan greiningarumhverfis, stelur táknum fyrir þjónustureikninga í skýjalýsigögnum og rannsakar stjórnunarfleti Kubernetes og skýjageymslufötur.

Aðal IOC sem er sameiginlegt öllum kynslóðum farmgagna er söfnunarendapunkturinn aaronstack[.]com/jules-collect.

Alvarleiki: gagnrýninn.

Árásin: Hvernig hún virkar

Sérhver JulesJacker pakki fylgir sama sniðmátinu. pakki.json auglýsir góðkynja TypeScript hjálparforrit með MIT leyfi og engu tengdu frumkóðageymslu. index.js flytur út nokkrar raunverulegar, virkar aðgerðir — regex-gildi tölvupósts, upptalningarkort, töflur um lint-reglur — þannig að forritari sem flytur inn pakkann sér trúverðuga hegðun. Illskan býr annars staðar: í eftir uppsetningu krókur, eða í blokk neðst á index.js sem keyrir um leið og þörf er á einingunni.

Notkun farmsins hefur þróast í gegnum greinilega númeruð innri stig (rekstraraðili merkir sína eigin fjarmælingaratburði). sc1-, sc3-, sc4-og svo framvegis), og að fylgjast með þeirri þróun er skýrasta leiðin til að skilja herferðina.

 Kynslóð 1–2: njósnir og git-config þjófnaður

Fyrstu pakkarnir voru einfaldir upplýsingaþjófar. Við uppsetningu söfnuðu þeir umhverfisbreytum, GitHub CLI hosts skránni og alþjóðlegu git stillingunum (git stillingar –alþjóðlegt –listi, git fjarstýring -v), og POSTaði síðan pakkanum á endapunkt söfnunarinnar. Þetta staðfesti undirskrift rekstraraðilans: forsíðufrétt um „TypeScript form validation utility“, útleiðandi beacon á eitt lén og smekk fyrir aðgangsupplýsingum forritara frekar en neytendagögnum.

Kynslóð 3: yfirsýnarforrit og kjarnaflóttapróf

Ein útgáfa í miðjum herferðinni snerist hart að árásum á innviði. Í stað þess að stela stillingum keyrði hún könnunarleiðbeiningar. AF_VSOCK tengi, virtio MMIO svæði, /þróunaraðili/mem, og kjarnaherðingarflögg, og jafnvel tilraunir til kjarnahruns sem kveikt er á af sysrq — hegðun sem tengist tilraunum til að brjótast út úr sýndarvél eða íláti. Fjarmælingarmerkin (s0-vmm-endurskoðun, s1-vmm-vsock-fuzz, s2-vmm-mmio, s3-kjarna-rannsakandi) gerði tilganginn skýran. Þessi útgáfa var greinilega ætluð til að skýjasandkassaumhverfi og netþjónalaus keyrsluumhverfi — sú tegund af skammvinnri sýndarvél sem smíðar og prófar ótraustan kóða.

Kynslóð 3 (SC3): ormurinn sem skrifar yfir geymslur

Þungamiðja herferðarinnar varð að sjálfdreifandi geymsluþjófi. Við uppsetningu keyrir gagnamagnið fimm þrepa tímasetta röð:

  • Stage 0 (~100 ms): fingrafar af hýsilnum — hýsilarnafn, upplýsingar um notanda, git-auðkenni.
  • Stage 1 (~3 s): ákvarða hvaða samtökum fórnarlambið tilheyrir með því að skoða git fjarstýring -v, flettu síðan upp harðkóðaða ORG_CONFIG Aðgangur að töflu og prófunargeymslu með git ls-remote — beint í gegnum SSRF-umboðsþjón sem árásaraðili stjórnar á http://git@192.168.0.1:8080.
  • Stage 2 (~10 sekúndur): git klón Öllum aðgengilegum geymslum í marklistanum, tarball og gzip tréð, base64-encode það og chunk-exfiltrate það.
  • Stage 3 (~45 sek.): „sönnun aðgangs“ — klóna skrifanlegt geymslurými, sleppa skrá sem heitir SECURITY-POC.md og commit það með höfundinum stilltum á google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> og skilaboðunum chore: update dependency cache, og síðan ýta á aðalgrein fórnarlambsins.

Listinn yfir harðkóðaða markmið er ekki almennur. Hann telur upp meira en þrjátíu Shopify Geymslur eftir nafni — Shopify/shopify, Shopify/auðkenni, Shopify/reikningar, Shopify/vefur, Shopify/leyndarmál, Shopify/innviðir, Shopify/.github, og margt fleira — ásamt prófunarfyrirtæki, AaronStackBarnes, sem virkniaðilinn virðist stjórna og notar sem skrifmarkmið.

Kynslóð 4 (SC4): dulkóðuð og með hliði

Nýjasta útgáfan, sem snýr að forriturum, bætir við tveimur lögum af undanskotum ofan á SC3 orminn.

Í fyrsta lagi er gagnamagnið ekki lengur sent sem óskrifaður texti. Raunveruleg rökfræði er í dulkóðuðu AES-256-CBC-klumpi, lib/.perf.dat, með IV í fyrstu sextán bætunum. Hleðslutækið í index.js endurskapar afkóðunarlykilinn úr samtengdum strengbrotum, afkóðar blob-ið og keyrir það með ný virkni()Jafnvel nöfn eininganna eru skipt til að forðast truflanir á skönnum — krefjast('crypt' + 'o'), krefjast('f' + 's').

Í öðru lagi er það hýsingarstýrt. Ein útgáfa afkóðar og keyrir aðeins þegar os.hostname() jafngildir þróunarbox or ubuntu-fc-uvm (sjálfgefið Firecracker örvél) eða inniheldur undirstrenginn þróunarboxÖnnur hlið á nærveru a .júlís/ vinnuskrá:

Með öðrum orðum, SC4 farmurinn er hannaður til að vera í dvala á fartölvu venjulegs forritara og vakna aðeins innan sjálfvirka gervigreindarforritsins. sandkassaumhverfi Rekstraraðili vill í raun semja.

Að kveikja á rannsóknarstofunni: Greiningar-innviða afbrigðið

Nýstárlegasti pakkinn í herferðinni, ts-enum-hjálpari, ræðst alls ekki á forritara eða Shopify. Það er postinstall.sh opnast með hliði sem afhjúpar leikinn:

Handritið gerir ekkert nema umhverfisbreyta sé stillt sem er sértæk fyrir greiningarvettvang fyrir spilliforrit. Þegar svo er, veit gagnagrunnurinn að hann keyrir inni í sandkassanum sem er til staðar til að sprengja og rannsaka pakka nákvæmlega eins og þennan — og hann gerir gagnárás.

Það sækir fyrst OAuth-táknið fyrir GCP þjónustureikninginn af lýsigagnaþjóninum fyrir tilvikið og fjarlægir það. Síðan, með því að nota það tákn, sópar það Kubernetes stjórnunarplan náðist kl kubernetes.default.svc:

  • listar ClusterRoleBindings, ClusterRoles og Nodes;
  • kannar hylki, leyndarmál og stillingarkort yfir teningakerfi, sjálfgefið, teningur-almenningur, tenings-hnút-leigaog nafnrýmið fyrir greiningu;
  • sendir SelfSubjectAccessReview köll til að kortleggja nákvæmlega hvað stolna auðkennið má gera.

Að lokum framkvæmir það með því að þvinga fram Google Cloud Storage fötunöfn sem eru búin til úr harðkóðaðri GCP verkefnisauðkenni (sjaldgæft-undirritandi-437603-p9) og verkefnisnúmer, giska á samsetningar eins og *-smíðar, *-gripir, og nokkrir lýsis- forskeyti (niðurstöður sjúkdómsgreiningar, malysis-pakka, skannar malysis). Sérhver svarkóði og meginmál er skráð og sent aftur á sama stað. Jules-safn endapunktur.

Þetta er sjaldgæft tilfelli þar sem framboðskeðjugagnagrunnur er sérstaklega hannaður til að ráðast á innviði varnaraðilanna sjálfra. Forsíðufréttin í allri herferðinni – brot úr henni birtast inni í gagnunum sem athugasemdir sem ramma inn hegðunina sem „Security Research PoC ... skrif á milli geymslustaða í gegnum ofmetið git proxy-tákn“ – er sama sjálfsréttlætingin, hvort sem keyrslutímamarkmiðið er Shopify eingeymslustaður eða lýsigagnaþjónn greiningarklasans.

Tímalína og umfangsflutningur

JulesJacker er ekki einnota aðgerð. Þetta er viðvarandi aðgerð sem lifði af fjarlægingu úr skránni með því einfaldlega að breyta nafninu.

Þegar atburður
Miðjan apríl 2026 Fyrstu pakkarnir birtast undir upprunalega umfangi útgefandans: TS-utility facade, environment og git-config exfiltration.
Snemma í maí 2026 Útgáfa af könnun fyrir ofurstýrðan stjórnanda (Hypervisor) og kjarnaflótta (kernel-escape).
Um miðjan til síðari hluta maí 2026 SC3 cross-repo writing worm birtist ásamt Shopify-miðaðri farmhleðslu og google-labs-jules[bot] eftirlíking. SC4 kynnir AES-dulkóðaða og hýsingarstýrða hleðslutæki.
Seint í maí 2026 npm fjarlægir upprunalega útgefandasviðið; pakkanöfn breytast í tóm öryggisstaðgengla.
Sama vika Rekstraraðilinn flytur yfir í nánast eins umfang og endurútgefur orminn, þar á meðal afbrigðið af greiningar-innviðum.

Flutningurinn er það sem varnarmenn ættu að sætta sig við. Að fjarlægja fyrsta geimfarið lauk ekki herferðinni eða hægði jafnvel á henni. Rekstraraðili hafði þegar sett upp samsíða geimfar þar sem nafnið er frábrugðið upprunalega um einn staf og hélt áfram að birta það innan sömu vikunnar. Þegar þetta er skrifað er nýja geimfarið... ts-form-utils (útgáfur 1.0.0 til 1.1.0), þess ts-verkefni-lint (1.0.0 og 1.1.0) og sjálfstæða útgáfan ts-enum-hjálpari (1.0.0) eru enn uppsetningarhæf.

Vísbendingar um málamiðlun

Allar vísbendingar hér að neðan voru staðfestar gegn pakkauppsprettunni.

Gerð Vísir Skýringar
Net (C2) aaronstack[.]com/jules-collect Einn endapunktur fyrir söfnun í hverri kynslóð; tekur við JSON fjarmælingum og tar-klumpum af base64-gzip geymslunni.
Net (SSRF milliþjónn) http://git@192.168.0.1:8080 Framhlið fyrir ofmarkað git proxy-tákn sem notað er til að ná til gagnageymslum markfyrirtækisins.
Net (ský) metadata.google.internal/computeMetadata/v1
kubernetes.default.svc
storage.googleapis.com/storage/v1/b
Aðeins notað af greiningarinnviðaafbrigðinu fyrir táknþjófnað og njósnir í stjórnplani Kubernetes.
Identity google-labs-jules[bot]
161369871+google-labs-jules[bot]@users.noreply.github.com
Svikin commit höfundarpersónu ýtt inn í aðalgreinar fórnarlambanna.
Skrá lib/.perf.dat AES-256-CBC-dulkóðað gagnagrunnsblettur; IV geymt í fyrstu 16 bætunum og lykillinn endurbyggður á kraftmikinn hátt í index.js.
Skrá SECURITY-POC.md Lækkað og commitaftur í fórnarlambsgeymslur með skilaboðunum chore: update dependency cache.
Skrá scripts/postinstall.sh Lokað á $MALYSIS_ANALYSIS_ID; auðkennir afbrigðið sem miðar á greiningu-innviði.
Hegðun os.hostname() tékkar fyrir devbox / ubuntu-fc-uvm Hliðrun á sandkassa og gervigreindarumhverfi áður en afkóðun og keyrsla á nýtingarefni fer fram.
Hegðun .jules/ og /app/.jules lestur í möppu Skýr markmiðun á vinnusvæði gervigreindarumboðsmanna.
Hegðun sc1-, sc3-, sc4-, s0-vmm-recon Merki á fjarmælingarstigum sem stjórnandi skilgreinir, gagnleg til uppgötvunar og leitar.
Skýjamarkmið rare-signer-437603-p9
malysis-* fötugisk
Harðkóðuð GCP verkefnaauðkenni og upptalningarmynstur geymslufötu sem eru felld inn í afbrigðið af greiningarinnviðum.
Lögun pakkans TS-gagnsemi pakkaframhlið án geymslureits Samræmt herferðarsniðmát: falsa TypeScript gagnapakka með skaðlegum hleðslum innbyggðum í postinstall hooks eða bætt við index.js.
sca-tools-hugbúnaður-samsetningargreiningartól
Forgangsraðaðu, lagfærðu og tryggðu hugbúnaðaráhættu þína
Fáðu þér ókeypis aðgang.
Ekkert kreditkort krafist.

Tryggðu hugbúnaðarþróun og afhendingu þína

með Xygeni vörupakkanum