JulesJacker: جعلی npm کیڑا Jules AI کی نقالی کرتا ہے۔

JulesJacker: ایک جعلی-PoC npm کیڑا جو گوگل کے Jules ایجنٹ کی نقالی کرتا ہے - اور اس کا تجزیہ کرنے والے سینڈ باکس کو آن کرتا ہے۔

TL؛ ڈاکٹر

ایک واحد npm آپریٹر نے جعلی TypeScript "یوٹیلٹی" پیکجوں کو شائع کرنے میں چھ ہفتے گزارے جیسے ts-form-utils, ts-project-lint، اور ts-enum-helper.

جب کہ پیکجز چھوٹے جائز نظر آنے والے توثیق مددگاروں کو بے نقاب کرتے ہیں، اصل پے لوڈ انسٹال کرنے پر یا پہلے ضرورت کے مطابق ہوتا ہے اور میزبان فنگر پرنٹنگ، GitHub تنظیم کی دریافت، ریپوزٹری کلوننگ، اور سورس کوڈ کے اخراج کو انجام دیتا ہے۔

میلویئر خاص طور پر اعلی قدر والی GitHub تنظیموں کو نشانہ بناتا ہے، بشمول متعدد Shopify ریپوزٹریز، پھر آرکائیوز اور قابل رسائی ذریعہ کے درختوں کو ایک مرکزی مجموعہ کے اختتامی نقطہ تک نکالتا ہے۔

سمجھوتہ ورک فلو کے حصے کے طور پر، پے لوڈ commitگوگل کی خود مختار کوڈنگ شناخت کی نقالی کرتے ہوئے sa فائل کو شکار کے ذخیروں میں واپس بھیجیں۔ google-labs-jules[bot].

ہم نے مہم کا سراغ لگایا — نام جولس جیکر - متعدد پبلشر اسکوپس اور کم از کم پانچ پے لوڈ جنریشنز میں، بشمول انکرپٹڈ اور سینڈ باکس سے آگاہ مختلف قسمیں۔

تازہ ترین ویرینٹ خاص طور پر میلویئر تجزیہ انفراسٹرکچر کو نشانہ بناتا ہے: یہ صرف تجزیہ کے ماحول کے اندر ہی متحرک ہوتا ہے، کلاؤڈ میٹا ڈیٹا سروس اکاؤنٹ ٹوکنز چراتا ہے، اور کوبرنیٹس کنٹرول ہوائی جہازوں اور کلاؤڈ اسٹوریج کی بالٹیوں کی تحقیقات کرتا ہے۔

تمام پے لوڈ جنریشنز میں مشترکہ بنیادی IOC مجموعہ اختتامی نقطہ ہے۔ aaronstack[.]com/jules-collect.

شدت: نازک۔

حملہ: یہ کیسے کام کرتا ہے۔

ہر JulesJacker پیکیج ایک ہی ٹیمپلیٹ کی پیروی کرتا ہے۔ دی package.json MIT لائسنس کے ساتھ ایک بے نظیر TypeScript مددگار کی تشہیر کرتا ہے اور کوئی منسلک ماخذ ذخیرہ نہیں ہے۔ دی index.js مٹھی بھر اصلی، کام کرنے والے فنکشنز برآمد کرتا ہے — ای میل ریجیکس، اینوم میپس، لِنٹ رول ٹیبلز — تاکہ ایک ڈویلپر جو حقیقت میں پیکج کو درآمد کرتا ہے قابلِ احترام رویہ دیکھے۔ بددیانتی کہیں اور رہتی ہے: ایک میں پوسٹ انسٹال ہک، یا کے نچلے حصے میں ایک بلاک میں index.js جو ماڈیول کی ضرورت کے لمحے پر عملدرآمد کرتا ہے۔

پے لوڈز واضح طور پر شمار شدہ داخلی مراحل کے ذریعے تیار ہوئے ہیں (آپریٹر اپنے ٹیلی میٹری واقعات کا لیبل لگاتا ہے sc1-, sc3-, sc4-، اور اسی طرح)، اور اس ارتقاء کو دیکھنا مہم کو سمجھنے کا سب سے واضح طریقہ ہے۔

 جنریشن 1-2: جاسوسی اور git-config چوری

