TL, DR
Wani mai aiki da npm guda ɗaya ya shafe makonni shida yana buga fakitin "utility" na TypeScript na bogi kamar ts-form-utils, ts-project-lint, Da kuma ts-enum-helper.
Duk da yake fakitin yana nuna ƙananan masu taimakawa wajen tantancewa, ainihin nauyin yana aiki akan shigarwa ko farko yana buƙatar kuma yana aiwatar da sawun yatsan mai masaukin baki, gano ayyukan GitHub, cloning na ma'ajiyar bayanai, da kuma tace lambar tushe.
Malware ɗin yana kai hari musamman ga ƙungiyoyin GitHub masu daraja, gami da da yawa Shopify ma'ajiyar bayanai, sannan a adana kuma a fitar da bishiyoyin da za a iya isa gare su zuwa wani wuri mai tarin bayanai na tsakiya.
A matsayin wani ɓangare na tsarin aiki na sulhu, nauyin da aka ɗauka commitsake mayar da fayil ɗin zuwa ma'ajiyar waɗanda abin ya shafa yayin da yake kwaikwayon asalin lambar sirri ta Google mai cin gashin kanta google-labs-jules[bot].
Mun bi diddigin kamfen ɗin — mai suna JulesJacker — a cikin fannoni daban-daban na masu wallafawa da kuma aƙalla tsararraki biyar masu ɗaukar nauyi, gami da nau'ikan da aka ɓoye da waɗanda aka san su da akwatin sandbox.
Sabuwar sigar musamman tana mai da hankali kan kayayyakin aikin bincike na malware: tana aiki ne kawai a cikin yanayin bincike, tana satar alamun asusun bayanai na girgije, kuma tana bincika jiragen sarrafa Kubernetes da bokitin ajiyar girgije.
Babban IOC da aka raba a duk tsararrakin da ake biyan albashi shine ƙarshen tattarawa aaronstack[.]com/jules-collect.
Tsanani: mai mahimmanci.
Harin: Yadda Yake Aiki
Kowace fakitin JulesJacker tana bin tsari ɗaya. fakamari.json yana tallata wani mai taimaka wa TypeScript mai kyau wanda ke da lasisin MIT kuma babu ma'ajiyar tushen da aka haɗa. index.js yana fitar da wasu ayyuka na gaske, masu aiki — imel regexes, enum taswira, da lint rules tables — ta yadda mai haɓaka kayan aikin da ya shigo da kayan aikin zai ga halaye masu kyau. Muguntar tana rayuwa a wani wuri: a cikin postinstall ƙugiya, ko kuma a cikin wani toshe a ƙasan index.js wanda ke aiwatar da lokacin da ake buƙatar module ɗin.
Nauyin da aka biya ya samo asali ta hanyar matakai na ciki masu lamba a sarari (mai aiki yana yiwa abubuwan da suka faru na telemetry lakabi sc1-, sc3-, sc4-, da sauransu), kuma kallon wannan juyin halitta shine hanya mafi bayyanannu don fahimtar kamfen ɗin.
Tsari na 1–2: leƙen asiri da sata na git-config
Fakitin farko masu satar bayanai ne masu sauƙi. Lokacin shigarwa, suna tattara masu canjin yanayi, fayil ɗin GitHub CLI mai ɗaukar nauyi, da kuma tsarin git na duniya (git config –global –list, git remote -v), sannan ya POST da fakitin zuwa ƙarshen tarin. Wannan ya kafa sa hannun mai aiki: labarin murfin "Kayan aikin tabbatar da fom na TypeScript", alamar fita zuwa yanki ɗaya, da kuma sha'awar takardun shaidar masu haɓakawa maimakon bayanan mabukaci.
Tsari na 3: na'urorin gano hypervisor da kernel
Wani sigar tsakiyar kamfen ta yi ƙoƙari sosai wajen kai hare-haren ababen more rayuwa. Maimakon satar tsari, ta gudanar da binciken kayan aiki na sake dubawa. AF_VSOCK soket, yankuna masu ƙarfi na MMIO, / dev / mem, da kuma tutocin taurarewar ƙwayoyin cuta, har ma da ƙoƙarin faɗuwar ƙwayoyin cuta da sysrq ya haifar — halayyar da ke da alaƙa da yunƙurin ficewa daga injin kama-da-wane ko akwati. Alamun telemetry (s0-vmm-recon, s1-vmm-vsock-fuzz, s2-vmm-mmio, s3-kernel-probe) ya bayyana manufar a sarari. Wannan bambancin an yi shi ne a sarari don yanayin sandbox na girgije da kuma yanayin gudu mara uwar garken — nau'in VM na ɗan lokaci wanda ke ginawa da gwada lambar da ba a amince da ita ba.
Tsari na 3 (SC3): tsutsar rubutu ta giciye-repo
Cibiyar ƙarfin yaƙin neman zaɓe ta zama ɓarawon repo mai yaɗa kansa. Da zarar an shigar da shi, nauyin da aka ɗora yana gudanar da jerin matakai biyar masu matakai:
- Stage 0 (~100 ms): sawun yatsa na mai masaukin baki — sunan mai masaukin baki, bayanin mai amfani, asalin git.
- Stage 1 (~3 s): tantance wace ƙungiya ce wanda abin ya shafa ta hanyar dubawa git remote -v, sannan ka duba lambar da aka rubuta da hardcode ORG_CONFIG damar shiga tebur da wurin ajiyar gwaji tare da git ls-remote - an tura shi ta hanyar wakili na SSRF wanda mahari ke sarrafawa a http://git@192.168.0.1:8080.
- Stage 2 (~ s 10): gne clone kowane ma'ajiyar da za a iya isa gare ta a cikin jerin abubuwan da ake so, a yi amfani da tarball da gzip ɗin bishiyar, a sanya base64 a cikinta, sannan a cire shi gaba ɗaya.
- Stage 3 (~45 s): "tabbacin samun dama" - kwafi wani ma'ajiyar rubutu, ajiye fayil mai suna SECURITY-POC.md, kuma commit tare da saita marubucin zuwa google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> da kuma aikin saƙon: sabunta ma'ajiyar dogaro, sannan a tura zuwa babban reshen wanda abin ya shafa.
Jerin abubuwan da aka yi niyya ba na gama gari ba ne. Ya lissafa sama da talatin Shopify ma'ajiyar bayanai ta suna - Shopify/shopify, Shopify/asali, Shopify/biyan kuɗi, Shopify/tashar ajiya, Shopify/asirai, Shopify/kayayyakin more rayuwa, Shopify/.github, da sauransu da yawa - tare da ƙungiyar gwaji, AaronStackBarnes, cewa mai aiki yana kama da yana iko kuma yana amfani da shi azaman abin da ake nufi da rubutu.
Tsarin 4 (SC4): an ɓoye shi kuma an rufe shi da ƙofa
Sabuwar nau'in da ke fuskantar masu haɓakawa yana ƙara layuka biyu na tserewa a saman tsutsar SC3.
Da farko, nauyin da aka ɗauka ba ya bayyana a sarari. Hakikanin ma'anar tana cikin wani rubutu mai ɓoyewa na AES-256-CBC, lib/.perf.dat, tare da IV a cikin baiti goma sha shida na farko. Mai lodawa a cikin index.js yana sake gina maɓallin ɓoyewa daga gutsuttsuran igiyoyi masu haɗe, yana warware rubutun, kuma yana gudanar da shi da sabon Aiki()Har ma an raba sunayen sassan don guje wa na'urorin daukar hoto masu motsi — buƙatar('crypt' + 'o'), buƙata('f' + 's').
Na biyu, ana sanya shi a cikin host-gate. Wani nau'i ɗaya yana warwarewa kawai kuma yana aiki lokacin da sunan mai masaukin baki () daidai akwatin devbox or ubuntu-fc-uvm (tsohon tsarin microVM na Firecracker) ko kuma ya ƙunshi ƙaramin kirtani akwatin devboxWata ƙofa a gaban wani .jules/ daftarin aiki:
A takaice dai, an tsara nauyin SC4 don ya kasance cikin barci a kan kwamfutar tafi-da-gidanka ta yau da kullun kuma ya farka kawai a cikin wakilin AI mai sarrafa kansa da kuma yanayin sandbox a zahiri mai aiki yana son yin sulhu.
Kunna Dakin Gwaji: Bambancin Nazari-Kayan Aikin Gina Jiki
Kunshin da ya fi kowanne labari a cikin kamfen ɗin, mai taimaka wa ts, baya kai hari ga masu haɓakawa ko Shopify kwata-kwata. shigar.sh yana buɗewa da ƙofar da ke ba da damar wasan:
Rubutun ba ya yin komai sai dai idan an saita wani canjin yanayi wanda ya keɓance ga dandamalin nazarin malware. Idan ya kasance, nauyin da aka ɗauka yana sane da cewa yana gudana a cikin akwatin sandbox ɗin da ke akwai don fashewa da nazarin fakiti kamar wannan - kuma yana mayar da martani ga hari.
Da farko yana cire alamar OAuth ta GCP service-account daga uwar garken metadata na instance sannan ya cire ta. Sannan, ta amfani da wannan alamar, yana share ta. Jirgin sarrafa Kubernetes iyawa a kubernetes.default.svc:
- ya lissafa Matsala ta Cluster, Matsala ta Cluster, da Nodes;
- yana bincika fayiloli, sirri, da taswirar tsari a fadin tsarin kube, tsoho, kube-public, hayar kube-node-hayar, da kuma wurin suna na bincike;
- Matsalolin SelfSubjectAccessReview suna kira don tsara ainihin abin da aka yarda da asalin da aka sace ya yi.
A ƙarshe, yana tilasta sunayen akwatin Google Cloud Storage da aka gina daga lambar aikin GCP mai lamba (mai saka alama mai sauƙi-437603-p9) da lambar aikin, haɗuwar hasashen kamar *-ginawa, *-kayayyakin tarihi, kuma da yawa ciwon daji- prefixes (sakamakon cutar malysitis, fakitin malysis, duba cutar malysitisKowace lambar amsawa da jiki an yi rajista kuma an mayar da ita zuwa iri ɗaya tattara jules karshen.
Wannan ba kasafai ake samun irin wannan matsala ba ta hanyar amfani da kayan aiki na sarkar samar da kayayyaki da aka gina musamman don kai hari ga kayayyakin more rayuwa na masu karewa. Labarin murfin a duk lokacin yakin neman zabe - wanda guntu-guntu daga ciki suka bayyana a cikin abubuwan da aka biya yayin da sharhi ke nuna halayen a matsayin "Tsaro Research PoC ... rubutu ta hanyar amfani da git proxy token overscoped" - iri ɗaya ne da hujjar kai, ko dai abin da ake nufi da lokacin gudu shine Shopify monorepo ko sabar metadata ta ƙungiyar bincike.
Jadawalin Lokaci & Hijira
JulesJacker ba abu ne da ake yi sau ɗaya kawai ba. Aiki ne mai ɗorewa wanda ya tsira daga cire rajista ta hanyar canza sunansa kawai.
| A lokacin da | Event |
|---|---|
| Tsakiyar Afrilu 2026 | Fakitin farko sun bayyana a ƙarƙashin asalin mawallafin: TS-utility façade, environment da git-config exfiltration. |
| Farkon Mayu 2026 | An buga nau'in binciken Hypervisor da kernel-escape. |
| Tsakiya zuwa ƙarshen Mayu 2026 | Tsutsar rubutu ta SC3 ta bayyana tare da kayan aikin da aka yi niyya da Shopify da kuma google-labs-jules[bot] yin kwaikwayon mutum. SC4 yana gabatar da na'urorin lodawa masu ɓoyewa da kuma masu ɗaukar hoto masu ɓoyewa a AES. |
| Karshen Mayu 2026 | npm yana cire ainihin mawallafin; sunayen fakitin suna nufin masu riƙe madafun iko marasa komai. |
| Mako ɗaya | Mai aiki yana ƙaura zuwa wani tsari mai kama da juna kuma yana sake buga tsutsa, gami da bambancin kayan aikin bincike. |
Shigowar shine abin da masu kare ya kamata su zauna da shi. Rufe farkon tsarin bai kawo karshen yakin ba ko ma rage shi. Mai aiki ya riga ya shirya wani tsari mai layi daya wanda sunansa ya bambanta da na asali ta hanyar harafi ɗaya, kuma ya ci gaba da bugawa a cikin makon guda. Yayin da ake rubuta wannan rubutun, sabon tsarin ts-form-utils (sigogi 1.0.0 zuwa 1.1.0), ts-project-lint (1.0.0 da 1.1.0), da kuma waɗanda ba su da su mai taimaka wa ts (1.0.0) ya kasance mai sauƙin shigarwa.
Alamomin Yarjejeniya
An tabbatar da duk alamun da ke ƙasa a kan tushen fakitin.
| type | nuna alama | Notes |
|---|---|---|
| Cibiyar sadarwa (C2) | aaronstack[.]com/jules-collect | Maƙallin tattarawa guda ɗaya a kowane tsara; yana karɓar na'urar JSON telemetry da sassan tarball na base64-gzip. |
| Cibiyar sadarwa (wakilin SSRF) | http://git@192.168.0.1:8080 | Gaba don alamar wakili mai girman hoto da aka yi amfani da ita don isa ga ma'ajiyar ƙungiyar da aka yi niyya. |
| Cibiyar sadarwa (gajimare) | metadata.google.internal/computeMetadata/v1kubernetes.default.svcstorage.googleapis.com/storage/v1/b | Ana amfani da shi ne kawai ta hanyar nau'in kayan aikin bincike don satar alamun alama da kuma leken asiri na jirgin sama na Kubernetes. |
| Identity | google-labs-jules[bot]161369871+google-labs-jules[bot]@users.noreply.github.com | jabu commit An tura asalin marubucin zuwa manyan rassan waɗanda abin ya shafa. |
| fayil | lib/.perf.dat | An adana ɓoyayyen AES-256-CBC mai ɓoyewa; IV an adana shi a cikin byte 16 na farko kuma an sake gina maɓalli cikin sauƙi a cikin index.js. |
| fayil | SECURITY-POC.md | An sauke kuma commitan koma cikin ma'ajiyar waɗanda abin ya shafa da saƙon chore: update dependency cache. |
| fayil | scripts/postinstall.sh | An buɗe ƙofar $MALYSIS_ANALYSIS_ID; yana gano bambancin da ke tattare da nazarin-kayayyakin more rayuwa. |
| Ƙwararriya | os.hostname() cak na devbox / ubuntu-fc-uvm | Tsarin yanayi na Sandbox da AI kafin a buɗe da kuma aiwatar da faifan bayanai. |
| Ƙwararriya | .jules/ da kuma /app/.jules kundin adireshi yana karantawa | Bayyanannen manufa na yanayin wurin aiki na wakilin AI. |
| Ƙwararriya | sc1-, sc3-, sc4-, s0-vmm-recon | Lakabin matakin telemetry da mai aiki ya ayyana suna da amfani don ganowa da farauta. |
| Manufa ta gajimare | rare-signer-437603-p9malysis-* hasashen bokiti | Gano ayyukan GCP masu lamba da kuma tsarin lissafin bokitin ajiya da aka saka a cikin nau'in kayan aikin nazari. |
| Siffar fakitin | Façade na fakitin TS-utility ba tare da filin ajiya ba | Samfurin kamfen mai dorewa: fakitin amfani na TypeScript na karya tare da nauyin biyan kuɗi mara kyau da aka saka a ciki postinstall hooks ko kuma an haɗa shi da index.js. |




