تم اختراق حزمة Jscrambler npm: نسخ خبيثة تنشر برامج سرقة المعلومات على أجهزة المطورين

آخر تحديث: 07/14/2026
نبذة عن الكاتب: ج مصدر تريل
  • تم نشر خمس نسخ خبيثة من حزمة jscrambler npm (8.14.0، 8.16.0، 8.17.0، 8.18.0، 8.20.0) باستخدام بيانات اعتماد npm مخترقة، تحمل برنامج سرقة معلومات قائم على لغة Rust.
  • يتم تنفيذ البرامج الضارة عبر خطاف ما قبل التثبيت أو في وقت التشغيل، مستهدفة بيانات اعتماد السحابة، ومحافظ العملات المشفرة، وبيانات المتصفح، وتكوينات أدوات الذكاء الاصطناعي، والمزيد، مع آليات استمرارية على نظامي التشغيل ويندوز وماك أو إس.
  • رصدت شركات الأمن مثل Socket و StepSecurity و SafeDep و JFrog الهجوم في غضون دقائق، لكن الحزم الخبيثة ظلت على npm لساعات؛ وقد حددت JFrog الحمولة على أنها IronWorm مع قدرات الانتشار الذاتي.
  • يُحث المطورون على الترقية إلى الإصدار 8.22.0، وتغيير جميع الأسرار، ومراجعة الأنظمة بحثًا عن علامات الاختراق، حيث يمكن للمتسلل أيضًا الانتشار عبر رموز npm المسروقة.

رسم توضيحي لهجوم سلسلة التوريد باستخدام Jscrambler npm

في 11 يوليو 2026، حزمة npm لـ تم اختراق برنامج jscrambler، وهو أداة تجارية لإخفاء أكواد جافا سكريبت وتعزيز الأمان. شنّ مهاجم هجومًا باستخدام بيانات اعتماد نشر مسروقة لنشر نسخ خبيثة متعددة. استغرقت الحادثة نحو ثلاث ساعات، وشهدت خمسة إصدارات - 8.14.0، 8.16.0، 8.17.0، 8.18.0، و8.20.0 - تحمل برنامجًا خبيثًا لسرقة المعلومات يعمل على مختلف المنصات، ويتم تفعيله فورًا عند التثبيت أو الاستيراد. رصدت شركات أمنية، من بينها Socket وStepSecurity وSafeDep وJFrog، التهديد في غضون دقائق، لكن ظلت الحزم قابلة للتنزيل لساعات، ولم تتم إزالة الإصدار 8.14.0 من سجل النظام.

استهدف الهجوم سلسلة توريد البرمجيات في أضعف نقاطها: جهاز المطور. بخلاف العديد من حوادث npm التي تستغل التعليمات البرمجية في وقت التشغيل، استخدمت هذه الحادثة خطاف ما قبل التثبيت في الإصدارات الخبيثة الثلاثة الأولى، مما يعني ببساطة التشغيل npm install jscrambler@8.14.0 كان ذلك كافيًا لتثبيت وتشغيل ملف تنفيذي أصلي. أما الإصدارات اللاحقة (8.18.0 و8.20.0) فقد نقلت برنامج التثبيت إلى الكود الرئيسي للحزمة، لذا حتى --ignore-scripts لن يمنع ذلك الحمولة. أكدت شركة Jscrambler أن الاختراق اقتصر على منتجها الخاص بسلامة الكود، وقامت منذ ذلك الحين بإلغاء بيانات الاعتماد المخترقة، وعززت خط أنابيبها، وأصدرت نسخة نظيفة 8.22.0.

أسلوب الهجوم: بيانات اعتماد مسروقة وحمولة مخفية

تم نشر الإصدارات الخبيثة تحت حساب مسؤول صيانة شرعي، متجاوزة بذلك عملية إصدار المشروع العادية القائمة على منصة GitHub. لم يكن هناك أي التزام أو علامة أو طلب سحب مطابق لأي من الإصدارات الملوثة في المستودع العام، وفقًا لـ StepSecurity و SafeDep. كشف اختلاف الحزمة بين الإصدارين 8.13.0 و 8.14.0 عن ملفين جديدين: dist/setup.jsرافعة صغيرة، و dist/intro.js، حاوية بحجم 7.8 ميجابايت تحتوي على ثلاثة ملفات تنفيذية أصلية مضغوطة باستخدام gzip لأنظمة ويندوز وماك أو إس ولينكس. عند التثبيت، setup.js يختار الملف الثنائي المناسب، ويكتبه تحت اسم عشوائي في دليل النظام المؤقت، ويضع علامة عليه كملف قابل للتنفيذ، ويشغله مع إخفاء مخرجاته.

