- قام مهاجم باختراق حساب npm الخاص بالمسؤول الرئيسي عن صيانة Axios وأصدر الإصدارات 1.14.1 و 0.30.4 مع تبعية وهمية، plain-crypto-js، والتي قامت بنشر برنامج RAT متعدد المنصات أثناء التثبيت.
- اتصلت البرامج الضارة بخادم C2 (sfrclak[.]com) وقامت بتنزيل حمولات محددة لأنظمة التشغيل Windows و macOS و Linux، وقامت باستطلاع النظام، والحفاظ على إشارات دورية، وفي بعض الحالات، إنشاء استمرارية.
- وقد جمع الهجوم، الذي نسبه جوجل وباحثون آخرون إلى الجهة الكورية الشمالية UNC1069، بين فترة كشف مدتها حوالي ثلاث ساعات وحملة هندسة اجتماعية متطورة ضد القائم بالصيانة لسرقة بيانات اعتماده.
- يجب على المؤسسات التي تمكنت من تثبيت الإصدارات المتأثرة الالتزام باتخاذ الإجراءات اللازمة، والبحث عن آثار برامج الوصول عن بعد، وتغيير بيانات الاعتماد، وتثبيت الإصدارات الآمنة من Axios، وتعزيز سلسلة التوريد الخاصة بها، وعمليات التكامل المستمر/التسليم المستمر، وضوابط إدارة التبعيات.
شهد مجتمع مطوري جافا سكريبت مؤخرًا إحدى تلك الحوادث المقلقة التي تدفع المرء لإعادة النظر في مدى ثقته في مكتباته البرمجية، وذلك بسبب ثغرات أمنية في إحدى المكتبات . فقد تم التلاعب بمكتبة Axios، إحدى أكثر مكتبات HTTP استخدامًا في هذا المجال، على منصة npm لتوزيع برنامج تجسس للتحكم عن بُعد (RAT) عبر إصدارات تبدو شرعية. استمر الحادث لبضع ساعات فقط، ولكنه أوضح أن سلسلة توريد البرمجيات أكثر هشاشة مما كان يعتقد الكثيرون.
لا تكمن المشكلة الخطيرة في مجرد تمكن المهاجمين من دسّ برمجيات خبيثة في حزمة يتم تحميلها عشرات أو مئات الملايين من المرات أسبوعيًا، بل تكمن في قيامهم بذلك عن طريق اختراق حساب npm الخاص بالمطور الرئيسي، ونشر نسخ "رسمية" تبدو طبيعية تمامًا ولا تُغيّر سطرًا واحدًا من شفرة مصدر Axios . كانت جميع الأنشطة الخبيثة مُتمركزة في تبعية وهمية مُصممة خصيصًا لهذا الهجوم.
كيف نشأ التزام أكسيوس بـ npm
لفهم حجم الحادث، علينا أن نبدأ بنقطة الدخول. تمكن المهاجم من السيطرة على حساب npm الخاص بـ "jasonsaayman"، المسؤول الرئيسي عن صيانة Axios، وقام بتغيير عنوان البريد الإلكتروني المرتبط به إلى عنوان تحت سيطرته ، مُستضاف على Proton Mail. ومنذ تلك اللحظة، أصبح لديه حرية كاملة في نشر إصدارات جديدة من الحزمة كما لو كان هو المسؤول عنها.
باستخدام بيانات الاعتماد تلك، قام بتحميل نسختين خبيثتين من برنامج Axios: 1.14.1 و0.30.4 ، تغطيان كلا الفرعين الرئيسيين للمشروع. تم التحميل بفارق 39 دقيقة فقط، ووفقًا لتحليل StepSecurity، تم التحميل مباشرةً من npm باستخدام رمز مميز طويل الأمد، متجاوزًا بذلك مسار التكامل المستمر/التسليم المستمر (CI/CD) المعتاد القائم على GitHub Actions.
قبل ثماني عشرة ساعة من الهجوم الأخير، كان المهاجم قد نشر بالفعل نسخة "نظيفة" من الحزمة الخبيثة في سجل npm . وقد ساهمت هذه الخطوة التمهيدية في إنشاء سجل للأحداث ومنع بعض عمليات الفحص الآلية من التفعيل عند ظهور حزمة جديدة تمامًا وقت الهجوم.
الأمر اللافت للنظر هو أن المهاجمين لم يُعدّلوا شفرة المصدر لبرنامج Axios أو يُجروا أي تغييرات ظاهرة على مستودع GitHub . في الواقع، لم يكن للإصدارين 1.14.1 و0.30.4 أي ارتباطات أو وسوم مُقابلة على GitHub؛ بل كانا موجودين فقط على npm. يكمن الاختلاف الرئيسي في ملف تبعيات الحزمة، الذي نُشر في السجل.
في الظروف العادية، لا يُعلن Axios إلا عن ثلاث تبعيات: follow-redirects و form-data و proxy-from-env . مع ذلك، في الإصدارات المُخترقة، ظهرت تبعية رابعة لم تكن موجودة سابقًا في المشروع: plain-crypto-js، الإصدار 4.2.1. لم تُستخدم هذه المكتبة الوهمية في أي مكان في قاعدة بيانات Axios، ولكنها تضمنت برنامجًا نصيًا يُنفذ تلقائيًا بعد التثبيت عند تثبيت الحزمة باستخدام npm أو pnpm أو أدوات مشابهة.
plain-crypto-js: التبعية الوهمية التي ينشرها برنامج RAT
يكمن مفتاح الهجوم في تلك التبعية الإضافية. تم نشر برنامج plain-crypto-js على منصة npm بواسطة مستخدم يُدعى "nrwise"، يستخدم أيضًا بريدًا إلكترونيًا من Proton Mail، وكان الغرض الوحيد منه هو تشغيل نص برمجي مُشفر لما بعد التثبيت في Node.js (setup.js) . عمل هذا النص البرمجي كبرنامج تثبيت، أي كبرنامج التثبيت الأولي للمرحلة الثانية من البرمجية الخبيثة.
عند تثبيت Axios بإحدى نسخها المُعدّلة، قامت دورة ما بعد التثبيت في npm بتشغيل كود plain-crypto-js تلقائيًا دون أي إجراء خاص من المطور . اتصل برنامج التثبيت بخادم تحكم وسيطرة (C2) نشط في نطاق sfrclakcom، يستمع على المنفذ 8000، وقام بتنزيل حمولة خاصة بنظام تشغيل الجهاز المُصاب؛ ويمكن تحديد هذا السلوك من خلال تحليل حركة مرور الشبكة.
يصف باحثون في شركة StepSecurity وفرق تحليل أخرى سلوكًا دقيقًا للغاية. فبعد تنفيذ الحمولة الخبيثة، قام برنامج التثبيت بإزالة آثاره: حذف سكربت ما بعد التثبيت، واستبدل ملف package.json بنسخة "نظيفة"، وترك ملف node_modules الذي بدا للوهلة الأولى غير ضار . وبهذه الطريقة، لم يكشف الفحص اليدوي اللاحق عن وجود الشفرة الخبيثة مباشرةً داخل Axios.
لتحديد عملية التلاعب، كان الدليل الموثوق الوحيد هو ملفات القفل (package-lock.json، pnpm-lock.yaml، yarn.lock) ووجود إصدارات محددة: axios 1.14.1 أو 0.30.4 و plain-crypto-js 4.2.1، بالإضافة إلى إصدارين من هذه الحزمة بأرقام وسيطة (4.2.0، 4.2.2) تم ربطهما في بعض التحليلات. من جانبه، اكتشف Socket لاحقًا أن نفس البرمجية الخبيثة تم توزيعها أيضًا من خلال الحزم @shadanai/openclaw (إصدارات مختلفة 2026.3.xx) و @qqbrowser/openclaw-qbot (0.0.130)، ويمكن لتقنيات الأمان مثل أنظمة الخداع (Honeypots) أن تساعد أيضًا في تحديد حملات مماثلة.
برامج التحكم عن بعد متعددة المنصات: ويندوز، ماك أو إس، ولينكس تحت الأضواء
بمجرد تشغيله، عمل برنامج setup.js النصي كمنسق قادر على اكتشاف نظام التشغيل واتباع مسار هجوم خاص بكل منصة . من الواضح أن الحملة كانت مُجهزة مسبقًا: وفقًا لشركة StepSecurity، كان لدى المهاجمين ثلاث حمولات منفصلة مُجمّعة مسبقًا، واحدة لكل نظام.
في أنظمة macOS، شغّلت عملية ما بعد التثبيت برنامج AppleScript قام بتنزيل ملف ثنائي مُخترق من خادم sfrclakcom:8000 . تم حفظ هذا الملف الثنائي في المسار /Library/Caches/com.apple.act.mond، وتم تعديل صلاحياته ليصبح قابلاً للتنفيذ، ثم تم تشغيله في الخلفية باستخدام /bin/zsh. بمجرد تشغيل برنامج التحكم عن بُعد، تم حذف برنامج AppleScript نفسه لزيادة تعقيد التحليل الجنائي الرقمي.
على أجهزة ويندوز، حدد البرنامج الخبيث موقع ملف PowerShell الثنائي الخاص بالنظام، ونسخه إلى %PROGRAMDATA%\wt.exe لإخفائه على أنه طرفية ويندوز، ثم أنشأ برنامج VBScript مؤقتًا . بعد ذلك، اتصل هذا البرنامج بخادم التحكم والسيطرة لتنزيل برنامج PowerShell RAT إضافي، ثم نفّذه، ثم حذف الملف الذي تم تنزيله. علاوة على ذلك، أنشأ إصدار ويندوز ملف %PROGRAMDATA%\system.bat يحتوي على روتين تنزيل يسمح للبرنامج الخبيث باستعادة نفسه عند كل تسجيل دخول، وأضاف مفتاح تنفيذ إلى سجل ويندوز لضمان استمراريته.
في أنظمة لينكس وغيرها من الأنظمة الشبيهة بيونكس، باستثناء macOS، استخدم برنامج التثبيت execSync من Node.js لتشغيل أمر shell يقوم بتنزيل سكربت بايثون من sfrclakcom، وحفظه في المسار /tmp/ld.py، ثم تشغيله باستخدام nohup لإبقائه قيد التشغيل في الخلفية . على عكس نظام ويندوز، لم يُظهر هذا الإصدار آلية حفظ بيانات قوية، مما يشير إلى نهج أسرع لاستخراج البيانات أو إلى استخدام حفظ البيانات بشكل متقطع عبر أوامر لاحقة.
قامت شركتا SafeDep وElastic Security Labs بتحليل حمولات المستوى الثاني، وخلصتا إلى أن برامج التحكم عن بُعد (RATs) لنظامي macOS (ملف تنفيذي مكتوب بلغة C++ Mach-O) وLinux (برنامج نصي مكتوب بلغة Python) تشترك في نفس مجموعة الأوامر، وبروتوكول التحكم والسيطرة، وتنسيق الرسائل، وسلوك التشغيل . يعتمد هذا النوع من التحليل عادةً على خدمات المسح الضوئي مثل VirusTotal ، التي تُسهّل ربط العينات بمؤشرات الاختراق (IOCs).
في جميع الحالات، أجرى كل جهاز مخترق استطلاعًا فوريًا للنظام: أدلة المستخدمين، وجذور محركات الأقراص، والعمليات النشطة، وغيرها من البيانات الوصفية . أُرسلت هذه المعلومات إلى خادم القيادة والتحكم، وحافظ البرنامج الخبيث على حلقة إرسال إشارات لمدة 60 ثانية تقريبًا، في انتظار تعليمات جديدة، بما في ذلك تنفيذ نصوص برمجية إضافية أو حقن ملفات تنفيذية في الذاكرة.
نافذة التعرض، والأهداف، ونسبة الفضل إلى كوريا الشمالية
كانت النسخ الخبيثة من برنامج Axios متاحة على منصة npm لمدة ثلاث ساعات تقريبًا، خلال فترة زمنية مختارة بعناية. نُشرت الحزم المخترقة قبيل منتصف ليل الأحد (وهو وقتٌ يُتيح للمدافعين أقصى قدر من الوقت للاستجابة)، وتم احتواء الحادث بحلول فجر الاثنين ، بعد أن أبلغت شركات الأمن السلطات عن هذا السلوك غير المعتاد.
خلال تلك الفترة القصيرة نسبياً، رصدت هانتريس ما لا يقل عن 135 نظاماً متصلاً بخادم المهاجم . ونظراً لأن أكسيوس تسجل ما بين 80 و100 مليون عملية تنزيل أسبوعياً (بل وأكثر من 300 مليون في بعض الفترات وفقاً لمصادر مختلفة)، فمن المرجح أن هذا الرقم لا يمثل سوى غيض من فيض، إذ يقتصر على الأنظمة التي تلفت انتباه شركات التحليلات التي نشرت بياناتها للعموم.
عزت جوجل، عبر فريقها المختص بتحليل التهديدات، الهجوم إلى جهة كورية شمالية مشتبه بها تحمل اسم UNC1069 . وقد عززت مختبرات Elastic Security Labs هذه الفرضية من خلال إيجاد تشابه كبير بين برنامج التحكم عن بعد (RAT) الذي تم نشره على نظام macOS وبرنامج WAVESHAPER، وهو باب خلفي مكتوب بلغة C++ اكتشفته شركة Mandiant ويرتبط أيضاً بنفس المجموعة الأمنية.
أكد محللو جوجل أن الجماعات المرتبطة بكوريا الشمالية تتخصص منذ سنوات في هجمات سلاسل التوريد وسرقة العملات المشفرة . ويتسم هذا النمط بالثبات: اختراق البنية التحتية للتطوير، أو المكتبات واسعة الانتشار، أو البرامج الموثوقة، ثم الانتقال إلى أهداف أخرى تدير أصولاً عالية القيمة، أو مفاتيح خاصة، أو بيانات اعتماد.
أشارت عدة تقارير إلى أن تصميم الهجوم وتنسيقه يوحيان بوجود فريق مُنسق جيدًا : ثلاث نسخ متوازية من نفس برنامج التحكم عن بُعد (باستخدام PowerShell وC++ وPython)، وبروتوكول تحكم وتحكم متسق، وسلوك متطابق تقريبًا في جميع النسخ، واستراتيجية واضحة للتنظيف الذاتي لتجنب ترك أي آثار. وأكدت شركة Elastic أن هذا التناسق يُشير إلى مطور واحد أو مجموعة تعمل وفقًا لوثيقة تصميم مشتركة، وليس إلى الارتجال.
بعيدًا عن الجوانب التقنية البحتة، فإنّ إحدى أكثر النقاط إثارةً للقلق في هذه القضية هي كيفية اختراق حساب npm الخاص بالمطور الرئيسي. وقد أوضح مدير Axios نفسه لاحقًا أنه فعّل خاصية المصادقة الثنائية على جميع خدماته تقريبًا ، ومع ذلك فقد منح الوصول دون أن يدرك ذلك.
بحسب تحليل ما بعد الحادثة الذي شاركه الفريق، شنّ المهاجمون عملية هندسة اجتماعية متقنة للغاية، مدعومة بأدوات الذكاء الاصطناعي، لكسب ثقة الضحايا . انتحلوا شخصية مؤسس شركة، ونسخوا هويتها البصرية وصورتها وحتى علامتها التجارية. أنشأوا مساحة حقيقية على منصة سلاك تحمل شعار الشركة، وقنوات بمنشورات يُفترض أنها متزامنة مع لينكدإن، بل وحتى ملفات تعريف مزيفة لموظفين ومطوري برامج مفتوحة المصدر.
في هذا السياق، قاموا بجدولة اجتماع عبر مايكروسوفت تيمز، حضره فريق كامل من المختصين . خلال الاجتماع، قاموا بمحاكاة مشكلة تقنية، وأشاروا إلى أن أحد مكونات نظامهم قديم. قام فني الصيانة، ظنًا منه أن ذلك متطلب مشروع متعلق بأداة مؤتمرات الفيديو نفسها، بتنزيل الملف المقترح وتثبيته.
كان ذلك الملف في الواقع حصان طروادة للتحكم عن بُعد، والذي مكّن المهاجمين من الوصول إلى بيانات اعتماد الضحية والسيطرة في نهاية المطاف على حساب npm المستخدم لنشر Axios . كانت العملية برمتها مُحكمة التنظيم، وتضمنت تفاصيل كثيرة تبدو واقعية، لدرجة أن الضحية وصفتها بأنها "مُنسقة بإتقان، واحترافية، ومُقنعة تمامًا".
يُظهر هذا العنصر البشري في الحادثة بوضوح أن حتى التدابير التقنية مثل المصادقة الثنائية غير كافية عندما تقترن الهندسة الاجتماعية المتقدمة بانتحال الهوية المرئي، أو التزييف العميق، أو الاستنساخ الدقيق للمنظمات . ومرة أخرى، تكمن الحلقة الأضعف في التفاعل البشري.
تأثير استخدام Axios على المؤسسات والمطورين
من الناحية العملية، تكمن المشكلة الرئيسية في تحديد المتضررين فعلياً. يجب على أي مؤسسة قامت بتثبيت [email protected] أو [email protected] خلال فترة توفرهما أن تفترض أن الجهاز أو نظام التشغيل الذي نفّذ عملية التثبيت قد يكون مخترقاً.
توصيات شركات مثل StepSecurity وAikido وHuntress وElastic واضحة لا لبس فيها. في حال وجود أي شك، من الضروري اتباع نهج استباقي، وليس مجرد "حذف وإعادة تثبيت node_modules ". الإجراء الأمثل هو إعادة بناء الأجهزة أو البيئات المتأثرة من صور موثوقة، ومراجعة سجلات التكامل المستمر/التسليم المستمر (CI/CD) بعناية لتحديد المهام أو مسارات العمل التي ربما تكون قد نفذت الإصدارات المخترقة.
علاوة على ذلك، من الضروري تغيير جميع بيانات الاعتماد والأسرار التي ربما يكون برنامج الوصول عن بعد قد وصل إليها من تلك العقد : رموز npm، ومفاتيح موفر الخدمة السحابية، وأسرار خط الأنابيب، وبيانات اعتماد قاعدة البيانات، ومفاتيح SSH، وما إلى ذلك. إن ترك بيانات الاعتماد هذه متداولة بعد مثل هذا الهجوم يفتح الباب أمام الحركة الجانبية الصامتة.
على المستوى التقني، ينبغي على الفرق مراجعة ملفات القفل الخاصة بها (package-lock.json، pnpm-lock.yaml، yarn.lock) بحثًا عن أي إشارات إلى الإصدارات المخترقة من Axios و plain-crypto-js . في حال العثور على هذه العناصر، تتمثل الخطوة التالية في فحص الأنظمة المتأثرة بحثًا عن آثار برامج التحكم عن بُعد (RAT) المحتملة: /Library/Caches/com.apple.act.mond على نظام macOS، و %PROGRAMDATA%\wt.exe و %PROGRAMDATA%\system.bat على نظام Windows، أو /tmp/ld.py على نظام Linux.
بالتوازي مع ذلك، يُنصح بتحديد إصدارات آمنة من Axios بشكل صريح، مثل 1.14.0 و0.30.3، واستخدام التجاوزات أو الحلول لمنع التبعيات المتعدية من الوصول إلى إصدارات غير مرغوب فيها . كما يُعد حظر حركة المرور الصادرة إلى نطاق sfrclakcom إجراءً احترازيًا منطقيًا، على الأقل أثناء تحليل النطاق الكامل للهجوم.
دروس أمنية لسلسلة توريد البرمجيات
حادثة أكسيوس ليست حدثًا معزولًا، بل هي حلقة أخرى في سلسلة هجمات على سلاسل التوريد، تشمل حالات مثل SolarWinds وKaseya و3CX وPolyfill.io، بالإضافة إلى ثغرات أمنية استُغلت في Log4j. الفكرة الأساسية واحدة دائمًا: اختراق مكون موثوق به واسع الانتشار لزيادة نطاق التأثير ، بدلًا من محاولة مهاجمة جهاز تلو الآخر.
من أكثر الدروس تكرارًا من الخبراء أن الثقة لا يمكن أن تعتمد فقط على شعبية مكتبة برمجية أو سمعة القائم على صيانتها . فإذا تم اختراق قناة الإصدار (حساب npm، أو خط أنابيب التكامل المستمر/التسليم المستمر، أو بنية البناء التحتية)، فإن كل ما يُصدر من خلالها يرث هذا الخطر. كما أن مراجعة الكود يدويًا غير كافية إذا اختبأت برمجيات خبيثة في تبعيات غير مباشرة وحذفت نفسها بعد التنفيذ.
كما تم التأكيد على أن "السرعة الافتراضية" لتحديثات التبعيات تأتي بتكلفة من حيث مساحة الهجوم . صحيح أن اعتماد أحدث إصدار تلقائيًا أمرٌ مريح للغاية، إلا أنه يفتح الباب أمام تحديث خبيث للانتشار في غضون دقائق. وتدرس بعض المؤسسات بالفعل سياسات مثل اشتراط وجود إصدار جديد في النظام البيئي لفترة معينة قبل اعتماده، أو اشتراط خضوع التغييرات في الحزم الأساسية لمراجعة يدوية إضافية.
فيما يتعلق ببنية التطوير التحتية، يجب التعامل مع بيئات التكامل المستمر/التسليم المستمر (CI/CD) كأصول بالغة الحساسية . أي برنامج تجسس عن بُعد (RAT) يُنفذ أثناء تثبيت التبعيات سيسعى على الأرجح إلى الوصول إلى أسرار خط الأنابيب والوصول إلى بيئات أخرى. لم يعد تقسيم هذه العُقد ومراقبتها عن كثب وتغيير أسرارها دوريًا مجرد توصية "مثالية"، بل ضرورة حتمية.
وأخيرًا، يتطلب اكتشاف هذا النوع من الهجمات دمج معلومات من مصادر متعددة: الإصدارات المثبتة، وملفات القفل، ومؤشرات اختراق نظام التشغيل، وبيانات الشبكة . وتساعد الأدوات التي تُنشئ وتُدير قوائم مكونات البرامج (SBOMs) على تتبع المشاريع التي تستخدم الحزم البرمجية بسرعة، وهو أمر بالغ الأهمية عند إطلاق تنبيهات ضخمة كهذه.
تُجسّد هذه الحادثة مع أكسيوس مدى اعتماد منظومة التبعيات، مهما بدت ناضجة ومتماسكة، على الثقة واليقظة الدائمة. فمكتبة تبدو بريئة، يديرها شخص واحد يقع ضحية لهجوم هندسة اجتماعية مُحكم، يُمكن أن تُصبح، في غضون ساعات، أداة عالمية لنشر برامج التجسس عن بُعد (RATs) عبر مختلف المنصات ضد الشركات والعاملين المستقلين والمؤسسات من جميع الأحجام . لم يعد تعزيز الضوابط حول حسابات النشر، وخطوط الإنتاج، والتبعيات الحيوية ممارسةً مُثلى اختيارية، بل أصبح شرطًا أساسيًا لاستمرار التطوير في بيئة يتسم فيها المهاجمون بالصبر، والابتكار، والتجهيز بأدوات أفضل.

