ʻO JulesJacker: Hoʻohālike ka ilo npm wahaheʻe iā Jules AI

ʻO JulesJacker: He ilo npm hoʻopunipuni-PoC e hoʻohālike ana i ka Luna Jules a Google - a hoʻā i ka pahu sandbox e nānā ana iā ia

Aku; DR

Ua hoʻohana kekahi mea hoʻohana npm hoʻokahi i ʻeono pule e paʻi ana i nā pūʻolo "utility" TypeScript hoʻopunipuni e like me ts-form-utils, ts-project-lint, a ts-enum-helper.

ʻOiai ke hōʻike nei nā pūʻolo i nā mea kōkua hōʻoia liʻiliʻi e nānā pono ana, hoʻokō ka ukana maoli ma ka hoʻouka ʻana a i ʻole ke koi mua a hana i ka manamana lima host, ka ʻike ʻana o ka hui GitHub, ka cloning repository, a me ka exfiltration source-code.

Hoʻopilikia pololei ka polokalamu ʻino i nā hui GitHub waiwai nui, me nā hui he nui Shopify nā waihona, a laila waiho a hoʻopuka i nā kumulāʻau kumu hiki ke hiki i kahi hopena hōʻiliʻili kikowaena.

Ma ke ʻano he ʻāpana o ke kaʻina hana hoʻokuʻu, ʻo ka ukana commitsa i loko o nā waihona i hōʻeha ʻia me ka hoʻohālike ʻana i ka ʻike coding kūʻokoʻa o Google google-labs-jules[bot].

Ua hahai mākou i ka hoʻolaha - i kapa ʻia ʻO JulesJacker — ma waena o nā ʻano hoʻopuka he nui a me ka liʻiliʻi he ʻelima mau hanauna ukana, me nā ʻano i hoʻopāʻālua ʻia a me nā ʻano sandbox-ʻike.

ʻO ke ʻano hou loa e pili pono ana i ke kahua loiloi malware: hoʻāla wale ia i loko o nā wahi loiloi, ʻaihue i nā hōʻailona moʻokāki lawelawe metadata ao, a nānā i nā mokulele hoʻomalu Kubernetes a me nā bākeke mālama ao.

ʻO ka IOC mua i kaʻana like ʻia ma nā hanauna ukana āpau ʻo ia ka hopena hōʻiliʻili aaronstack[.]com/jules-collect.

Koʻikoʻi: koʻikoʻi.

Ka Hoʻouka: Pehea e Hana ai

Ua hahai kēlā me kēia pūʻolo JulesJacker i ke kumu hoʻohālike like. pakete.json hoʻolaha i kahi mea kōkua TypeScript maikaʻi me kahi laikini MIT a ʻaʻohe waihona kumu i hoʻopili ʻia. index.js hoʻokuʻu aku i kahi lima o nā hana maoli, hana - nā leka uila regexes, nā palapala ʻāina enum, nā papa lula lint - i hiki i kahi mea hoʻomohala e lawe mai ana i ka pūʻolo ke ʻike i nā hana kūpono. Noho ka ʻino ma kahi ʻē: i loko o kahi ma hope o ke kau ʻana makau, a i ʻole i loko o kahi poloka ma lalo o index.js e hoʻokō ana i ka manawa e pono ai ka module.

Ua ulu nā ukana ma o nā pae kūloko i helu maopopo ʻia (ua kapa inoa ka mea hoʻohana i kāna mau hanana telemetry ponoʻī sc1-, sc3-, sc4-, a pēlā aku), a ʻo ka nānā ʻana i kēlā ulu ʻana ke ala maopopo loa e hoʻomaopopo ai i ka hoʻolaha.

 Hanauna 1–2: ʻimi a me ka ʻaihue git-config

ʻO nā pūʻolo mua loa he mau mea ʻaihue ʻike maʻalahi. I ka wā i hoʻokomo ʻia ai, ua hōʻiliʻili lākou i nā loli kaiapuni, ka faila GitHub CLI hosts, a me ka hoʻonohonoho git honua (papa inoa git config –global, git mamao -v), a laila hoʻouna i ka pūʻolo i ka hopena hōʻiliʻili. Ua hoʻokumu kēia i ke kau inoa o ka mea hoʻohana: kahi moʻolelo uhi "TypeScript form validation utility", kahi beacon outbound i hoʻokahi kikowaena, a me kahi ʻono no nā hōʻoia hoʻomohala ma mua o ka ʻikepili mea kūʻai aku.

Hanauna 3: nā ʻōkuhi pakele hypervisor a me kernel

Ua hoʻololi ikaika ʻia kekahi mana waena o ka hoʻolaha i nā hoʻouka kaua ʻana i nā ʻōnaehana. Ma kahi o ka ʻaihue ʻana i ka hoʻonohonoho, ua holo ʻo ia i kahi recon harness probing AF_VSOCK nā sockets, nā ʻāpana virtio MMIO, /dev/mem, a me nā hae hoʻopaʻakikī kernel, a me ka hoʻāʻo ʻana i nā hāʻule kernel i hoʻāla ʻia e sysrq - nā hana e pili ana me nā hoʻāʻo e uhaʻi i waho o kahi mīkini virtual a i ʻole ka ipu. ʻO nā lepili telemetry (s0-vmm-recon, s1-vmm-vsock-fuzz, s2-vmm-mmio, ʻO ka probe kernel-s3) ua hoʻākāka i ka manaʻo. Ua kuhikuhi maopopo ʻia kēia ʻano like ʻole nā wahi one-one a me nā wahi holo serverless — ke ʻano o ka VM ephemeral e kūkulu a hoʻāʻo i ke code hilinaʻi ʻole ʻia.

Hanauna 3 (SC3): ka ilo kākau cross-repo

Ua lilo ke kikowaena o ka hoʻouka kaua i mea ʻaihue repo hoʻolaha ponoʻī. I ka hoʻouka ʻana, holo ka ukana i kahi kaʻina manawa ʻelima pae:

  • Hana 0 (~100 ms): manamana lima i ka kikowaena - inoa kikowaena, ʻike mea hoʻohana, ʻike git.
  • Hana 1 (~3 s): e hoʻoholo i ka hui i pili ai ka mea i hōʻeha ʻia ma ka nānā ʻana git mamao -v, a laila e nānā i kahi paʻa paʻa ORG_CONFIG papaʻaina a me ke komo ʻana o ka repo hoʻāʻo me git ls-mamao - i hoʻokele ʻia ma o kahi proxy SSRF i kāohi ʻia e ka mea hoʻouka ma http://git@192.168.0.1:8080.
  • Hana 2 (~10 kekona): ke kāʻei kēlā me kēia waihona hiki ke hiki aku i ka papa inoa i manaʻo ʻia, tarball a gzip i ka lāʻau, base64-encode iā ia, a chunk-exfiltrate iā ia.
  • Hana 3 (~45 s): ka "hōʻike o ke komo ʻana" - clone i kahi repo hiki ke kākau ʻia, e hoʻokuʻu i kahi faila i kapa ʻia ʻo SECURITY-POC.md, a commit me ka mea kākau i hoʻonohonoho ʻia i google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> a me ka leka hana: hōʻano hou i ka cache hilinaʻi, a laila e hoʻokuke i ka lālā nui o ka mea i hōʻeha ʻia.

ʻAʻole maʻamau ka papa inoa pahuhopu paʻa. Helu ʻia ma mua o kanakolu Shopify nā waihona ma ka inoa — Shopify/kūʻai aku, Shopify/ʻike pilikino, Shopify/bila kālā, Shopify/hale waihona, Shopify/nā mea huna, Shopify/ʻoihana hana, Shopify/.github, a me nā mea hou aku he nui - me kahi hui hoʻāʻo, ʻAʻaronaStackBarnes, ka mea a ka mea hoʻohana e kaohi ai a hoʻohana ma ke ʻano he pahuhopu kākau.

Hanauna 4 (SC4): hoʻopāʻālua ʻia a pani ʻia

Hoʻohui ka ʻano hou loa e kū pono ana i ka mea hoʻomohala i ʻelua mau papa o ka pale ʻana ma luna o ka ilo SC3.

ʻO ka mea mua, ʻaʻole e hoʻouna hou ʻia ka ukana ma ke ʻano he kikokikona maʻalahi. Aia ke kumu maoli i loko o kahi blob i hoʻopāʻālua ʻia e AES-256-CBC, lib/.perf.dat, me ka IV i loko o kāna ʻumikumamāono mau bytes mua. ʻO ka mea hoʻouka i loko index.js hana hou i ke kī decryption mai nā ʻāpana string concatenated, decrypts i ka blob, a holo me ia Hana hou()Ua māhele ʻia nā inoa module e pale aku i nā scanner static — koi('crypt' + 'o'), koi('f' + 's').

ʻO ka lua, ua hoʻopaʻa ʻia e ka host. Hoʻopau wale kekahi ʻano a holo i ka wā os.hostname() like like devbox or ubuntu-fc-uvm (kahi paʻamau o Firecracker microVM) a i ʻole aia ka substring devboxʻO kekahi mau puka pā ma ke alo o kahi .jules/ papa kuhikuhi hana:

I nā huaʻōlelo ʻē aʻe, ua hoʻolālā ʻia ka ukana SC4 e noho hiamoe ma ka kamepiula lawe lima o kahi mea hoʻomohala maʻamau a ala wale i loko o ka AI-agent automated a kaiapuni pahu one makemake maoli ka mea hoʻohana e hoʻokuʻu i ke kānāwai.

Ke hoʻā nei i ka Lab: ka ʻokoʻa Analysis-Infrastructure

ʻO ka pūʻolo hou loa i ka hoʻolaha, ts-enum-kōkua, ʻaʻole ia e hoʻouka i nā mea hoʻomohala a i ʻole Shopify. ʻO kāna postinstall.sh wehe ʻia me kahi puka e hāʻawi ana i ka pāʻani:

ʻAʻohe hana a ka palapala ke ʻole kahi loli kaiapuni e pili ana i kahi kahua loiloi malware i hoʻonohonoho ʻia. Ke hoʻonohonoho ʻia, ʻike ka ukana e holo ana ia i loko o ka pahu one e kū nei e pahū a aʻo i nā pūʻolo e like me kēia - a kūʻē ia i nā hoʻouka kaua.

Huki mua ia i ka hōʻailona OAuth moʻokāki lawelawe GCP mai ke kikowaena metadata hiʻohiʻona a hoʻopuka iā ia. A laila, me ka hoʻohana ʻana i kēlā hōʻailona, ​​​​​​e hoʻomaʻemaʻe ia i ka ʻO ka mokulele hoʻokele Kubernetes hiki ke loaa ma kubernetes.default.svc:

  • papa inoa iā ClusterRoleBindings, ClusterRoles, a me Nodes;
  • nānā i nā pods, nā mea huna, a me nā configmaps ma waena ʻōnaehana kube, ka paʻamau, kube-lehulehu, hoʻolimalima-kube-node, a me ka inoa inoa loiloi;
  • hoʻopuka i nā kāhea SelfSubjectAccessReview e palapala i nā mea e ʻae ʻia ai ka ʻike i ʻaihue ʻia e hana.

ʻO ka mea hope loa, hoʻoikaika nui ia i nā inoa bākeke Google Cloud Storage i kūkulu ʻia mai kahi ID papahana GCP paʻa (mea kau inoa-kākaʻikahi-437603-p9) a me ka helu papahana, e kuhi ana i nā hui pū ʻana e like me *-kūkulu, *-nā mea hana lima, a he mau malysis- nā hua mua (nā hopena malysis, nā pūʻolo-malysis, nā scan-malysis). Hoʻopaʻa inoa ʻia kēlā me kēia code pane a me ke kino a hoʻihoʻi ʻia i ka mea like ʻO Jules-Collection wahi hope.

ʻO kēia ka hihia kakaikahi o kahi ukana lako i kūkulu ʻia e hoʻouka i ke kahua ponoʻī o nā mea pale. ʻO ka moʻolelo uhi ma o ka hoʻolaha holoʻokoʻa - nā ʻāpana i ʻike ʻia i loko o nā ukana e like me nā manaʻo e hoʻopili ana i ke ʻano ma ke ʻano he "Security Research PoC ... cross-repo kākau ma o ka overscoped git proxy token" - ʻo ia ka hoʻāpono ponoʻī like, inā paha he Shopify monorepo a i ʻole ke kikowaena metadata o ka hui loiloi ka pahuhopu runtime.

Ka Manawa a me ka Neʻe ʻana o ka Lapoʻa

ʻAʻole ʻo JulesJacker he hāʻule hoʻokahi wale nō. He hana hoʻomau ia i ola i kahi lawe ʻia ʻana o ka papa inoa ma ka hoʻololi wale ʻana i kona inoa.

i ka wa hanana
Mid-ʻApelila 2026 ʻIke ʻia nā pūʻolo mua ma lalo o ka laulā o ka mea hoʻopuka mua: TS-utility façade, environment and git-config exfiltration.
Mamua o Mei 2026 Ua paʻi ʻia ka ʻano hypervisor a me ka kernel-escape reconnaissance.
Waena a hiki i ka hopena o Mei 2026 ʻIke ʻia ka ilo kākau SC3 cross-repo ma ka ʻaoʻao o nā ukana i hoʻolālā ʻia e Shopify a google-labs-jules[bot] hoʻopunipuni. Hoʻolauna ʻo SC4 i nā mea hoʻouka AES-encrypted a me host-gated.
Ka hopena o Mei 2026 Hoʻopau ʻo npm i ka laulā o ka mea hoʻopuka mua; hoʻoholo nā inoa pūʻolo e hoʻokuʻu i nā wahi paʻa palekana.
Pule like Neʻe ka mea hoʻohana i kahi ʻano like like a hoʻopuka hou i ka ilo, me ka ʻano like ʻole o ke kahua loiloi.

