JulesJacker: Soxta npm qurti Jules AI ni taqlid qiladi

JulesJacker: Google'ning Jules agenti nomidan ishlaydigan va uni tahlil qiluvchi sinov muhitini yoqadigan soxta PoC npm qurti.

TP; DR

Bitta npm operatori olti hafta davomida soxta TypeScript “yordamchi” paketlarini nashr etishga sarfladi, masalan ts-form-utils, ts-project-lintva ts-enum-helper.

Paketlar kichik qonuniy ko'rinishga ega tasdiqlash yordamchilarini namoyish etsa-da, haqiqiy yuklama o'rnatish yoki birinchi talab qilishda ishga tushadi va xost barmoq izlarini olish, GitHub tashkilotini topish, omborni klonlash va manba kodini eksfiltratsiyalashni amalga oshiradi.

Zararli dastur, xususan, bir nechta yuqori qiymatli GitHub tashkilotlarini nishonga oladi Shopify omborlarni, keyin arxivlaydi va markazlashtirilgan yig'ish nuqtasiga kirish mumkin bo'lgan manba daraxtlarini chiqaradi.

Kompromiss ish jarayonining bir qismi sifatida, foydali yuk commitsa faylini Google’ning avtonom kodlash identifikatorini taqlid qilib, jabrlanuvchilar omborlariga qaytaradi google-labs-jules[bot].

Biz kampaniyani kuzatib bordik — nomlangan JulesJacker — bir nechta nashriyot doiralari va kamida beshta foydali yuk avlodlari, jumladan, shifrlangan va sinov muhitidan xabardor variantlar.

Eng yangi variant zararli dasturlarni tahlil qilish infratuzilmasini maxsus nishonga oladi: u faqat tahlil muhitida faollashadi, bulut metama'lumotlari xizmat hisob qaydnomasi tokenlarini o'g'irlaydi va Kubernetes boshqaruv tekisliklari va bulutli saqlash chelaklarini tekshiradi.

Barcha foydali yuk avlodlari o'rtasida taqsimlangan asosiy IOC yig'ishning so'nggi nuqtasidir aaronstack[.]com/jules-collect.

Jiddiylik: juda muhim.

Hujum: u qanday ishlaydi

Har bir JulesJacker paketi bir xil shablonga amal qiladi. paket.json MIT litsenziyasiga ega va bog'langan manba ombori bo'lmagan xavfsiz TypeScript yordamchisini reklama qiladi. indeks.js bir nechta haqiqiy, ishlaydigan funksiyalarni — elektron pochta regexlari, enum xaritalari, lint qoida jadvallarini — eksport qiladi, shunda paketni aslida import qilgan ishlab chiquvchi ishonchli xatti-harakatlarni ko'radi. Yovuzlik boshqa joyda: ichida postinstall ilgakda yoki pastki qismidagi blokda indeks.js modul talab qilingan paytda bajariladi.

Yuklar aniq raqamlangan ichki bosqichlar orqali rivojlandi (operator o'zining telemetriya hodisalarini belgilaydi) sc1-, sc3-, sc4-va hokazo) va evolyutsiya kampaniyani tushunishning eng aniq yo'li ekanligini kuzatish.

 1–2-avlod: razvedka va git-config o'g'irligi

Eng dastlabki paketlar oddiy infostealers edi. O'rnatishda ular muhit o'zgaruvchilarini, GitHub CLI hosts faylini va global git konfiguratsiyasini (git config –global –list, git masofaviy -v), keyin paketni to'plamning oxirgi nuqtasiga POST qildi. Bu operator imzosini o'rnatdi: “TypeScript formasini tasdiqlash dasturlari” muqova hikoyasi, bitta domenga chiquvchi mayoq va iste'molchi ma'lumotlari o'rniga ishlab chiquvchi ma'lumotlariga bo'lgan qiziqish.

3-avlod: gipervizor va yadro qochish zondlari

Kampaniya o'rtasidagi versiyalardan biri infratuzilma hujumlariga jiddiy yondashdi. Konfiguratsiyani o'g'irlash o'rniga, u razvedka jabduqlarini tekshirishni amalga oshirdi. AF_VSOCK rozetkalar, virtio MMIO mintaqalari, /dev/mem, va yadroni qattiqlashtirish bayroqlari va hatto sysrq tomonidan ishga tushirilgan yadro ishdan chiqishiga urinishlar — virtual mashina yoki konteynerdan chiqishga urinishlar bilan bog'liq xatti-harakatlar. Telemetriya teglari (s0-vmm-qayta ko'rib chiqish, s1-vmm-vsock-fuzz, s2-vmm-mmio, s3-yadro-zondi) niyatni aniq ko'rsatdi. Bu variant aniq maqsadga qaratilgan edi bulutli sinov muhiti va serversiz ishga tushirish muhitlari — ishonchsiz kodni yaratadigan va sinovdan o'tkazadigan vaqtinchalik VM turi.

