في 8 سبتمبر، تعرض نظام NPM البيئي لهجوم كبير على سلسلة توريد البرمجيات، مما أدى إلى اختراق العديد من مكتبات JavaScript واسعة الانتشار. ظهرت الثغرة لأول مرة عندما حذر Charles Guillemet، المدير التقني لشركة Ledger، من تعرض حساب أحد المطورين الموثوقين على Node Package Manager للاختراق. أشارت التقديرات الأولية إلى أن حجم التعرض يتجاوز مليار عملية تنزيل، لكن التحليلات اللاحقة كشفت أن الحزم المخترقة تمثل في الواقع أكثر من 2.6 مليار عملية تنزيل أسبوعياً.

هجوم سلسلة التوريد يعرض أكثر من 2 مليار للخطر
هجوم سلسلة التوريد يعرض أكثر من 2 مليار للخطر
استهدف الهجوم حساب مطور يُعرف باسم "qix"، والذي يشرف على العديد من مكتبات JavaScript الشهيرة بما في ذلك chalk وstrip-ansi وcolor-convert وdebug. تظهر هذه المكتبات في عدد لا يحصى من المشاريع التي تمتد عبر بيئات الخادم (server-side) والواجهات الأمامية (front-end). تمكن المهاجمون من الوصول عبر بريد إلكتروني مزيف للدعم الفني وقاموا بدفع تحديثات ضارة لحوالي 18 حزمة. سمحت عمليات تثبيت التبعيات (dependencies) المؤتمتة للبرمجيات الخبيثة بالانتشار بسرعة خلال ساعات.
أوضح Guillemet أن الكود الضار قام باستبدال عناوين محافظ العملات المشفرة بصمت أثناء المعاملات. واجه المستخدمون الذين يعتمدون على المحافظ البرمجية (software wallets) خطر فقدان أموالهم إذا قاموا بالموافقة على المعاملات دون ملاحظة عنوان المستلم المُعدل.
برمجية Crypto Clipper الخبيثة وMetaMask
صنف باحثو الأمن البرمجية الخبيثة على أنها "crypto clipper". فهي تقوم باستبدال عناوين المحافظ في مراحل مختلفة من المعاملة. وعند عدم اكتشاف محفظة، تقوم البرمجية بتعديل البيانات الصادرة داخل التطبيقات اللامركزية (dApps) من خلال ربطها بوظائف المتصفح مثل fetch وXMLHttpRequest، مما يؤدي إلى فحص وتغيير العناوين داخل بيانات التطبيق.
إذا كانت إضافة محفظة مثل MetaMask موجودة، فإن البرمجية تعترض المعاملة قبل التوقيع. وتقوم بتعديل عنوان المحفظة في الذاكرة بحيث يظهر العنوان الاحتيالي عندما يراجع المستخدم المعاملة. تستخدم البرمجية خوارزمية Levenshtein لإنشاء عناوين تشبه إلى حد كبير العناوين الأصلية، مما يجعل اكتشاف التعديلات أمراً صعباً.