ابتدائی پیکیجز سیدھے سادے انفوسٹیلرز تھے۔ انسٹال کرنے پر انہوں نے ماحولیاتی متغیرات، GitHub CLI ہوسٹ فائل، اور گلوبل گٹ کنفیگریشن (git config -global -list, git remote -v)، پھر بنڈل کو کلیکشن اینڈ پوائنٹ پر پوسٹ کیا۔ اس سے آپریٹر کے دستخط قائم ہوئے: ایک "TypeScript فارم کی توثیق کی افادیت" کور اسٹوری، ایک ڈومین کے لیے آؤٹ باؤنڈ بیکن، اور صارفین کے ڈیٹا کے بجائے ڈویلپر کی اسناد کا ذائقہ۔

جنریشن 3: ہائپر وائزر اور کرنل ایسکیپ پروبس

مہم کے وسط کے ایک ورژن نے بنیادی ڈھانچے کے حملوں میں سختی سے کام لیا۔ کنفیگریشن چوری کرنے کے بجائے، اس نے ریکن ہارنس پروبنگ چلائی AF_VSOCK ساکٹ، ورٹیو ایم ایم آئی او ریجنز، /dev/mem، اور دانا سخت کرنے والے جھنڈے، اور یہاں تک کہ کوشش کی گئی sysrq سے متحرک کرنل کریشز - ایک ورچوئل مشین یا کنٹینر سے باہر نکلنے کی کوششوں سے وابستہ سلوک۔ ٹیلی میٹری ٹیگز (s0-vmm-recon, s1-vmm-vsock-fuzz, s2-vmm-mmio, s3-kernel-probe) نے ارادہ واضح کر دیا۔ اس قسم کا واضح مقصد تھا۔ کلاؤڈ سینڈ باکس اور سرور لیس رنر ماحول - عارضی VM کی قسم جو ناقابل اعتماد کوڈ بناتی اور جانچتی ہے۔

جنریشن 3 (SC3): کراس ریپو رائٹ ورم

مہم کا مرکز کشش ثقل خود پروپیگنڈہ کرنے والا ریپو چور بن گیا۔ انسٹال ہونے پر، پے لوڈ پانچ مراحل کا وقتی ترتیب چلاتا ہے:

  • اسٹیج 0 (~100 ms): میزبان کو فنگر پرنٹ کریں — میزبان نام، صارف کی معلومات، گٹ شناخت۔
  • اسٹیج 1 (~3 s): معائنہ کرکے اس بات کا تعین کریں کہ متاثرہ کس تنظیم سے تعلق رکھتا ہے۔ git remote -v، پھر ایک ہارڈ کوڈ تلاش کریں۔ ORG_CONFIG کے ساتھ ٹیبل اور ٹیسٹ ریپو رسائی git ls-ریموٹ — پر حملہ آور کے زیر کنٹرول SSRF پراکسی کے ذریعے روٹ کیا گیا۔ http://git@192.168.0.1:8080.
  • اسٹیج 2 (~10 سیکنڈ): گٹ کلون ٹارگٹ لسٹ میں ہر قابل رسائی ذخیرہ، درخت کو ٹربال اور جیزپ کریں، اسے بیس 64-انکوڈ کریں، اور اس کا ٹکڑا نکالیں۔
  • اسٹیج 3 (~45 s): "رسائی کا ثبوت" — ایک قابل تحریر ریپو کلون کریں، SECURITY-POC.md نامی فائل ڈراپ کریں، اور commit اسے مصنف نے google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> پر سیٹ کیا ہے اور پیغام کا کام: انحصار کیش کو اپ ڈیٹ کریں، پھر متاثرہ کی مین لائن برانچ پر جائیں۔