3-avlod (SC3): o'zaro repo yozish qurti

Kampaniyaning og'irlik markazi o'z-o'zini tarqatuvchi repo o'g'risiga aylandi. O'rnatishda foydali yuk besh bosqichli vaqt ketma-ketligini bajaradi:

  • Stend 0 (~100 ms): xostni barmoq izi bilan qidirish — xost nomi, foydalanuvchi ma'lumotlari, git identifikatori.
  • Stend 1 (~3 s): jabrlanuvchi qaysi tashkilotga tegishli ekanligini tekshirish orqali aniqlang git masofaviy -v, keyin qattiq kodlangan faylni qidiring ORG_CONFIG jadval va sinov reposiga kirish git ls-remote — hujumchi tomonidan boshqariladigan SSRF proksi-serveri orqali yo'naltirilgan http://git@192.168.0.1:8080.
  • Stend 2 (~10 soniya): git klon maqsadli ro'yxatdagi har bir mavjud omborni tarball va gzip yordamida daraxtga joylashtiring, uni base64-kodlang va uni chunk-exfiltratsiya qiling.
  • Stend 3 (~45 s): “kirishni tasdiqlash” — yoziladigan omborni klonlash, SECURITY-POC.md nomli faylni tashlash va commit uni muallif google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> ga o'rnatgan holda va xabarning asosiy vazifasi: bog'liqlik keshini yangilash, keyin jabrlanuvchining asosiy liniyasiga yuborish.

Qattiq kodlangan maqsadli ro'yxat umumiy emas. Unda o'ttizdan ortiq ro'yxat keltirilgan. Shopify nomli omborlar — Shopify/shopify, Shopify/identifikatsiya, Shopify/billing, Shopify/ombor, Shopify/sirlar, Shopify/infratuzilma, Shopify/.githubva yana ko'p narsalar — sinov tashkiloti bilan bir qatorda, AaronStackBarnes, operator boshqaradigan va yozish maqsadi sifatida foydalanadigan ko'rinadi.

4-avlod (SC4): shifrlangan va gate qilingan

Ishlab chiquvchilarga mo'ljallangan eng yangi variant SC3 chuvalchasining ustiga ikki qavatli evakuatsiya qo'shadi.

Birinchidan, foydali yuk endi oddiy matn sifatida jo'natilmagan. Haqiqiy mantiq AES-256-CBC tomonidan shifrlangan blokda joylashgan, lib/.perf.dat fayli, IV birinchi o'n olti baytda. Yuklovchi ichkarida indeks.js birlashtirilgan satr parchalaridan shifrni ochish kalitini qayta tiklaydi, blobni shifrini ochadi va uni ishga tushiradi yangi funksiya()Hatto modul nomlari ham statik skanerlardan qochish uchun bo'lingan — talab qilish('crypt' + 'o'), talab qilish('f' + 's').

Ikkinchidan, u xost tomonidan boshqariladi. Bitta variant faqat qachon shifrni ochadi va ishga tushadi os.hostname() tengdir ishlab chiquvchi qutisi or ubuntu-fc-uvm (Firecracker microVM standarti) yoki pastki satrni o'z ichiga oladi ishlab chiquvchi qutisiYana bir darvoza borligida .jules/ ishchi katalog:

