تخطى إلى المحتوى الرئيسي

اختراق حزمة jscrambler npm: برمجية Rust لسرقة المعلومات تستهدف المطورين

فريق جلتش
منذ ساعتين0 مشاهدة5 دقائق
اختراق حزمة jscrambler npm: برمجية Rust لسرقة المعلومات تستهدف المطورين

اختراق حزمة jscrambler npm 8.14.0 يزرع برمجية Rust لسرقة بيانات المطورين الحساسة، مستهدفاً مفاتيح السحابة ومحافظ العملات وأدوات الذكاء الاصطناعي. هذا الهجوم يسلط الضوء على خطورة استهداف سلاسل التوريد البرمجية.

مقدمة تحليلية

في 11 يوليو 2026، تعرضت حزمة npm الشائعة jscrambler لإصدار مخترق، النسخة 8.14.0، التي قامت بتثبيت وتشغيل برمجية خبيثة لسرقة المعلومات مبنية بلغة Rust فور تنزيلها. اكتشف فريق Socket التهديد في غضون ست دقائق فقط من نشر الحزمة، ما يؤكد سرعة التوزيع والتأهب المبكر لمثل هذه الهجمات على سلاسل التوريد. هذا الهجوم ليس مجرد حادثة منعزلة، بل يمثل تصعيداً في استهداف بيئات المطورين الحساسة، مستغلاً قنوات التوزيع الموثوقة لتنفيذ حمولات معقدة.

التحليل التقني

يتمركز الهجوم حول حزمة jscrambler npm package، (وهي أداة حماية تطبيقات JavaScript شائعة تُستخدم في مرحلة البناء)، حيث احتوت النسخة 8.14.0 الخبيثة على خطاف ما قبل التثبيت (preinstall hook). هذا الخطاف يقوم بإسقاط وتشغيل ثنائي أصلي (native binary) مصمم لكل من أنظمة التشغيل Windows وmacOS وLinux. التحليل التفصيلي، الذي أجرته شركات مثل StepSecurity وSafeDep، يكشف أن ملف intro.js، الذي يبلغ حجمه 7.8 ميجابايت ضمن الحزمة المنشورة، ليس ملف JavaScript كما يوحي اسمه، بل هو حاوية مضغوطة تحتوي على الثنائيات الخبيثة. يتم تحديد الثنائي المناسب لنظام التشغيل المضيف، كتابته في دليل النظام المؤقت باسم عشوائي، ومن ثم تشغيله بشكل منفصل مع إخفاء مخرجاته. الأهم هو أن هذه الملفات الخبيثة لم تكن موجودة في الكود المصدري العام لمشروع jscrambler على GitHub، مما يشير إلى اختراق مباشر لحساب أحد المطورين أو لخط أنابيب البناء والتوزيع.

البرمجية الخبيثة هي أداة سرقة معلومات (infostealer) مكتوبة بلغة Rust، وتستهدف مجموعة واسعة من البيانات الحساسة للمطورين، بما في ذلك:

  • مفاتيح الاعتماد السحابية من AWS وAzure وGoogle Cloud، بما في ذلك نقاط نهاية بيانات التعريف المستخدمة بواسطة مشغلات CI.
  • محافظ العملات المشفرة وعبارات الاسترداد (seed phrases) من MetaMask وPhantom وExodus.
  • خزائن كلمات المرور من Bitwarden و1Password.
  • كلمات المرور وملفات تعريف الارتباط المخزنة في المتصفح.
  • جلسات Discord وSlack وTelegram وSteam.
  • ملفات التكوين لأدوات ترميز الذكاء الاصطناعي مثل Claude Desktop وCursor وWindsurf وVS Code وZed، والتي غالبًا ما تحتوي على مفاتيح API وبيانات اعتماد خادم Model Context Protocol.