ہارڈ کوڈ شدہ ہدف کی فہرست عام نہیں ہے۔ اس کی تعداد تیس سے زیادہ ہے۔ Shopify نام کے ذخیرے - Shopify/shopify, Shopify/شناخت, Shopify/بلنگ, Shopify/vault, Shopify/راز, Shopify/انفراسٹرکچر, Shopify/.github، اور بہت کچھ — ایک ٹیسٹ تنظیم کے ساتھ، ایرون اسٹیک بارنس، کہ آپریٹر کنٹرول کرتا دکھائی دیتا ہے اور لکھنے کے ہدف کے طور پر استعمال کرتا ہے۔

جنریشن 4 (SC4): انکرپٹڈ اور گیٹڈ

جدید ترین ڈویلپر کا سامنا کرنے والا ویرینٹ SC3 کیڑے کے اوپر چوری کی دو تہوں کا اضافہ کرتا ہے۔

سب سے پہلے، پے لوڈ اب سادہ متن کے طور پر نہیں بھیجتا ہے۔ اصل منطق AES-256-CBC-انکرپٹڈ بلاب میں بیٹھی ہے، lib/.perf.datاس کے پہلے سولہ بائٹس میں IV کے ساتھ۔ لوڈر اندر index.js ڈکرپشن کلید کو مربوط سٹرنگ کے ٹکڑوں سے دوبارہ تشکیل دیتا ہے، بلاب کو ڈیکرپٹ کرتا ہے، اور اسے اس کے ساتھ چلاتا ہے نیا فنکشن (). یہاں تک کہ ماڈیول کے نام بھی جامد اسکینرز کو چکما دینے کے لیے تقسیم کیے گئے ہیں۔ درکار ہے('crypt' + 'o'), درکار ہے ('f' + 's').

دوسرا، یہ میزبان گیٹڈ ہے۔ ایک قسم صرف ڈکرپٹ اور چلتا ہے جب os.hostname() مساوات devbox or ubuntu-fc-uvm (ایک فائر کریکر مائیکرو وی ایم ڈیفالٹ) یا سبسٹرنگ پر مشتمل ہے۔ devbox. کی موجودگی پر ایک اور دروازے .jules/ ورکنگ ڈائرکٹری:

دوسرے الفاظ میں، SC4 پے لوڈ کو ایک عام ڈویلپر کے لیپ ٹاپ پر غیر فعال رہنے اور صرف خودکار AI-ایجنٹ کے اندر جاگنے کے لیے ڈیزائن کیا گیا ہے اور سینڈ باکس کے ماحول آپریٹر دراصل سمجھوتہ کرنا چاہتا ہے۔

لیب کو آن کرنا: تجزیہ-انفراسٹرکچر ویرینٹ

مہم کا سب سے نیا پیکج، ts-enum-helper، ڈویلپرز یا Shopify پر بالکل بھی حملہ نہیں کرتا ہے۔ اس کا postinstall.sh ایک گیٹ کے ساتھ کھلتا ہے جو گیم کو دور کرتا ہے:

اسکرپٹ اس وقت تک کچھ نہیں کرتا جب تک کہ میلویئر تجزیہ پلیٹ فارم کے لیے مخصوص ماحولیاتی متغیر سیٹ نہ ہو۔ جب ایسا ہوتا ہے، پے لوڈ کو معلوم ہوتا ہے کہ یہ سینڈ باکس کے اندر چل رہا ہے جو اس طرح کے پیکجوں کو دھماکہ کرنے اور مطالعہ کرنے کے لیے موجود ہے - اور یہ جوابی حملے کرتا ہے۔

یہ سب سے پہلے مثال کے میٹا ڈیٹا سرور سے GCP سروس اکاؤنٹ OAuth ٹوکن کھینچتا ہے اور اسے نکالتا ہے۔ پھر، اس ٹوکن کا استعمال کرتے ہوئے، یہ جھاڑو دیتا ہے Kubernetes کنٹرول طیارہ پر قابل رسائی kubernetes.default.svc:

  • فہرست ClusterRoleBindings، ClusterRoles، اور Nodes؛
  • پروبس پوڈز، راز، اور ترتیب کے نقشے بھر میں کیوب سسٹم, پہلے سے طے شدہ, kube-عوامی, kube-node-lease، اور تجزیہ نام کی جگہ؛
  • Issue SelfSubjectAccessReview کالز بالکل وہی نقشہ بنانے کے لیے جو چوری شدہ شناخت کو کرنے کی اجازت ہے۔

