تم اختراق الملايين من مطوري JS... (سقوط axios)

BBetter Stack
컴퓨터/소프트웨어경제 뉴스AI/미래기술

Transcript

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أو اضغط على زر الاشتراك، وكما هو الحال دائماً، نراكم في الفيديو القادم.

Key Takeaway

أدى اختراق حساب NPM لمشرف Axios إلى زرع حصان طروادة في إصدارات رسمية استهدفت 101 مليون مستخدم أسبوعياً لسرقة مفاتيح SSH وبيانات الاعتماد عبر سكريبتات تثبيت تلقائية.

Highlights

تسبب اختراق حساب NPM للمشرف على مكتبة Axios في نشر إصدارات خبيثة هي 1.14.1 و0.30.4 تحتوي على أبواب خلفية.

تعتمد الحزم المخترقة على تبعية وهمية تدعى plaincryptojs تشغل سكريبت setup.js تلقائياً عند التثبيت لتحميل برمجيات ضارة.

يرسل حصان الطروادة RAT بيانات النظام والعمليات الجارية كل 60 ثانية إلى خادم المهاجم مع إمكانية تنفيذ أوامر برمجية عن بعد.

استهدف الهجوم سرقة ملفات البيئة .env ومفاتيح SSH ورموز الوصول من محطات عمل المطورين وأنظمة CI/CD.

تم حذف الحزم الخبيثة من مستودع NPM بعد ثلاث ساعات فقط من اكتشافها.

يمنع استخدام مدير الحزم Bun تشغيل سكريبتات ما بعد التثبيت افتراضياً مما يعطل آلية هذا الاختراق.

Timeline

تفاصيل اختراق سلسلة التوريد في Axios

  • أثر الاختراق على عميل HTTP الأكثر استخداماً Axios الذي يسجل 101 مليون عملية تثبيت أسبوعياً.
  • تمتد آثار الهجوم لتشمل حزم برمجية كبرى مثل Datadog وWordPress وOpenClaw.
  • تشير الأدلة التقنية إلى ارتباط هذا النشاط بمهاجمين من كوريا الشمالية.

يعد هذا الحادث من أكبر خروقات سلسلة توريد NPM المسجلة. استهدف المهاجمون البنية التحتية لمكتبة Axios نظراً لانتشارها الواسع في مشاريع الويب. توقيت الهجوم في 31 مارس جعل البعض يظنه مزحة، لكنه واقع تقني أثر على ملايين المطورين.

آلية عمل البرمجية الخبيثة وتسللها للنظام

  • استغل المهاجم حساب المشرف لنشر الإصدار الأحدث 1.14.1 وإصداراً قديماً 0.30.4 بملفات مفخخة.
  • تتضمن الحزمة تبعية plaincryptojs التي تشغل سكريبت setup.js بمجرد انتهاء تثبيت NPM.
  • يتحقق السكريبت من نوع نظام التشغيل لتحميل حمولة ثانية مخصصة لأنظمة Windows أو Mac أو Linux.

استخدم المهاجمون حزمة تشفير تبدو شرعية كغطاء للنشاط الضار. تضمن سكريبت الإعداد كوداً غامضاً يتواصل مع خادم خارجي لجلب الحمولة النهائية. تم تصميم البرمجية لتعمل على مختلف معماريات المعالجات بما في ذلك Intel وApple Silicon لضمان أوسع نطاق من الضحايا.

قدرات حصان الطروادة RAT وسرقة البيانات

  • يقوم حصان الطروادة بمسح كامل لمجلدات المستخدم بما في ذلك سطح المكتب وOneDrive وAppData.
  • يبث الجهاز المصاب إشارات دورية كل دقيقة تتضمن تفاصيل العتاد وقائمة العمليات النشطة.
  • يمتلك المهاجم صلاحية تنفيذ أوامر برمجية عشوائية وتصفح الملفات وقتل العمليات لإخفاء الأثر.

يعمل الجزء الضار كأداة وصول عن بعد كاملة تمنح المهاجم سيطرة مطلقة على الجهاز. يقوم السكريبت الأصلي بحذف نفسه وتعديل ملف package.json ليعيد النسخة النظيفة بعد تنفيذ الاختراق. الهدف الرئيسي هو البحث عن أسرار المطورين مثل ملفات .env ومفاتيح SSH المخزنة في النظام.

غموض وسيلة الاختراق وطرق الوقاية المستقبلية

  • وقع الاختراق رغم تفعيل المشرف لخاصية المصادقة الثنائية MFA على حسابه في NPM.
  • يقلل استخدام أمر npm ci بدلاً من npm install من مخاطر تغيير إصدارات التبعيات غير المتوقع.
  • تجنب سكريبتات التثبيت عبر ignore-scripts أو استخدام Bun يوفر حماية جوهرية ضد هذا النوع من الهجمات.

يرجح استخدام المهاجمين لرموز وصول NPM طويلة الأمد أو أكواد استعادة الحساب لتجاوز المصادقة الثنائية. ينصح المطورون بفحص ملفات lock-files للبحث عن Axios 1.14.1 أو حزمة plaincryptojs فوراً. تشمل إجراءات السلامة تعيين حد أدنى لعمر الحزمة قبل التثبيت لضمان مرور وقت كافٍ لاكتشاف الثغرات من قبل المجتمع التقني.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video