في هجوم جديد يسلط الضوء على المخاطر المتصاعدة التي تواجه منظومة حزم npm، كشف باحثون أمنيون يوم الجمعة 11 يوليو 2026 عن اختراق حزمة jscrambler الشهيرة. وتبين أن الإصدار (8.14.0) الذي نُشر صباح ذلك اليوم احتوى على سكربت تثبيت خبيث يقوم بإسقاط وتنفيذ برمجية لسرقة المعلومات مكتوبة بلغة Rust. البرمجية مصممة للعمل كأداة متعددة الأنظمة تستهدف بيئات Windows وmacOS وLinux، بهدف الاستيلاء على بيانات اعتماد المطورين، ومحافظ العملات الرقمية، وبيئات البناء الآلي (CI/CD).
تفاصيل رصد الهجوم ومسار النشر
رصدت منصة Socket الإصدار الخبيث وأبلغت عنه بعد 6 دقائق فقط من نشره. وأكدت المنصة لاحقاً بالتعاون مع StepSecurity وSafeDep أن الملفين المضافين حديثاً dist/setup.js وdist/intro.js لا وجود لهما في المستودع الرسمي للحزمة على GitHub، حيث كان الوسم الأخير يشير إلى الإصدار الآمن (8.13.0).
توضح هذه المعطيات أن المهاجم نجح في دفع الإصدار الخبيث مباشرة إلى مستودع npm باستخدام بيانات اعتماد نشر شرعية، متجاوزاً مسار التطوير الآلي المعتاد. ولم يتضح بعد ما إذا كان الاختراق قد تم عبر سرقة حساب المطور الشخصي أم نتيجة اختراق خط أنابيب البناء والتطوير.
آلية العمل والتحليل الفني للبرمجية الخبيثة
تعتمد آلية الهجوم على أسلوب متطور للتخفي والتمويه وفق الخطوات التالية:
- التمويه وتعمية الحاوية: يتضمن ملف dist/intro.js حاوية ثنائية مخصصة بحجم 7.8 ميغابايت. ورغم أنه يحمل امتداد JavaScript، إلا أنه ملف ثنائي مدمج يحتوي على ثلاثة ملفات تنفيذية أصلية مضغوطة تناسب أنظمة التشغيل المستهدفة، مخفية خلف ترويسة مخصصة بطول 5 بايتات.
- المُحَمِّل والتنفيذ المخفي: يتولى سكربت المُحَمِّل dist/setup.js تحديد نظام التشغيل المضيف، وفك ضغط الملف التنفيذي المطابق له، ثم تسميته باسم عشوائي ونقله إلى مجلد الملفات المؤقتة (temp). بعد ذلك، يتم تشغيله كعملية منفصلة ومخفية تماماً عن عملية تثبيت npm الرئيسية، لضمان استمرار البرمجية الخبيثة في العمل حتى بعد اكتمال التثبيت أو إلغائه.
قدرات برمجية السرقة المتطورة
أظهر التحليل الفني لشركة StepSecurity أن البرمجية تتجاوز قدرات أدوات السرقة التقليدية، حيث دمجت أدوات متقدمة تشمل:
- مكتبة SQLite: للوصول المباشر إلى قواعد البيانات المحلية المخزنة في المتصفحات واستخراج بيانات الاعتماد وكلمات المرور.
- محرك LevelDB: لاستهداف ملفات التخزين المحلي الخاصة بمحافظ العملات الرقمية.
- قاموس BIP39: لتحليل واستخراج عبارات الاسترداد الخاصة بالمحافظ.
- مكتبة libbpf (نسخة Linux): تسمح بتحميل برنامج eBPF إلى نواة النظام مباشرة من الذاكرة دون الكتابة على القرص، وهي قدرة متطورة لتأمين البقاء والتخفي لا تزال خاضعة للتحليل التفصيلي.
تطور الحملة والتهرب من الأنظمة الدفاعية
لم يكتفِ المهاجم بالإصدار الأول، بل وسع نطاق الحملة خلال 3 ساعات ليشمل أربعة إصدارات أخرى هي: (8.16.0، 8.17.0، 8.18.0، 8.20.0). وشهدت هذه الإصدارات تعديلاً بارزاً في أسلوب التوصيل:
- الإصدارات الأولى: اعتمدت على سكربت التثبيت التلقائي preinstall.
- الإصدارات الأخيرة (8.18.0 و8.20.0): نقل المهاجم شيفرة إسقاط البرمجية إلى أعلى ملف dist/index.js. يهدف هذا التعديل إلى تفعيل البرمجية بمجرد استيراد الحزمة أو تشغيل التطبيق، في محاولة واضحة للتهرب من الأنظمة الدفاعية التي تقتصر على مراقبة وفحص سكربتات التثبيت فقط. كما تضمنت هذه الإصدارات تبعية داخلية لجلب الإصدارات الخبيثة السابقة تلقائياً.
تأتي هذه الحادثة بعد ثلاثة أيام فقط من إطلاق npm للإصدار 12، والذي يعطل تنفيذ سكربتات التثبيت افتراضياً للحد من هذه الأنماط من الهجمات. ومع ذلك، تظل بيئات العمل والأنظمة القديمة عرضة للتشغيل التلقائي.
كما يعيد هذا الاختراق إلى الأذهان سلسلة هجمات سابقة استهدفت سلسلة الإمداد عبر npm، مثل اختراق حزمتي chalk وdebug نتيجة تصيد حسابات المطورين، وبرمجية Shai-Hulud، واستهداف حزمة Axios. وعلى الرغم من أن معدل تحميل حزمة jscrambler يعد محدوداً نسبياً بنحو 15,800 تنزيل أسبوعياً، إلا أن اعتمادها الأساسي والحصري داخل خطوط البناء وبيئات التطوير الحساسة يرفع بشكل كبير من قيمة البيانات والأسرار التقنية التي يمكن للمهاجمين الوصول إليها.
الإجراءات العلاجية والتوصيات الأمنية
من جانبها، أصدرت شركة Jscrambler تحديثاً آمناً يحمل الرقم (8.22.0). وأكدت في بيانها الأمني أن التحقيقات أثبتت تمكن المهاجم من النشر باستخدام اعتماد شرعي مخترق، وبناء عليه قامت الشركة بإبطال كلمات المرور، وتدوير المفاتيح الأمنية، وفرض ضوابط تحقق إضافية وصارمة على عمليات النشر المستقبلية.
وتوصي الشركات الأمنية جميع المستخدمين باتخاذ الإجراءات الفورية التالية:
- الترقية أو التراجع: الترقية الفورية إلى الإصدار الآمن 8.22.0، أو العودة إلى الإصدار المستقر السابق 8.13.0.
- تدوير الأسرار: تغيير وتدوير كافة الرموز والمفاتيح الأمنية التي يُحتمل تعرضها للاختراق، بما في ذلك مفاتيح البيئات السحابية (AWS, Azure)، ورموز صلاحيات npm وGitHub، ومفاتيح واجهات برمجة التطبيقات لأدوات الذكاء الاصطناعي.
- إلغاء الجلسات: إنهاء جلسات المتصفح النشطة وتطبيقات المراسلة التي كانت تعمل على الأجهزة المتضررة.
- التحقيق الجنائي الرقمي: فحص سجلات التثبيت للتأكد من عدم تنفيذ ملف dist/setup.js.
- حظر الشبكة: حظر الاتصالات الصادرة إلى عناوين الـ IP والنطاقات المرتبطة بشبكة Tor التي رصدتها StepSecurity وهي:
- 37.27.122.124
- 57.128.246.79








