00:00:00قد يكون هذا واحداً من أكبر خروقات سلسلة توريد NPM التي شهدناها على الإطلاق،
00:00:03ولا، هذه ليست كذبة أبريل، إنه مجرد توقيت سيء ويجب على الناس الحذر من ذلك.
00:00:07لقد حدث ذلك في حزمة Axios، عميل HTTP الذي تم تثبيته 101 مليون مرة هذا الأسبوع
00:00:13ولديه أكثر من 174,000 تابع. لذا فقد أثر بالفعل على حزم مثل Datadog،
00:00:18و OpenClaw و WordPress، كما تم ربطه أيضاً بهكرز من كوريا الشمالية.
00:00:22لذا دعونا نبدأ مباشرة لنرى ما حدث.
00:00:29إليكم القصة، في 31 مارس 2026 قام مهاجم باختراق حساب NPM
00:00:34للمشرف الرئيسي على Axios ونشر إصدارين بهما أبواب خلفية، الإصدار 1.14.1 الذي
00:00:39تم تمييزه كأحدث إصدار، وكذلك الإصدار 0.30.4 الذي تم تمييزه كإصدار قديم.
00:00:44في هذه الحزم قاموا بإدراج تبعية وهمية تسمى plaincryptojs
00:00:48والتي كانت في الأساس مجرد حزمة crypto.js العادية ولكن مع تعديل بسيط واحد،
00:00:52كانت تحتوي على سكريبت ما بعد التثبيت يسمى setup.js. وهذا يعني أن كل شخص وكل CI يقوم بتثبيت
00:00:58هذه الحزم المخترقة كان يقوم أيضاً بتشغيل هذا السكريبت. احتوى السكريبت نفسه على
00:01:02كود غامض كان يتحقق من نظام التشغيل الذي تستخدمه ثم يتصل بخادم
00:01:07لتحميل حمولة ثانية ذات صلة بنظام التشغيل الذي تعمل عليه. لذا لم يكن أحد
00:01:12في مأمن من هذا الهجوم، بل وذهبوا إلى حد التأكد من أن حمولة نظام Mac OS
00:01:16تعمل على كل من أجهزة Intel و Apple Mac. والحمولة الثانية هي الجزء السيئ حقاً،
00:01:20وهي عبارة عن RAT أو حصان طروادة للوصول عن بعد ويعمل بنفس الطريقة تقريباً عبر جميع
00:01:25أنظمة التشغيل. أولاً يقوم بمسح ملفاتك وفحص المستندات، وسطح المكتب
00:01:29ومجلدات الإعدادات، ونسخة ويندوز كانت تمسح أيضاً OneDrive و AppData وكل
00:01:33أقسام الأقراص لديك، ثم يرسل قائمة الملفات تلك مرة أخرى إلى الخادم
00:01:38ربما ليتمكنوا من التحقق مما إذا كان هناك شيء يستحق السرقة. بعد ذلك يبدأ في
00:01:42إرسال إشارات دورية، فكل 60 ثانية يتصل بالمركز مرسلاً اسم الجهاز، واسم المستخدم، ونظام التشغيل،
00:01:47والمنطقة الزمنية، وطراز الأجهزة وقائمة كاملة بكل العمليات الجارية حتى يتمكن المهاجم من معرفة
00:01:52البرامج التي تشغلها وما إذا كنت تستخدمها بنشاط. وإذا لم يكن كل ذلك سيئاً بما يكفي،
00:01:56فإن الجزء الأسوأ لم يأتِ بعد، حيث يمكن للمهاجم في أي وقت إصدار أربعة أوامر عن بعد
00:02:00تسمح له بتصفح أي دليل على نظامك، أو تشغيل أوامر برمجية أو سكريبتات عشوائية،
00:02:05أو وضع وتشغيل برامج ضارة إضافية أو حتى قتل العملية بالكامل لإخفاء آثارهم. في الواقع،
00:02:10لقد تأكدوا من أن سكريبت الإعداد الأصلي سيحذف نفسه ثم يحذف ملف package.json
00:02:15الذي كان يحتوي على أمر ما بعد التثبيت واستبداله بنسخة نظيفة لمحاولة جعل هذا
00:02:19غير قابل للاكتشاف قدر الإمكان. كما ترون، كان هذا الاختراق سيئاً للغاية وقد صُمم
00:02:23لاستهداف محطات عمل المطورين ومشغلات CI/CD للبحث عن جميع أنواع الأسرار مثل ملفات .env،
00:02:28ورموز NPM، ومفاتيح SSH وأي شيء آخر، وأي نظام قام بتنفيذ هذه الحمولات الخبيثة
00:02:34يجب التعامل معه كسيناريو سرقة بيانات اعتماد كاملة. وعلاوة على كل هذا، هناك أيضاً
00:02:38لغز حول كيفية اختراق حساب NPM. أشار المشرف إلى أن لديه ميزة المصادقة الثنائية مفعلة
00:02:43كما أن أنابيب GitHub action الخاصة به مفعلة فيها المصادقة أيضاً. لذا ما يبدو أنه حدث هو أن
00:02:47الحزم نُشرت باستخدام NPM CLI عبر رمز وصول NPM طويل الأمد. لذا السؤال التالي
00:02:53هو كيف حصلوا على ذلك الرمز، بل ويعتقد المشرف أن شخصاً ما قد يكون
00:02:56حصل على أكواد استعادة حسابه، ولكن كيفية قيامهم بذلك لا تزال لغزاً كاملاً حتى الآن. إذا أردت
00:03:01معرفة ما إذا كنت قد تأثرت بأي من هذا، فتأكد من البحث في ملفات القفل لديك عن إصدارات
00:03:04Axios المتأثرة وكذلك حزمة plain crypto.js، وابحث أيضاً في مجلد node modules عن
00:03:09الحزمة نفسها. إذا وجدت أي منها، فللأسف هذه أخبار سيئة. يمكنك أيضاً فحص
00:03:14نظامك بحثاً عن آثار الـ RAT وسأترك تقارير كاملة عن هذا في الرابط أدناه لتتمكن من اتباع
00:03:18الخطوات ومعرفة ما يجب فعله إذا تعرضت للاختراق. في المستقبل، هناك أيضاً بضع
00:03:22خطوات يمكنك اتخاذها لمحاولة منع هذه الهجمات، وأولها هي التزم دائماً بملفات القفل الخاصة بك
00:03:26وتأكد من استخدام أمر NPM CI بدلاً من أمر NPM install في أنابيب العمل الخاصة بك.
00:03:31عليك أيضاً التأكد من تعيين حد أدنى لعمر الحزمة في مدير الحزم الخاص بك للتأكد من أن
00:03:35الحزم قد مر عليها 48 ساعة على الأقل قبل تثبيتها على أمل أن يتم اكتشاف أي حزم خبيثة
00:03:39في الوقت المناسب، حيث تم اكتشاف حزمة axios هذه وحذفها بعد ثلاث ساعات فعلياً. وأخيراً،
00:03:44إذا كان ذلك ممكناً، فاستخدم علامة ignore scripts عند تشغيل NPM install أو استخدم
00:03:48مدير حزم مثل bun الذي يحظر فعلياً جميع سكريبتات ما بعد التثبيت افتراضياً ولا يشغلها إلا
00:03:53على التبعيات التي حددتها أنت تحديداً كموثوقة. آمل أن يكون هذا هو أكبر هجوم
00:03:57نراه هذا العام، ولكننا نرى المزيد والمزيد منها بالتأكيد، لذا تأكد من بقائك آمناً
00:04:01هناك وأخبرني برأيك في كل هذا في التعليقات أدناه
00:04:04أو اضغط على زر الاشتراك، وكما هو الحال دائماً، نراكم في الفيديو القادم.