Boshqacha qilib aytganda, SC4 yuklamasi oddiy ishlab chiquvchining noutbukida uxlab qolish va faqat avtomatlashtirilgan AI-agent ichida uyg'onish uchun mo'ljallangan va sandbox muhitlari operator aslida murosaga kelishni xohlaydi.

Laboratoriyani yoqish: tahlil-infratuzilma varianti

Kampaniyadagi eng yangi to'plam, ts-enum-yordamchisi, umuman ishlab chiquvchilarga yoki Shopify’ga hujum qilmaydi. Uning postinstall.sh o'yinni boshqa tomonga uzatadigan darvoza bilan ochiladi:

Skript zararli dasturlarni tahlil qilish platformasiga xos muhit o'zgaruvchisi o'rnatilmaguncha hech narsa qilmaydi. Agar shunday bo'lsa, foydali yuklama xuddi shu kabi paketlarni portlatish va o'rganish uchun mavjud bo'lgan sinov muhitida ishlayotganini biladi va qarshi hujumlarga uchraydi.

Avval u GCP xizmat hisobi OAuth tokenini misol metama'lumotlar serveridan oladi va uni filtrlaydi. Keyin, ushbu tokendan foydalanib, uni supurib tashlaydi. Kubernetes boshqaruv tekisligi manzilida erishish mumkin kubernetes.default.svc:

  • ClusterRoleBindings, ClusterRoles va Nodes ro'yxatini ko'rsatadi;
  • podlarni, sirlarni va konfiguratsiya xaritalarini tekshiradi kube-tizim, default, kube-ommaviy, kube-tugun-ijarava tahlil nom maydoni;
  • o'g'irlangan identifikator nima qilishga ruxsat berilganligini aniq xaritalash uchun SelfSubjectAccessReview chaqiruvlari bilan bog'liq muammolar.

Nihoyat, u qattiq kodlangan GCP loyiha identifikatoridan yaratilgan Google Cloud Storage chelak nomlarini qo'pol ravishda majburlaydi (noyob-imzolovchi-437603-p9) va loyiha raqami, kabi kombinatsiyalarni taxmin qilish *-qurilmalar, *-artefaktlar, va bir nechta malignizatsiya- prefikslar (tahlil natijalari, malysis-paketlari, malizis tekshiruvlari). Har bir javob kodi va tanasi qayd etiladi va bir xil joyga qaytariladi jules-collect oxirgi nuqta.

Bu himoyachilarning o'z infratuzilmasiga hujum qilish uchun maxsus yaratilgan ta'minot zanjiri yuklamasining noyob holati. Butun kampaniya bo'ylab muqova hikoyasi - uning qismlari yuklamalar ichida xatti-harakatni "Xavfsizlik tadqiqotlari PoC ... haddan tashqari kengaytirilgan git proxy token orqali o'zaro repo yozish" deb ta'riflovchi sharhlar sifatida paydo bo'ladi - ish vaqti maqsadi Shopify monorepo yoki tahlil klasterining metama'lumotlar serveri bo'lishidan qat'i nazar, bir xil o'zini oqlashdir.

Vaqt jadvali va ko'lam migratsiyasi

JulesJacker bir martalik ish emas. Bu shunchaki nomini o'zgartirish orqali ro'yxatga olish kitobi olib tashlanganidan keyin ham omon qolgan uzoq muddatli operatsiya.

Qachon hodisa
2026 yil aprel oyining o'rtalarida Birinchi paketlar asl nashriyotchi doirasida paydo bo'ladi: TS-utility fasade, environment va git-config exfiltration.
2026 yil may oyi boshi Gipervizor va yadrodan qochish razvedka varianti nashr etildi.
2026-yil may oyining o'rtalaridan oxirigacha Shopify-ga yo'naltirilgan yuklamalar bilan birga SC3 o'zaro repo yozish qurti paydo bo'ladi va google-labs-jules[bot] taqlid qilish. SC4 AES-shifrlangan va xost-gateed yuklovchilarini taqdim etadi.
2026 yil may oyining oxiri npm asl nashriyot doirasini olib tashlaydi; paket nomlari bo'sh xavfsizlikni ta'minlovchi o'rinbosarlarga o'rnatiladi.
Xuddi shu hafta Operator deyarli bir xil ko'rinishga ega bo'lgan ko'lamga o'tadi va tahlil infratuzilmasi variantini o'z ichiga olgan holda, chuvalchangni qayta nashr etadi.