آخر کار یہ ایک ہارڈ کوڈڈ GCP پروجیکٹ ID (rare-signer-437603-p9) اور پروجیکٹ نمبر، اندازہ لگانے والے امتزاج جیسے *-بناتی ہے۔, * - نمونے، اور کئی خرابی سابقہ ​​(malysis کے نتائج, malysis کے پیکجز, malysis-اسکین)۔ ہر جوابی کوڈ اور باڈی کو لاگ کیا جاتا ہے اور اسی پر واپس پوسٹ کیا جاتا ہے۔ jules-جمع اختتامی نقطہ

یہ سپلائی چین پے لوڈ کا غیر معمولی معاملہ ہے جو خاص طور پر محافظوں کے اپنے بنیادی ڈھانچے پر حملہ کرنے کے لیے بنایا گیا ہے۔ پوری مہم کی کور اسٹوری — جس کے ٹکڑے پے لوڈز کے اندر تبصروں کے طور پر ظاہر ہوتے ہیں جو رویے کو "سیکیورٹی ریسرچ پی او سی … کراس ریپو رائٹ بذریعہ اوورسکوپڈ گٹ پراکسی ٹوکن" کے طور پر پیش کرتے ہیں — وہی خود جواز ہے، چاہے رن ٹائم کا ہدف Shopify monorepo ہو یا تجزیہ کلسٹر کا میٹا ڈیٹا سرور۔

ٹائم لائن اور دائرہ کار منتقلی

جولس جیکر ایک شاٹ ڈراپ نہیں ہے۔ یہ ایک مستقل آپریشن ہے جو محض نام تبدیل کرکے رجسٹری کے خاتمے سے بچ گیا۔

جب واقعہ
وسط اپریل 2026 پہلے پیکیج اصل پبلشر کے دائرہ کار کے تحت ظاہر ہوتے ہیں: TS-utility façade، ماحولیات اور git-config exfiltration۔
مئی 2026 کے اوائل میں Hypervisor اور kernel-escape reconnaissance متغیر شائع ہوا۔
مئی 2026 کے وسط سے آخر تک SC3 کراس ریپو رائٹ ورم شاپائف ٹارگٹڈ پے لوڈز کے ساتھ ظاہر ہوتا ہے اور google-labs-jules[bot] نقالی SC4 AES-انکرپٹڈ اور ہوسٹ گیٹڈ لوڈرز متعارف کراتا ہے۔
مئی 2026 کے آخر میں npm اصل پبلشر کے دائرہ کار کو ہٹاتا ہے۔ پیکیج کے نام خالی سیکیورٹی والے پلیس ہولڈرز کو حل کرتے ہیں۔
اسی ہفتے آپریٹر قریب قریب ایک جیسے نظر آنے والے دائرہ کی طرف ہجرت کرتا ہے اور کیڑے کو دوبارہ شائع کرتا ہے، بشمول تجزیہ-انفراسٹرکچر مختلف۔

ہجرت وہ حصہ ہے جس کے محافظوں کو بیٹھنا چاہئے۔ پہلے دائرہ کار کو ختم کرنے سے مہم ختم نہیں ہوئی اور نہ ہی اسے سست کر دیا گیا۔ آپریٹر نے پہلے ہی ایک متوازی دائرہ کار کو اسٹیج کیا تھا جس کا نام ایک ہی کردار کے ذریعہ اصل سے مختلف ہے، اور اسی ہفتے کے اندر اشاعت جاری رکھی۔ اس تحریر کے مطابق، نیا دائرہ کار ts-form-utils (ورژن 1.0.0 سے 1.1.0 تک)، اس کا ts-project-lint (1.0.0 اور 1.1.0)، اور اسٹینڈ لون ts-enum-helper (1.0.0) قابل انسٹال رہتا ہے۔