رصدت المقابس أول عملية إطلاق خبيث بعد ست دقائق فقط من وصولها إلى سجل النظام. ثم قام المهاجم بنشر أربع نسخ أخرى خلال الساعات الثلاث التاليةيحمل كل منها نفس برنامج سرقة المعلومات المُجمَّع بلغة Rust. وقد حددت JFrog لاحقًا الحمولة على أنها IronWorm، وهو برنامج سرقة معلومات وثّقته قبل شهر، وربطته بسلالة Shai-Hulud. تضمنت بنية التحكم والسيطرة (C2) للبرنامج الخبيث عنواني IP ثابتين (37.27.122.124 و57.128.246.79) وعناوين شبكة Tor، والتي رصدتها مراقبة وقت التشغيل من StepSecurity.

ما هي أهداف البرامج الضارة

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

قام تحليل JFrog بتوسيع قائمة الأهداف بشكل أكبر، مضيفًا ملفات تكوين VPN، وخزائن 1Password، ومفاتيح خدمة Tor المخفية، ومجلدات تثبيت أطر عمل الفريق الأحمر مثل Metasploit وSliver وHavoc. يشير هذا الهدف الأخير إلى أن المهاجمين كانوا يستهدفون أيضًا باحثي الأمن ومختبري الاختراق.يستخدم هذا البرنامج الخبيث تقنية تشفير قوية تعتمد على تشفير سلسلة نصية واحدة باستخدام خوارزمية ChaCha20-Poly1305، مما يجعل عملية الهندسة العكسية صعبة. ولاستخراج البيانات بكميات كبيرة، يقوم بتحميل البيانات المسروقة مباشرةً إلى temp.sh، وهو موقع استضافة ملفات عام، عبر اتصال يكشف عنوان IP الحقيقي للضحية.

المثابرة والقدرات المتقدمة

يتجاوز هذا البرنامج الخبيث مجرد السرقة. ففي نظام لينكس، يقوم بربط مكتبة BPF الخاصة بالنواة ويمكنه تحميل برنامج eBPF مباشرة في ذاكرة النواة، مما يوفر موطئ قدم يتجاوز بكثير الوصول إلى ملفات مساحة المستخدم. أشارت كل من StepSecurity و SafeDep إلى هذه الخاصية eBPFعلى الرغم من أن وظيفتها الدقيقة لا تزال قيد التحليل. في نظامي التشغيل ويندوز وماك أو إس، يُضيف برنامج التجسس آليات للتحقق من الأخطاء وآليات استمرارية: مهمة مُجدولة مخفية في ويندوز مُعدّة لإعادة التشغيل كل دقيقة، وبرنامج تشغيل في ماك أو إس يُعاد تحميله عند تسجيل الدخول. تبقى تفاصيل التحكم والسيطرة مُشفّرة في الملف التنفيذي ولم تظهر أبدًا في التحليل الثابت.

اكتشف JFrog أيضًا روتينًا للتكاثر الذاتي. يبحث البرنامج الخبيث عن رموز npm في متغيرات البيئة وملفات مثل .npmrcيقوم بفحصها مقابل السجل، ويختار الحزم ذات التنزيلات العالية، ويحقن برنامجًا خبيثًا setup.mjs يقوم البرنامج النصي للتثبيت المسبق بتضمينه في ملفات tar الخاصة بهم، وينشر النسخ المصابة مباشرةً إلى registry.npmjs.org عبر بروتوكول HTTP PUT الخام، دون استدعاء عميل npm مطلقًا. ورغم تأكيد JFrog على وجود هذه الآلية في الكود، إلا أنه لم يؤكد نجاح الدودة في نشر أي شيء باستخدام رمز مميز مسروق. ومع ذلك، فإن الدلالة واضحة: أي جهاز يعمل بنسخة مصابة قد تُستخدم رموز npm الخاصة به لنشر الهجوم على نطاق أوسع.