Himoyachilar migratsiya bilan shug'ullanishlari kerak. Birinchi optik ko'zguning olib tashlanishi kampaniyani tugatmadi yoki hatto uni sekinlashtirmadi. Operator allaqachon nomi asl nusxadan bitta belgi bilan farq qiladigan parallel optik ko'zgu yaratgan edi va shu hafta ichida nashr etishni davom ettirdi. Ushbu yozuv paytida yangi optik ko'zgu... ts-form-utils (1.0.0 dan 1.1.0 gacha bo'lgan versiyalar), uning ts-loyiha-lint (1.0.0 va 1.1.0) va mustaqil ts-enum-yordamchisi (1.0.0) o'rnatilishi mumkinligicha qoladi.

Murosaga kelish ko'rsatkichlari

Quyidagi barcha ko'rsatkichlar paket manbasiga nisbatan tasdiqlandi.

Shrift Ko'rsatkichlar Eslatmalar
Tarmoq (C2) aaronstack[.]com/jules-collect Har bir avlod uchun bitta to'plamning oxirgi nuqtasi; JSON telemetriyasi va base64-gzip omborining tarball qismlarini qabul qiladi.
Tarmoq (SSRF proksi-serveri) http://git@192.168.0.1:8080 Maqsadli tashkilot omborlariga yetib borish uchun ishlatiladigan keng ko'lamli git proksi tokenining old qismi.
Tarmoq (bulut) metadata.google.internal/computeMetadata/v1
kubernetes.default.svc
storage.googleapis.com/storage/v1/b
Faqat tahlil-infratuzilma varianti tomonidan tokenlarni o'g'irlash va Kubernetes boshqaruv tekisligini razvedka qilish uchun ishlatiladi.
Identity google-labs-jules[bot]
161369871+google-labs-jules[bot]@users.noreply.github.com
Soxtalashtirilgan commit muallifning shaxsi jabrlanuvchining asosiy tarmoqlariga kiritildi.
Fayl lib/.perf.dat AES-256-CBC shifrlangan foydali yuk bloki; IV dastlabki 16 baytda saqlanadi va kalit dinamik ravishda qayta tiklanadi. index.js.
Fayl SECURITY-POC.md Tashlab yuborildi va commitxabar bilan jabrlanuvchilar omborlariga qaytarildi chore: update dependency cache.
Fayl scripts/postinstall.sh Darvozali $MALYSIS_ANALYSIS_ID; tahlil-infratuzilma-nishonlash variantini aniqlaydi.
Behavioral os.hostname() tekshiruvlar uchun devbox / ubuntu-fc-uvm Yukni shifrlash va bajarishdan oldin sinov muhiti va AI-agent muhitini sozlash.
Behavioral .jules/ va /app/.jules katalog o'qishlari Sun'iy intellekt agenti ish maydoni muhitlarini aniq nishonga olish.
Behavioral sc1-, sc3-, sc4-, s0-vmm-recon Operator tomonidan belgilangan telemetriya bosqichi yorliqlari aniqlash va ovlash uchun foydalidir.
Bulutli maqsad rare-signer-437603-p9
malysis-* chelak taxminlari
Tahlil-infratuzilma variantiga kiritilgan qattiq kodlangan GCP loyiha identifikatorlari va saqlash-chelak ro'yxatlash naqshlari.
Paket shakli TS-yordamchi paketining jabhasi, ombor maydonisiz Izchil kampaniya shabloni: zararli yuklamalar o'rnatilgan soxta TypeScript yordamchi paketlari postinstall hooks yoki qo'shilgan index.js.
sca-vositalari-dasturiy ta'minot-kompozitsiya-tahlil-vositalari
Dasturiy ta'minot xavflaringizni ustuvorlashtiring, bartaraf eting va himoya qiling
Bepul hisobingizni oling.
Kredit karta talab qilinmaydi.

Dasturiy ta'minotingizni ishlab chiqish va yetkazib berishni ta'minlang

Xygeni mahsulot to'plami bilan