سمجھوتہ کے اشارے

نیچے دیے گئے تمام اشارے پیکیج سورس کے خلاف تصدیق شدہ تھے۔

قسم اشارے نوٹس
نیٹ ورک (C2) aaronstack[.]com/jules-collect ہر نسل میں واحد مجموعہ اختتامی نقطہ؛ JSON ٹیلی میٹری اور base64-gzip ریپوزٹری ٹربال چنکس وصول کرتا ہے۔
نیٹ ورک (SSRF پراکسی) http://git@192.168.0.1:8080 ٹارگٹ آرگنائزیشن کے ذخیروں تک پہنچنے کے لیے استعمال ہونے والے اوورسکوپڈ گٹ پراکسی ٹوکن کے لیے سامنے۔
نیٹ ورک (بادل) metadata.google.internal/computeMetadata/v1
kubernetes.default.svc
storage.googleapis.com/storage/v1/b
ٹوکن چوری اور Kubernetes کنٹرول پلین جاسوسی کے لیے صرف تجزیہ-انفراسٹرکچر ویرینٹ کے ذریعے استعمال کیا جاتا ہے۔
شناختی google-labs-jules[bot]
161369871+google-labs-jules[bot]@users.noreply.github.com
بھول گیا commit مصنف کی شناخت متاثرہ مین لائن شاخوں میں دھکیل دی گئی۔
فائل lib/.perf.dat AES-256-CBC-انکرپٹڈ پے لوڈ بلاب؛ IV کو پہلے 16 بائٹس میں محفوظ کیا گیا اور کلید کو متحرک طور پر دوبارہ تشکیل دیا گیا۔ index.js.
فائل SECURITY-POC.md گرا دیا اور commitپیغام کے ساتھ شکار کے ذخیروں میں واپس آ گیا۔ chore: update dependency cache.
فائل scripts/postinstall.sh پر گیٹڈ $MALYSIS_ANALYSIS_ID; تجزیہ-انفراسٹرکچر-ٹارگٹنگ ویرینٹ کی شناخت کرتا ہے۔
طرز عمل os.hostname() کے لئے چیک کرتا ہے devbox / ubuntu-fc-uvm پے لوڈ ڈکرپشن اور ایگزیکیوشن سے پہلے سینڈ باکس اور AI-ایجنٹ ماحول گیٹنگ۔
طرز عمل .jules/ اور /app/.jules ڈائریکٹری پڑھتی ہے۔ AI-ایجنٹ کے کام کی جگہ کے ماحول کو واضح ہدف بنانا۔
طرز عمل sc1-, sc3-, sc4-, s0-vmm-recon آپریٹر کے ذریعے طے شدہ ٹیلی میٹری اسٹیج لیبلز کا پتہ لگانے اور شکار کے لیے مفید ہے۔
بادل کا ہدف rare-signer-437603-p9
malysis-* بالٹی کے اندازے
ہارڈ کوڈڈ GCP پروجیکٹ شناخت کنندگان اور سٹوریج-بکٹ گنتی کے نمونے تجزیہ-انفراسٹرکچر ویرینٹ میں شامل ہیں۔
پیکیج کی شکل TS-یوٹیلیٹی پیکیج کا اگواڑا جس کا کوئی ذخیرہ خانہ نہیں ہے۔ مسلسل مہم کا سانچہ: جعلی TypeScript یوٹیلیٹی پیکجز جس میں بدنیتی پر مبنی پے لوڈز شامل ہیں postinstall hooks یا اس کے ساتھ منسلک index.js.
sca-tools-software-composition-analysis-tools
اپنے سافٹ ویئر کے خطرات کو ترجیح دیں، تدارک کریں اور محفوظ کریں۔
اپنا مفت اکاؤنٹ حاصل کریں۔
کوئی کریڈٹ کارڈ کی ضرورت نہیں ہے.

اپنے سافٹ ویئر ڈویلپمنٹ اور ڈیلیوری کو محفوظ بنائیں

Xygeni پروڈکٹ سویٹ کے ساتھ