TL; DR
Ib tus neeg ua haujlwm npm siv rau lub lis piam tshaj tawm cov pob khoom "utility" cuav xws li ts-form-utils, ts-project-lint, Thiab ts-enum-helper.
Thaum cov pob khoom qhia txog cov kev pabcuam pov thawj me me uas zoo li raug cai, qhov payload tiag tiag ua haujlwm thaum nruab lossis thawj zaug xav tau thiab ua tus tswv tsev fingerprinting, GitHub lub koom haum tshawb pom, repository cloning, thiab source-code exfiltration.
Cov malware tshwj xeeb yog tsom mus rau cov koom haum GitHub uas muaj nqis siab, suav nrog ntau lub koom haum. Khw Tshaj Tawm cov chaw khaws ntaub ntawv, tom qab ntawd khaws cia thiab rho tawm cov ntoo qhov chaw uas ncav cuag tau mus rau qhov kawg ntawm kev sau ua ke.
Ua ib feem ntawm txoj haujlwm sib haum xeeb, lub payload commitsa cov ntaub ntawv rov qab mus rau hauv cov chaw khaws ntaub ntawv ntawm cov neeg raug tsim txom thaum ua txuj ua Google tus kheej coding google-labs-jules[bot].
Peb tau taug qab qhov kev sib tw - hu ua JulesJacker — hla ntau lub koom haum tshaj tawm thiab tsawg kawg tsib tiam neeg them nqi, suav nrog cov qauv encrypted thiab sandbox-paub.
Qhov hloov tshiab tshaj plaws tsom mus rau cov khoom siv tshuaj xyuas malware: nws tsuas yog ua haujlwm hauv cov chaw tshuaj xyuas, nyiag cov cim qhia txog kev pabcuam nyiaj txiag hauv huab, thiab tshuaj xyuas Kubernetes cov dav hlau tswj thiab cov thoob cia huab.
Lub IOC tseem ceeb uas sib koom ua ke thoob plaws txhua tiam neeg them nqi yog qhov kawg ntawm kev sau khoom. aaronstack[.]com/jules-collect.
Qhov hnyav: tseem ceeb.
Kev Tawm Tsam: Nws Ua Haujlwm Li Cas
Txhua pob JulesJacker ua raws li tib lub qauv. pob.json tshaj tawm ib tus neeg pab TypeScript zoo uas muaj daim ntawv tso cai MIT thiab tsis muaj qhov chaw khaws cia txuas. index.js xa tawm ob peb yam haujlwm tiag tiag, ua haujlwm - email regexes, enum maps, lint rule tables - yog li tus tsim tawm uas tau import cov pob khoom pom tus cwj pwm plausible. Qhov kev phem nyob rau lwm qhov: hauv ib tom qab kev teeb tsa nuv, los yog hauv ib lub thaiv nyob rau hauv qab ntawm index.js uas ua tiav lub sijhawm module xav tau.
Cov payloads tau hloov zuj zus los ntawm cov theem sab hauv uas muaj tus lej meej meej (tus neeg teb xov tooj sau nws cov xwm txheej telemetry sc1-, sc3-, sc4-, thiab lwm yam), thiab saib qhov kev hloov pauv ntawd yog txoj hauv kev meej tshaj plaws los nkag siab txog kev sib tw.
Tiam 1–2: kev tshuaj xyuas thiab kev nyiag git-config
Cov pob khoom thaum ntxov tshaj plaws yog cov infostealers yooj yim. Thaum nruab lawv tau sau cov hloov pauv ib puag ncig, cov ntaub ntawv GitHub CLI hosts, thiab kev teeb tsa git thoob ntiaj teb (git config –global –list, git chaw taws teeb -v), ces POSTed lub pob khoom mus rau qhov kawg ntawm kev sau. Qhov no tsim kom muaj tus neeg teb xov tooj kos npe: zaj dab neeg "TypeScript daim ntawv pov thawj cov cuab yeej siv", lub teeb liab tawm mus rau ib qho chaw sau npe, thiab kev nyiam cov ntaub ntawv pov thawj ntawm tus tsim tawm es tsis yog cov ntaub ntawv ntawm cov neeg siv khoom.
Tiam 3: hypervisor thiab kernel escape probes
Muaj ib qho version uas siv thaum nruab nrab ntawm kev sib tw tau hloov mus rau kev tawm tsam hauv cov chaw tsim kho vaj tse. Es tsis txhob nyiag cov config, nws tau khiav ib qho kev tshawb nrhiav recon harness. AF_VSOCK cov qhov (sockets), cov cheeb tsam virtio MMIO, /dev/mem, thiab cov cim qhia txog kev ua kom lub kernel tawv, thiab txawm tias sim ua rau lub kernel poob qis los ntawm sysrq - tus cwj pwm cuam tshuam nrog kev sim tawm ntawm lub tshuab virtual lossis lub thawv. Cov cim telemetry (s0-vmm-recon, s1-vmm-vsock-fuzz, s2-vmm-mmio, s3-kernel-probe) ua rau lub hom phiaj meej. Qhov kev hloov pauv no tau tsom mus rau huab-sandbox thiab serverless-runner ib puag ncig — hom VM ephemeral uas tsim thiab sim cov code tsis ntseeg siab.
Tiam 3 (SC3): tus kab mob sau ntawv hla-repo
Lub hauv paus ntawm lub zog sib tw tau dhau los ua tus tub sab nyiag repo uas nthuav dav tus kheej. Thaum teeb tsa, lub payload khiav tsib theem raws sijhawm:
- theem 0 (~ 100 ms): ntaus ntiv tes rau tus tswv tsev - lub npe tswv tsev, cov ntaub ntawv neeg siv, git tus kheej.
- theem 1 (~3 s): txiav txim siab seb tus neeg raug tsim txom koom nrog lub koom haum twg los ntawm kev tshuaj xyuas git chaw taws teeb -v, ces nrhiav ib qho hardcoded ORG_CONFIG rooj thiab kev kuaj repo nkag mus nrog git ls-chaw taws teeb — xa mus los ntawm tus neeg tawm tsam tswj hwm SSRF proxy ntawm http://git@192.168.0.1:8080.
- theem 2 (~10 vib nas this): git clone txhua qhov chaw khaws ntaub ntawv uas ncav cuag tau hauv daim ntawv teev npe, tarball thiab gzip tsob ntoo, base64-encode nws, thiab chunk-exfiltrate nws.
- theem 3 (~ 45 s): "pov thawj ntawm kev nkag mus" - clone ib qho repo sau tau, tso cov ntaub ntawv hu ua SECURITY-POC.md, thiab commit nws nrog tus sau teeb tsa rau google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> thiab cov lus ua haujlwm: hloov kho qhov chaw khaws cia, tom qab ntawd thawb mus rau tus neeg raug tsim txom lub ceg tseem ceeb.
Daim ntawv teev cov hom phiaj hardcoded tsis yog generic. Nws suav ntau dua peb caug Khw Tshaj Tawm cov chaw khaws ntaub ntawv los ntawm lub npe - Shopify/shopify, Shopify/tus kheej, Shopify/kev them nqi, Shopify/vault, Shopify/zais cia, Shopify/kev tsim kho vaj tse, Shopify/.github, thiab ntau ntxiv — nrog rau lub koom haum sim, AaronStackBarnes, uas tus neeg teb xov tooj zoo li tswj thiab siv ua lub hom phiaj sau.
Tiam 4 (SC4): encrypted thiab gated
Tus qauv tshiab tshaj plaws uas tus tsim tawm ntsib ntxiv ob txheej ntawm kev zam rau saum SC3 worm.
Ua ntej, qhov payload tsis xa khoom raws li plaintext lawm. Lub logic tiag tiag nyob hauv AES-256-CBC-encrypted blob, lib/.perf.dat, nrog rau IV hauv nws thawj kaum rau bytes. Lub loader hauv index.js rov tsim kho qhov yuam sij decryption los ntawm cov kab sib txuas ua ke, decrypts lub blob, thiab khiav nws nrog Kev Ua Haujlwm tshiab ()Txawm tias cov npe module kuj raug faib ua ob kom zam tau cov scanners uas tsis hloov pauv - xav tau('crypt' + 'o'), xav tau('f' + 's').
Qhov thib ob, nws yog tus tswv tsev-gated. Ib qho variant tsuas yog decrypts thiab khiav thaum os.hostname() sib npaug devbox or ubuntu-fc-uvm (lub Firecracker microVM tsis siv neeg) lossis muaj cov substring devbox. Lwm lub rooj vag ntawm qhov muaj ib tug .jules/ daim ntawv qhia ua haujlwm:
Hauv lwm lo lus, SC4 payload yog tsim los kom nyob twj ywm ntawm tus tsim tawm lub laptop thiab sawv tsuas yog hauv tus neeg sawv cev AI tsis siv neeg thiab sandbox ib puag ncig tus neeg teb xov tooj yeej xav kom muaj kev sib haum xeeb.
Tig rau ntawm Chav Kuaj: qhov Kev Tshuaj Xyuas-Kev Hloov Kho Vaj Tse
Lub pob khoom tshiab tshaj plaws hauv kev sib tw, ts-enum-helper, tsis tawm tsam cov neeg tsim khoom lossis Shopify hlo li. Nws postinstall.sh qhib nrog lub rooj vag uas muab qhov kev ua si mus:
Cov ntawv sau tsis ua dab tsi tsuas yog tias muaj qhov hloov pauv ib puag ncig tshwj xeeb rau lub platform tshuaj xyuas malware. Thaum nws ua li ntawd, lub payload paub tias nws khiav hauv lub sandbox uas muaj los ua kom tawg thiab kawm cov pob khoom zoo li qhov no - thiab nws tawm tsam.
Nws xub rub lub GCP service-account OAuth token los ntawm lub instance metadata server thiab rho tawm nws. Tom qab ntawd, siv lub token ntawd, nws txhuam cov Kubernetes tswj dav hlau ncav cuag ntawm kubernetes.default.svc:
- teev cov ClusterRoleBindings, ClusterRoles, thiab Nodes;
- probes pods, secrets, thiab configmaps thoob plaws kube-system, ua ntej, kube-pej xeem, kube-node-lease, thiab lub npe chaw tshuaj xyuas;
- cov teeb meem SelfSubjectAccessReview hu xov tooj los qhia meej tias tus kheej raug nyiag tau tso cai ua dab tsi.
Thaum kawg nws brute-forces Google Cloud Storage bucket names uas tsim los ntawm ib qho hardcoded GCP project ID (tus neeg kos npe tsawg-437603-p9) thiab tus lej project, kev kwv yees ua ke xws li *-kev tsim kho, *-cov khoom siv, thiab ob peb malysis- cov lus qhia ua ntej (malysis-cov txiaj ntsig, malysis-packages, kev kuaj mob malysis). Txhua cov lus teb code thiab lub cev raug kaw thiab POSTed rov qab mus rau tib yam jules-collect qhov kawg.
Qhov no yog qhov tsis tshua muaj ntawm cov khoom xa tuaj uas tau tsim tshwj xeeb los tawm tsam cov neeg tiv thaiv tus kheej cov khoom siv. Zaj dab neeg npog thoob plaws tag nrho cov phiaj xwm - cov khoom seem uas tshwm sim hauv cov khoom xa tuaj raws li cov lus pom zoo txog tus cwj pwm ua "Kev Tshawb Fawb Kev Ruaj Ntseg PoC ... cross-repo sau ntawm overscoped git proxy token" - yog tib qho kev ua pov thawj tus kheej, txawm tias lub hom phiaj runtime yog Shopify monorepo lossis lub server metadata ntawm pawg neeg tshuaj xyuas.
Lub Sijhawm & Qhov Kev Hloov Chaw ntawm Scope
JulesJacker tsis yog ib qho kev poob ib zaug xwb. Nws yog ib qho kev ua haujlwm uas tau dim ntawm kev tshem tawm cov npe los ntawm kev hloov nws lub npe.
| thaum | Cov kev tshwm sim |
|---|---|
| Nruab Nrab Lub Plaub Hlis Ntuj xyoo 2026 | Cov pob khoom thawj zaug tshwm sim nyob rau hauv qhov kev tshaj tawm thawj zaug: TS-utility façade, ib puag ncig thiab git-config exfiltration. |
| Thaum ntxov lub Tsib Hlis 2026 | Hypervisor thiab kernel-escape reconnaissance variant tau luam tawm. |
| Nruab nrab mus txog rau thaum kawg ntawm lub Tsib Hlis 2026 | SC3 cross-repo wrote worm tshwm sim ua ke nrog Shopify-targeted payloads thiab google-labs-jules[bot] kev ua txuj ua li lwm tus. SC4 qhia txog AES-encrypted thiab host-gated loaders. |
| Lub Tsib Hlis 2026 | npm tshem tawm qhov kev tshaj tawm thawj zaug; cov npe pob khoom daws teeb meem rau cov chaw tuav kev ruaj ntseg khoob. |
| Tib lub lim tiam | Tus neeg teb xov tooj tsiv mus rau qhov zoo sib xws thiab rov tshaj tawm cov kab mob, suav nrog qhov kev hloov pauv ntawm kev tshuaj xyuas. |
Qhov kev hloov pauv yog qhov uas cov neeg tiv thaiv yuav tsum zaum nrog. Kev tshem tawm thawj lub scope tsis tau xaus qhov kev sib tw lossis txawm tias qeeb nws. Tus neeg teb xov tooj twb tau teeb tsa lub scope sib luag uas nws lub npe txawv ntawm thawj los ntawm ib tus cwj pwm, thiab txuas ntxiv tshaj tawm hauv tib lub lim tiam. Raws li kev sau ntawv no, lub scope tshiab ts-form-utils (versions 1.0.0 txog 1.1.0), nws ts-project-lint (1.0.0 thiab 1.1.0), thiab qhov sawv ntsug ts-enum-helper (1.0.0) tseem tuaj yeem ntsia tau.
Cov Cim Qhia Txog Kev Sib Tw
Tag nrho cov cim qhia hauv qab no tau lees paub tawm tsam qhov chaw pob khoom.
| hom | Qhov taw qhia | Sau ntawv |
|---|---|---|
| Kev Sib Txuas Lus (C2) | aaronstack[.]com/jules-collect | Ib qho chaw kawg rau kev sau cov ntaub ntawv thoob plaws txhua tiam neeg; tau txais JSON telemetry thiab base64-gzip repository tarball chunks. |
| Network (SSRF proxy) | http://git@192.168.0.1:8080 | Pem hauv ntej rau ib qho overscoped git proxy token siv los mus txog lub koom haum lub hom phiaj repositories. |
| Network (huab) | metadata.google.internal/computeMetadata/v1kubernetes.default.svcstorage.googleapis.com/storage/v1/b | Tsuas yog siv los ntawm qhov kev tshuaj xyuas-kev tsim kho vaj tse rau kev nyiag token thiab Kubernetes tswj-dav hlau reconnaissance. |
| Yog leejtwg | google-labs-jules[bot]161369871+google-labs-jules[bot]@users.noreply.github.com | Forged commit tus sau ntawv lub npe raug thawb mus rau hauv cov ceg tseem ceeb ntawm tus neeg raug tsim txom. |
| cov ntaub ntawv | lib/.perf.dat | AES-256-CBC-encrypted payload blob; IV khaws cia rau hauv thawj 16 bytes thiab tus yuam sij rov tsim dua dynamically hauv index.js. |
| cov ntaub ntawv | SECURITY-POC.md | Poob lawm thiab commitrov qab mus rau hauv cov chaw khaws ntaub ntawv ntawm tus neeg raug tsim txom nrog cov lus chore: update dependency cache. |
| cov ntaub ntawv | scripts/postinstall.sh | Muaj rooj vag kaw $MALYSIS_ANALYSIS_ID; txheeb xyuas qhov kev hloov pauv ntawm kev tsom xam-kev tsim kho vaj tse-kev tsom mus rau. |
| Cwj Pwm | os.hostname() cov tshev rau devbox / ubuntu-fc-uvm | Kev sib txuas ntawm Sandbox thiab AI-agent ib puag ncig ua ntej kev decryption thiab kev ua tiav ntawm payload. |
| Cwj Pwm | .jules/ thiab /app/.jules cov ntawv nyeem hauv phau ntawv teev npe | Kev tsom mus rau qhov chaw ua haujlwm ntawm AI-agent. |
| Cwj Pwm | sc1-, sc3-, sc4-, s0-vmm-recon | Cov ntawv cim theem telemetry uas tus neeg teb xov tooj txhais tau muaj txiaj ntsig zoo rau kev nrhiav thiab yos hav zoov. |
| Lub hom phiaj huab | rare-signer-437603-p9malysis-* kev kwv yees thoob | Cov cim qhia txog qhov project GCP uas tau hardcoded thiab cov qauv enumeration ntawm cov storage-bucket uas tau muab tso rau hauv cov variant ntawm kev tshuaj xyuas-kev tsim kho vaj tse. |
| Cov duab ntawm pob khoom | TS-utility pob khoom façade uas tsis muaj qhov chaw khaws cia | Cov qauv phiaj xwm sib xws: cov pob khoom siv TypeScript cuav nrog cov payloads phem uas tau muab tso rau hauv postinstall hooks los yog txuas rau index.js. |




