TL; DR
Chuir aon obraiche npm sia seachdainean seachad a’ foillseachadh phasganan “goireasachd” TypeScript meallta leithid ts-form-utils, ts-project-lint, agus ts-enum-helper.
Ged a nochdas na pacaidean luchd-cuideachaidh dearbhaidh beaga a tha coltach ri dligheach, bidh an fhìor luchd a’ ruith nuair a thèid a stàladh no iarraidh an toiseach agus a’ dèanamh lorgan-meòir aoigheachd, lorg buidhne GitHub, clònadh stòr-dàta, agus toirt a-mach còd tùsail.
Tha an malware gu sònraichte ag amas air buidhnean GitHub àrd-luachmhor, nam measg grunn… Shopify stòran-dàta, an uairsin a’ tasglannachadh agus a’ toirt a-mach craobhan tùsail ruigsinneach gu ceann-uidhe cruinneachaidh meadhanaichte.
Mar phàirt den t-sruth-obrach co-rèiteachaidh, an luchd-pàighidh commitfaidhle sa air ais gu stòran-dàta luchd-fulaing fhad ’s a tha iad a’ dèanamh aithris air dearbh-aithne còdaidh fèin-riaghlaidh Google google-labs-jules[bot].
Lean sinn an iomairt — ainmichte JulesJacker — thar iomadh raon foillsichear agus co-dhiù còig ginealaichean de luchdan, a’ gabhail a-steach caochlaidhean crioptaichte agus mothachail air bogsa-gainmhich.
Tha an caochladh as ùire ag amas gu sònraichte air bun-structar mion-sgrùdaidh malware: chan eil e ag obair ach taobh a-staigh àrainneachdan mion-sgrùdaidh, a’ goid chomharran cunntas seirbheis meata-dhàta sgòthan, agus a’ sgrùdadh plèanaichean smachd Kubernetes agus bucaidean stòraidh sgòthan.
Is e am prìomh IOC a tha air a cho-roinn thar gach ginealach de luchdan-pàighidh an ceann-uidhe cruinneachaidh aaronstack[.]com/jules-collect.
Doimhneachd: èiginneach.
An Ionnsaigh: Mar a tha e ag Obrachadh
Bidh gach pasgan JulesJacker a’ leantainn an aon teamplaid. pasgan.json a’ sanasachadh neach-cuideachaidh TypeScript neo-chùramach le cead MIT agus gun stòr-dàta stòr ceangailte. clàr-amais.js a’ cur a-mach dòrlach de ghnìomhan fìor, obrachail — regexes puist-d, mapaichean enum, clàran riaghailt lint — gus am faic leasaiche a bhios a’ toirt a-steach am pasgan giùlan reusanta. Tha an droch-rùn a’ fuireach ann an àite eile: ann an às dèidh an stàlaidh dubhan, no ann am bloc aig bonn clàr-amais.js a bhios a’ cur an gnìomh an t-àm a bhios feum air a’ mhodal.
Tha na luchdan air atharrachadh tro ìrean a-staigh le àireamh soilleir (bidh an gnìomhaiche a’ comharrachadh nan tachartasan telemeatraidh aige fhèin) sc1-, sc3-, sc4-, agus mar sin air adhart), agus ’s e a bhith a’ coimhead air an mean-fhàs sin an dòigh as soilleire air tuigse fhaighinn air an iomairt.
Ginealach 1–2: taisgealadh agus goid git-config
B’ e goid fiosrachaidh sìmplidh a bh’ anns na pacaidean as tràithe. Nuair a chaidh an stàladh, chruinnich iad caochladairean àrainneachd, faidhle aoigheachd GitHub CLI, agus an rèiteachadh git cruinneil (rèiteachadh git –cruinneil –liosta, git iomallach -v), an uairsin POST am pasgan chun cheann-uidhe cruinneachaidh. Stèidhich seo ainm-sgrìobhte an obraiche: sgeulachd còmhdaich “goireasan dearbhaidh foirmean TypeScript”, comharra a-mach gu aon àrainn, agus blas airson teisteanasan leasaiche seach dàta luchd-cleachdaidh.
Ginealach 3: proban teicheadh an hypervisor agus an kernel
Thionndaidh aon dreach meadhan-iomairt gu làidir a dh’ionnsaigh ionnsaighean bun-structair. An àite a bhith a’ goid rèiteachaidh, ruith e sgrùdadh acfhainn ath-sgrùdaidh. AF_VSOCK socaidean, roinnean virtio MMIO, /dev/mem, agus brataichean cruadhachadh eithne, agus eadhon oidhirpean air tubaistean eithne air an adhbhrachadh le sysrq - giùlan co-cheangailte ri oidhirpean briseadh a-mach à inneal no soitheach brìgheil. Na tagaichean telemetry (s0-vmm-ath-sgrùdadh, s1-vmm-vsock-fuzz, s2-vmm-mmio, s3-kernel-probe) rinn e an rùn soilleir. Bha an caochladh seo gu soilleir ag amas air àrainneachdan bogsa-gainmhich sgòthan agus ruitheadair gun fhrithealaiche — an seòrsa VM sealach a bhios a’ togail agus a’ dèanamh deuchainn air còd neo-earbsach.
Ginealach 3 (SC3): a’ chnuimh sgrìobhaidh thar-stòrais
Thàinig meadhan cudthromachd na h-iomairt gu bhith na mhèirleach stòrais fèin-sgaoilidh. Nuair a thèid a stàladh, bidh an luchd a’ ruith sreath còig-ìrean le ùine:
- Ìre 0 (~100 ms): lorgan-meòir an aoigh — ainm an aoigh, fiosrachadh an neach-cleachdaidh, dearbh-aithne git.
- Ìre 1 (~3 s): faigh a-mach dè an eagrachadh dhan bhuineas an neach-fulang le bhith a’ sgrùdadh git iomallach -v, an uairsin coimhead suas còd cruaidh ORG_CONFIG ruigsinneachd stòr-dàta is clàr deuchainn le git ls-iomallach — air a stiùireadh tro neach-ionaid SSRF fo smachd ionnsaigh aig http://git@192.168.0.1:8080.
- Ìre 2 (~10 diogan): git clone gach stòr-tasgaidh a ghabhas ruighinn air an liosta targaid, tarball agus gzip a’ chraobh, base64-encode a dhèanamh dheth, agus chunk-exfiltrate a dhèanamh dheth.
- Ìre 3 (~45 diogan): an “dearbhadh ruigsinneachd” — clòn stòr-tasgaidh a ghabhas sgrìobhadh, leig às faidhle leis an ainm SECURITY-POC.md, agus commit e leis an ùghdar air a shuidheachadh gu google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> agus an teachdaireachd chore: update dependency tasgadan, an uairsin brùth gu prìomh mheur an neach-fulang.
Chan eil an liosta targaid cruaidh-chòdaichte coitcheann. Tha barrachd air trithead ann. Shopify stòran-tasgaidh air an ainmeachadh — Shopify/shopify, Shopify/dearbh-aithne, Shopify/bileachadh, Shopify/seòladh, Shopify/dìomhaireachdan, Shopify/bun-structar, Shopify/.github, agus mòran eile — còmhla ri buidheann deuchainn, AaronStackBarnes, a tha coltas gu bheil an gnìomhaiche a’ cumail smachd air agus a’ cleachdadh mar an targaid sgrìobhaidh.
Ginealach 4 (SC4): crioptaichte agus geataichte
Tha an caochladh as ùire a tha mu choinneimh luchd-leasachaidh a’ cur dà shreath de sheachnadh air mullach a’ chnuimh SC3.
An toiseach, chan eil an luchd air a chur mar theacsa soilleir tuilleadh. Tha an fhìor loidsig ann am blob crioptaichte le AES-256-CBC, lib/.perf.dat, leis an IV anns a’ chiad sia-deug bytes aige. An luchdadair ann an clàr-amais.js ag ath-thogail an iuchair dhì-chrioptachaidh bho phìosan sreang ceangailte, a’ dì-chrioptachadh a’ bhlob, agus ga ruith le Gnìomh ùr ()Tha eadhon ainmean nam modalan air an roinn gus sganairean statach a sheachnadh — feumaidh('crioptaichte' + 'o'), feumaidh('f' + 's').
San dàrna àite, tha e fo smachd an aoigh. Chan eil aon caochladh a’ crioptachadh agus a’ ruith ach nuair a bhios ainm-aoigheachd os.os() co-ionann bogsa-leasachaidh or ubuntu-fc-uvm (bun-roghainn Firecracker microVM) no anns a bheil an fho-shreang bogsa-leasachaidhGeataichean eile air làthaireachd a .jules/ eòlaire-obrach:
Ann am faclan eile, tha an luchd SC4 air a dhealbhadh gus fuireach na chadal air laptop leasaiche àbhaisteach agus dùsgadh a-mhàin taobh a-staigh an àidseant AI fèin-ghluasadach agus àrainneachdan bogsa gainmhich Tha an gnìomhaiche dha-rìribh ag iarraidh co-rèiteachadh.
A’ tionndadh air an obair-lann: an caochladh bun-structair-anailis
Am pasgan as nuadh san iomairt, neach-cuideachaidh ts-enum, chan eil e a’ toirt ionnsaigh air luchd-leasachaidh no Shopify idir. postinstall.sh a’ fosgladh le geata a bheir seachad a’ gheama:
Chan eil an sgriobt a’ dèanamh dad mura tèid caochladair àrainneachd a shuidheachadh a tha sònraichte do àrd-ùrlar mion-sgrùdaidh malware. Nuair a bhios e, tha fios aig an luchd-cleachdaidh gu bheil e a’ ruith taobh a-staigh a’ bhogsa-gainmhich a tha ann gus pacaidean dìreach mar an tè seo a spreadhadh agus a sgrùdadh - agus bidh e a’ dèanamh ionnsaigh-an-aghaidh.
An toiseach, bidh e a’ tarraing comharra OAuth cunntas seirbheis GCP bhon fhrithealaiche meata-dhàta eisimpleir agus ga thoirt a-mach. An uairsin, a’ cleachdadh an comharra sin, bidh e a’ sguabadh an Plèana smachd Kubernetes ruigsinneach aig kubernetes.default.svc:
- a’ liostadh ClusterRoleBindings, ClusterRoles, agus Nodan;
- a’ sgrùdadh pods, dìomhaireachdan, agus mapaichean rèiteachaidh thar siostam ciùb, default, ciùb-poblach, màl-nòd-kube, agus an t-ainm-àite anailis;
- a’ cur a-mach gairmean SelfSubjectAccessReview gus mapa dìreach a dhèanamh de na tha cead aig an dearbh-aithne a chaidh a ghoid a dhèanamh.
Mu dheireadh, bidh e a’ cleachdadh ainmean bucaid Google Cloud Storage le feachd brùideil a chaidh a thogail bho ID pròiseict GCP cruaidh-chòdaichte (tearc-soidhniche-437603-p9) agus àireamh a’ phròiseict, a’ tomhas measgachaidhean leithid *-togail, *-artifactan, agus grunnan mì-sgrùdadh- ro-leasachain (toraidhean malysis, pacaidean-malysis, sganaidhean-malysis). Thèid gach còd freagairt agus corp a chlàradh agus a phostadh air ais chun an aon rud cruinneachadh-jules crìoch-phuing.
Is e seo an aon chùis ainneamh far a bheil luchd-solair slabhraidh air a thogail gu sònraichte gus ionnsaigh a thoirt air bun-structar an luchd-dìon fhèin. Tha an sgeulachd còmhdaich air feadh na h-iomairt gu lèir - a tha a’ nochdadh pìosan dheth taobh a-staigh nan luchdan mar bheachdan a’ mìneachadh an giùlain mar “PoC Rannsachaidh Tèarainteachd… sgrìobhadh thar-stòrais tro chomharra proxy git thar-sgòpaichte” - mar an aon fhìreanachadh, ge bith an e monorepo Shopify no frithealaiche meata-dhàta a’ chnuasaich anailis an targaid ruith-ùine.
Clàr-ama & Imrich na Sgìre
Chan e obair aon-bhuille a th’ ann an JulesJacker. ’S e obair leantainneach a th’ ann a mhair às dèidh don chlàr a bhith air a thoirt às a chèile le bhith dìreach ag atharrachadh an ainm.
| nuair | tachartas |
|---|---|
| Meadhan a' Ghiblein 2026 | Nochdaidh a’ chiad phasganan fo raon-obrach an fhoillsichear thùsail: TS-utility facade, àrainneachd agus git-config exfiltration. |
| Tràth sa Chèitean 2026 | Chaidh caochladh sgrùdaidh Hypervisor agus kernel-escape fhoillseachadh. |
| Meadhan gu deireadh a' Chèitein 2026 | Nochdaidh cnuimh sgrìobhaidh thar-stòraidh SC3 ri taobh luchdan a tha ag amas air Shopify agus google-labs-jules[bot] pearsanachadh. Tha SC4 a’ toirt a-steach luchdairean crioptaichte le AES agus fo gheataichean aoigheachd. |
| Deireadh a' Chèitein 2026 | Bidh npm a’ toirt air falbh raon tùsail an fhoillsichear; bidh ainmean pacaid a’ fuasgladh gu bhith nan luchd-àite falamh a tha a’ cumail tèarainteachd. |
| An aon seachdain | Bidh an gnìomhaiche ag imrich gu raon cha mhòr co-ionann agus ag ath-fhoillseachadh a’ chnuimh, a’ gabhail a-steach an caochladh bun-structair-anailis. |
’S e an imrich am pàirt air am bu chòir do luchd-dìon suidhe ris. Cha do chuir toirt air falbh a’ chiad raon crìoch air an iomairt no eadhon ga slaodadh. Bha an gnìomhaiche air raon co-shìnte a chuir air dòigh mu thràth aig an robh ainm eadar-dhealaichte bhon fhear thùsail le aon charactar, agus lean e air a’ foillseachadh taobh a-staigh na h-aon seachdain. Aig àm sgrìobhaidh seo, tha an raon ùr… ts-form-utils (tionndaidhean 1.0.0 gu 1.1.0), a pròiseact-ts-lint (1.0.0 agus 1.1.0), agus an tè neo-eisimeileach neach-cuideachaidh ts-enum (1.0.0) fhathast ri stàladh.
Comharran Co-rèiteachaidh
Chaidh a h-uile comharra gu h-ìosal a dhearbhadh an aghaidh stòr a’ phacaid.
| Type | comharra | Notaichean |
|---|---|---|
| Lìonra (C2) | aaronstack[.]com/jules-collect | Ceann-uidhe cruinneachaidh singilte thar gach ginealach; a’ faighinn telemetry JSON agus pìosan tarball stòrais base64-gzip. |
| Lìonra (progsaidh SSRF) | http://git@192.168.0.1:8080 | Aghaidh airson comharra proxy git ro-sgopaichte a thathas a’ cleachdadh gus ruighinn air stòran-tasgaidh na buidhne targaid. |
| Lìonra (neul) | metadata.google.internal/computeMetadata/v1kubernetes.default.svcstorage.googleapis.com/storage/v1/b | Air a chleachdadh a-mhàin leis an caochladh bun-structair-anailis airson goid chomharran agus sgrùdadh plèana-smachd Kubernetes. |
| Dearbh-aithne | google-labs-jules[bot]161369871+google-labs-jules[bot]@users.noreply.github.com | Airgiod commit dearbh-aithne an ùghdair air a phutadh a-steach do phrìomh mheuran an luchd-fulaing. |
| File | lib/.perf.dat | Blob luchd crioptaichte le AES-256-CBC; IV air a stòradh anns a’ chiad 16 bytes agus an iuchair air ath-thogail gu dinamach ann an index.js. |
| File | SECURITY-POC.md | Air a leigeil sìos agus commitair ais gu stòran luchd-fulaing leis an teachdaireachd chore: update dependency cache. |
| File | scripts/postinstall.sh | Geataichte air $MALYSIS_ANALYSIS_ID; a’ comharrachadh an caochladh a tha ag amas air bun-structar-anailis. |
| Giùlan | os.hostname() sgrùdaidhean airson devbox / ubuntu-fc-uvm | Geatachadh àrainneachd bogsa-gainmhich agus àidseant AI mus tèid an luchd a dhì-chrioptachadh agus a chur an gnìomh. |
| Giùlan | .jules/ agus /app/.jules leughaidhean eòlaire | Targaideadh soilleir air àrainneachdan àite-obrach riochdairean AI. |
| Giùlan | sc1-, sc3-, sc4-, s0-vmm-recon | Leubail ìre teilemeatraidh a tha air am mìneachadh leis an obraiche a tha feumail airson lorg agus sealg. |
| Targaid sgòthan | rare-signer-437603-p9malysis-* tomhasan bucaid | Aithnichearan pròiseict GCP le còd cruaidh agus pàtrain àireamhachaidh bucaid stòraidh air an leabachadh a-steach don chaochladh bun-structair anailis. |
| Cruth pacaid | Aghaidh pasgan TS-goireis gun raon stòrais | Teamplaid iomairt cunbhalach: pacaidean goireis TypeScript meallta le luchdan droch-rùnach air an leabachadh a-steach postinstall hooks no air a chur ris index.js. |