إلى جانب السرقة، تُظهر البرمجية الخبيثة قدرات متقدمة على البقاء والاختراق. على أنظمة Linux، تستخدم مكتبة BPF الخاصة بالنواة (kernel's BPF library) لتحميل برنامج eBPF مباشرة في النواة من الذاكرة، ما يمنحها موطئ قدم عميقاً في النظام. في Windows وmacOS، تضيف البرمجية آليات إخفاء ومقاومة للتحليل (anti-debugging checks)، وتؤسس آليات استمرارية للبقاء بعد إعادة التشغيل: مهمة مجدولة مخفية في Windows يتم إعادة تشغيلها كل دقيقة، ووكيل LaunchAgent في macOS يُعاد تحميله عند تسجيل الدخول. تم اكتشاف اتصالات البرمجية الخبيثة لخوادم التحكم والسيطرة (C2) على العناوين 37.27.122.124 و57.128.246.79، بالإضافة إلى استخدام بنية Tor التحتية، وفقًا لرصد StepSecurity.

في تحديث لاحق، ربطت JFrog الحمولة الخبيثة ببرمجية IronWorm، (وهي برمجية سرقة معلومات أخرى مكتوبة بلغة Rust وتم توثيقها سابقاً)، مشيرةً إلى أنها من سلالة Shai-Hulud. الأهم هو اكتشاف JFrog لروتين الانتشار الذاتي داخل IronWorm: تقوم البرمجية بالبحث عن رموز npm (npm tokens) في متغيرات البيئة والملفات مثل .npmrc، وتتحقق منها مقابل السجل، ثم تختار الحزم ذات التنزيلات العالية، وتحقن برنامج نصي خبيث preinstall باسم setup.mjs في ملفاتها المضغوطة (tarballs)، وتنشر الإصدارات المصابة مباشرة إلى registry.npmjs.org باستخدام طلب HTTP PUT خام، متجاوزة عميل npm الرسمي. هذا يعني أن البرمجية لا تكتفي بالسرقة، بل تسعى لتوسيع نطاق هجوم سلسلة التوريد من الداخل.

السياق وتأثير السوق

هذا الهجوم على jscrambler، رغم أن حجم تنزيلاته الأسبوعية (حوالي 15,800) أقل بكثير من الحزم الكبرى التي تعرضت للاختراق في الماضي (مثل chalk أو debug التي تجاوزت المليارات)، إلا أنه أكثر دهاءً وخطورة. البرمجية تستهدف بيئات البناء (build environments) وأنظمة التكامل المستمر (CI runners)، وهي الأماكن التي تحتوي على مفاتيح السحابة، ورموز النشر، والوصول إلى الشيفرة المصدرية. هذا يعني أن المهاجمين لم يسعوا للانتشار الواسع بقدر ما سعوا للوصول العميق والمحدد. نقطة التوقيت حادة: npm 12، الذي تم إصداره قبل ثلاثة أيام فقط من الهجوم (في 8 يوليو 2026)، يعطّل بشكل افتراضي نصوص التثبيت (install scripts). هذا يعني أن الهجوم كان يستهدف بشكل خاص العملاء الذين يستخدمون إصدارات npm الأقدم التي لا تزال تشغل هذه النصوص تلقائيًا.

  • jscrambler 8.14.0 مقابل npm 12: الإصدار المخترق استغل آليات ما قبل التثبيت القديمة. المستخدمون على npm 12 المحميين بشكل افتراضي، بينما العملاء الأقدم معرضون بالكامل.
  • الاستهداف الدقيق مقابل الانتشار الواسع: بدلاً من محاولة إصابة ملايين المستخدمين العشوائيين، ركز هذا الهجوم على سرقة أصول عالية القيمة من عدد أقل من الأهداف، مما يجعل الاكتشاف أبطأ والتأثير المحتمل أكبر.
  • أدوات الذكاء الاصطناعي المستهدفة: استهداف ملفات تكوين أدوات ترميز الذكاء الاصطناعي يمثل تطوراً جديداً في تكتيكات سرقة المعلومات، مما يشير إلى تحول في اهتمامات المهاجمين نحو أصول الذكاء الاصطناعي القيمة، مثل مفاتيح API الخاصة بالنماذج اللغوية الكبيرة.

الإصدار 8.15.0، الذي صدر بعد الهجوم، كان نظيفاً ظاهرياً، وتم استبداله لاحقاً بالنسخة 8.22.0 الموصى بها كإصدار آمن. ومع ذلك، بقيت الإصدارات الخبيثة (8.14.0، 8.16.0، 8.17.0، 8.18.0، و8.20.0) متاحة على npm، وإن كانت "مهملة" (deprecated)، مما يعني أن أي مشاريع تستخدم ملفات "lockfile" أو أوامر تثبيت ثابتة لهذه الإصدارات ستظل عرضة للخطر. هذا يعكس فشلاً جزئياً في الاستجابة الفورية، حيث أن الإهمال لا يزيل الحزمة من المستودع.

رؤية Glitch4Techs

حادثة jscrambler ليست مجرد اختراق آخر لسلسلة التوريد؛ إنها تذكير قاسٍ بأن الأمان في بيئات التطوير هو خط الدفاع الأخير الذي غالباً ما يتم التهاون به. إن استهداف مفاتيح السحابة، محافظ العملات المشفرة، وملفات تعريف أدوات الذكاء الاصطناعي يكشف عن فهم عميق لقيمة الأصول في يد المطور. الكشف عن قدرة IronWorm على الانتشار الذاتي عبر سرقة رموز npm ونشر حزم مصابة بشكل مستقل يرفع مستوى التهديد بشكل كبير، محولاً آلة المطور المصابة إلى نقطة انطلاق لهجمات أوسع. التحول في أسلوب تسليم البرمجيات الخبيثة، من خطافات ما قبل التثبيت إلى دمجها مباشرة في الكود الرئيسي للحزمة في الإصدارات اللاحقة، يظهر تكيفاً سريعاً من المهاجمين لمواجهة التدابير الأمنية مثل تعطيل نصوص التثبيت في npm 12. على الشركات والمطورين التعامل مع أي تثبيت للإصدارات المتأثرة كاختراق مؤكد للبيانات، واتخاذ إجراءات فورية لدوران جميع مفاتيح الاعتماد الحساسة وفحص الأنظمة المتأثرة. مجرد الترقية إلى إصدار "نظيف" لا يكفي؛ يجب فحص سجلات الأنظمة المتأثرة وتطهيرها تماماً، وإلا فإن هذا الدود الرقمي سيستمر في الزحف. هذا النوع من الهجمات يؤكد أن الثقة في سلاسل التوريد المفتوحة لا يمكن أن تكون عمياء.

أعجبك المقال؟ شاركه

النشرة البريدية

كن أول من يعرف بمستقبل التقنية

أهم الأخبار والتحليلات التقنية مباشرة في بريدك.

مقالات قد تهمك