هجوم سلسلة التوريد يعرض أكثر من 2 مليار للخطر
العلامات الأولى للهجوم
لاحظ المطورون الهجوم لأول مرة عندما أعادت أنظمة البناء رسالة خطأ غير متوقعة. كشف فحص تبعية تسمى error-ex عن كود مبهم يحتوي على وظيفة مشبوهة تسمى checkethereumw، مما يشير إلى استهداف محافظ Ethereum. أكد المحللون أن البرمجية الخبيثة تحتوي على إشارات إلى عناوين محافظ عبر العديد من سلاسل الكتل (blockchains)، بما في ذلك Bitcoin وEthereum وSolana وTron وLitecoin وBitcoin Cash.
تشمل الحزم المتأثرة بعضاً من أكثر الحزم استخداماً في نظام JavaScript البيئي. تتلقى Chalk أكثر من 300 مليون عملية تنزيل أسبوعياً، وdebug أكثر من 350 مليون، وstrip-ansi أكثر من 260 مليون. وبشكل مجتمع، تشهد المكتبات المخترقة أكثر من 2.6 مليار عملية تنزيل كل أسبوع، مما يظهر حجم التأثير عبر مجتمع المطورين.
المحافظ الصلبة مقابل المحافظ البرمجية
العديد من المكتبات المصابة ليست مرتبطة مباشرة بمشاريع العملات المشفرة، لكن دمجها في سلاسل التبعية يعني أن التطبيقات غير ذات الصلة قد تكون تعرضت للخطر أيضاً. تواجه المشاريع التي تتفاعل مع محافظ العملات المشفرة والتطبيقات اللامركزية أعلى مستوى من المخاطر.
أشار Guillemet إلى أن مستخدمي المحافظ الصلبة (hardware wallets) المزودة بميزات التوقيع الواضح (clear-signing) يظلون في أمان لأن هذه الأجهزة تسمح بالتحقق من كل معاملة قبل الموافقة عليها. يواجه مستخدمو المحافظ البرمجية تعرضاً أكبر ويجب عليهم توخي الحذر الشديد حتى يتم مراجعة التبعيات وتأمينها بالكامل.
العثور على المهاجم والأموال المسروقة
تم تحديد عناوين العملات المشفرة الخاصة بالمهاجم ويجري مراقبتها بنشاط من خلال شفافية سلاسل الكتل العامة. عنوان Ethereum الرئيسي المرتبط بالعملية هو 0xFc4a4858bafef54D1b1d7697bfb5c52F4c166976، إلى جانب العديد من العناوين الاحتياطية. في وقت إعداد التقرير، لم يتم نقل الأموال المسروقة. تتيح هذه المراقبة إجراء تحليل مستمر، على الرغم من أن النطاق الكامل للأصول المسروقة لا يزال غير واضح.

هجوم سلسلة التوريد يعرض أكثر من 2 مليار للخطر
دور JavaScript والمجتمع
تحرك مجتمعا JavaScript وweb3 بسرعة لاحتواء الحادث. تمت إزالة النسخ الضارة من الحزم المخترقة إلى حد كبير من السجل، لكن المخاطر لا تزال قائمة بالنسبة للمشاريع التي قد تظل تعتمد على إصدارات قديمة داخل ملفات القفل (lockfiles) الخاصة بها. يتم حث المطورين على تدقيق تبعياتهم، وتثبيت إصدارات آمنة، وإعادة تثبيت إصدارات نظيفة لمنع المزيد من التعرض.
يوصي خبراء الأمن المطورين بتدوير بيانات الاعتماد، وفرض المصادقة الثنائية على حسابات مثل NPM وGitHub، واستخدام طرق تثبيت حتمية مثل npm ci للحفاظ على تحكم صارم في الإصدارات. يجب على المستخدمين التحقق بعناية من جميع معاملات العملات المشفرة، خاصة عند الاعتماد على المحافظ البرمجية.
أفكار ختامية
يُصنف هذا الحادث كواحد من أكثر الاختراقات شمولاً التي ضربت نظام NPM البيئي. وعلى الرغم من أن استجابة المجتمع كانت سريعة نسبياً، إلا أن الهجوم يكشف عن هشاشة سلاسل توريد البرمجيات الحديثة والمخاطر التي يخلقها الاعتماد الواسع على مكونات مفتوحة المصدر.
كما أكد Guillemet، تظل مراجعة كل معاملة قبل التوقيع أمراً ضرورياً. يثبت الاختراق أن حتى المكتبات الصغيرة المضمنة في عمق البنية التحتية للتطبيق يمكن أن تصبح ناقلات هجوم مهمة عند اختراقها. بالنسبة للمطورين والمستخدمين على حد سواء، أصبحت اليقظة المستمرة الآن جزءاً حاسماً من الحفاظ على الأمن في أنظمة web3 وتطوير البرمجيات.