ʻO ka neʻe ʻana ka ʻāpana e pono ai nā mea pale e noho pū me. ʻAʻole i hoʻopau ka wehe ʻana o ka laulā mua i ka hoʻouka kaua a i ʻole hoʻolohi. Ua hoʻonohonoho mua ka mea hoʻokele i kahi laulā like nona ka inoa i ʻokoʻa mai ka mea mua ma o hoʻokahi huapalapala, a hoʻomau i ka paʻi ʻana i loko o ka pule hoʻokahi. I kēia kākau ʻana, ʻo ka laulā hou nā ʻōnaehana-ts (nā mana 1.0.0 a hiki i ka 1.1.0), kona ts-project-lint (1.0.0 a me 1.1.0), a me ke kū hoʻokahi ts-enum-kōkua (1.0.0) hiki ke hoʻouka ʻia.

Nā Hōʻailona o ke Kuʻikahi

Ua hōʻoia ʻia nā ʻōkuhi a pau ma lalo nei e kūʻē i ke kumu o ka pūʻolo.

ʻAno anakahi Notes
Pūnaewele (C2) aaronstack[.]com/jules-collect Hoʻokahi ka hopena hōʻiliʻili ma kēlā me kēia hanauna; loaʻa iā ia ka telemetry JSON a me nā ʻāpana tarball waihona base64-gzip.
Pūnaewele (ʻelele SSRF) http://git@192.168.0.1:8080 ʻO ke alo no kahi hōʻailona proxy git overscoped i hoʻohana ʻia e hiki i nā waihona o ka hui i manaʻo ʻia.
Pūnaewele (ao) metadata.google.internal/computeMetadata/v1
kubernetes.default.svc
storage.googleapis.com/storage/v1/b
Hoʻohana wale ʻia e ka ʻano loiloi-infrastructure no ka ʻaihue hōʻailona a me ka ʻimi ʻana i ka mokulele mana Kubernetes.
Hawaii Five- google-labs-jules[bot]
161369871+google-labs-jules[bot]@users.noreply.github.com
Hanaʻia commit ua hoʻokomo ʻia ka ʻike o ka mea kākau i loko o nā lālā nui o ka mea i hōʻeha ʻia.
File lib/.perf.dat ʻO ka blob payload i hoʻopāʻālua ʻia ʻo AES-256-CBC; Ua mālama ʻia ʻo IV i loko o nā byte 16 mua a ua kūkulu hou ʻia ke kī me ka ikaika i loko index.js.
File SECURITY-POC.md Ua hāʻule a commithoʻihoʻi ʻia i loko o nā waihona i hōʻeha ʻia me ka leka chore: update dependency cache.
File scripts/postinstall.sh Pā ma luna $MALYSIS_ANALYSIS_ID; kuhikuhi i ka ʻano hoʻololi i ka nānā ʻana-ʻōnaehana-kumuhana.
ʻAlohelohe os.hostname() nā hōʻoia no devbox / ubuntu-fc-uvm ʻO ka hoʻoponopono ʻana i ke kaiapuni ʻo Sandbox a me AI-agent ma mua o ka wehe ʻana i ka payload a me ka hoʻokō ʻana.
ʻAlohelohe .jules/ a /app/.jules heluhelu papa kuhikuhi Ke kuhikuhi pono ʻana o nā wahi hana AI-agent.
ʻAlohelohe sc1-, sc3-, sc4-, s0-vmm-recon Nā lepili kahua telemetry i wehewehe ʻia e ka mea hana no ka ʻike ʻana a me ka hahai holoholona.
Pahuhopu ao rare-signer-437603-p9
malysis-* nā kuhi bākeke
Nā mea hōʻike papahana GCP i hoʻopaʻa ʻia a me nā ʻano helu bākeke mālama i hoʻokomo ʻia i loko o ka ʻano loiloi-ʻōnaehana hana.
ʻAno pūʻolo ʻAoʻao mua o ka pūʻolo pono TS me ka ʻole o kahi kahua waihona Hoʻohālike hoʻolaha kūlike: nā pūʻolo pono TypeScript hoʻopunipuni me nā ukana ʻino i hoʻokomo ʻia i loko postinstall hooks a i ʻole i hoʻopili ʻia i index.js.
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