الاستجابة والتنظيف

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

بالنسبة للمطورين، فإن الخطوات الفورية واضحة: الترقية إلى الإصدار 8.22.0 أو التثبيت على الإصدار 8.13.0، ومراجعة جميع الأنظمة التي ربما تكون قد سحبت الإصدارات الضارة. تحقق من ملفات القفل وسجلات مدير الحزم بحثًا عن jscrambler@8.14.0 والإصدارات المماثلةوابحث عن سجلات CI الخاصة بـ dist/setup.js يبدأ التنفيذ اعتبارًا من 11 يوليو فصاعدًا. في نظام ويندوز، افحص "مجدول المهام" بحثًا عن المهام المخفية؛ وفي نظام ماك أو إس، تحقق من ~/Library/LaunchAgents بالنسبة لملفات plist غير المألوفة، يقوم برنامج التحميل بإسقاط حمولته تحت اسم عشوائي في الدليل المؤقت، لذلك لا يوجد اسم ثنائي ثابت للبحث عنه باستخدام grep - بدلاً من ذلك، قم بمطابقة الطوابع الزمنية للتثبيت مع عمليات Node الفرعية وتنفيذ الدليل المؤقت.

مؤشرات التسوية

نشرت شركات الأمن مؤشرات مفصلة. إصدارات الحزم الخبيثة هي jscrambler@8.14.0، 8.16.0، 8.17.0، 8.18.0، و8.20.0تتوفر قيم التجزئة SHA-256 للملفات المضافة والحمولات التي تم فك ضغطها من خلال Socket و StepSecurity. تشمل نقاط نهاية الشبكة التي تمت ملاحظتها أثناء التشغيل عنواني IP لخادم التحكم والسيطرة (37.27.122.124 و 57.128.246.79) وبنية Tor التحتية (check.torproject.org و archive.torproject.org). تتضمن العناصر الموجودة على الجهاز ملفًا مخفيًا باسم عشوائي في دليل النظام المؤقت (على شكل .{random} or .{random}.exe (على نظام ويندوز)، بالإضافة إلى مهمة مجدولة مخفية في ويندوز أو برنامج LaunchAgent لنظام macOS لضمان استمرارية الوصول. كما يقوم JFrog بالإبلاغ عن ذلك. temp.sh كنقطة نهاية لتسريب البيانات و setup.mjs كبرنامج نصي للنشر.

إذا قمت بتشغيل أي إصدار متأثر، فتعامل مع كل سر يمكن أن يصل إليه على أنه مسروق. قم بتدوير مفاتيح السحابة، ورموز npm وGitHub، ومفاتيح واجهة برمجة تطبيقات أدوات الذكاء الاصطناعي وMCPقم بإلغاء جلسات Discord وSlack والمتصفح وBitwarden، وانقل أي عملات مشفرة من المحافظ على هذا المضيف. احظر عنواني IP الخاصين بخادم التحكم والسيطرة، وراقب أي اتصالات صادرة غير معتادة إلى Tor أو temp.shيقوم برنامج السرقة بعمله في الثواني التي تلي التثبيت، لذا فإن مجرد التعرض لفترة وجيزة يكفي لاختراق بيانات الاعتماد.

هذا الحادث بمثابة تذكير صارخ بأن نظام npm البيئي لا يزال هدفًا رئيسيًا لهجمات سلسلة التوريد. على الرغم من أن الإصدار الثاني عشر من npm يأتي مع تعطيل برامج التثبيت افتراضيًا في 8 يوليولا تزال الإصدارات القديمة من البرامج تُشغّلها تلقائيًا، بينما تجاوزت الإصدارات الخبيثة اللاحقة هذا الحماية تمامًا. يُظهر هجوم Jscrambler، الذي جاء بعد أيام قليلة من اختراق Injective SDK، أن المهاجمين يستهدفون بشكل متزايد أدوات المطورين وموردي الأمن أنفسهم. الدرس واضح: أي جهاز يُشغّل npm install إن الاعتماد على بيانات اعتماد حقيقية يعني الثقة في سلسلة توريد يمكن أن تتحول إلى سلسلة عدائية في غضون دقائق بمجرد سرقة رمز مميز واحد.

الوظائف ذات الصلة: