كشفت حزم npm خبيثة تنكرت كأدوات بروكسي للطلاب عن حملة حوّلت المتصفحات إلى شبكة DDoS خفية لأسابيع، ما يوسع خطر الهجمات خارج أجهزة المطورين.
ما قصة حزم npm التي شغلت شبكة DDoS خفية؟
الحملة اعتمدت على 148 حزمة نُشرت داخل npm بأسماء عشوائية ولافتة، ثم قُدمت للمستخدمين على أنها مواقع بروكسي تعليمية تساعد الطلاب على تجاوز قيود التصفح داخل المدارس.
اللافت أن المهاجمين لم يركزوا هذه المرة على من يثبت الحزمة داخل مشروعه، بل استخدموا npm كمنصة استضافة مجانية لموقع مفخخ. وعندما يفتح الزائر الصفحة، يبدأ متصفحه في توليد حركة هجوم دون علمه.
كيف بدا التطبيق للمستخدمين؟
في الواجهة، كان البروكسي يعمل فعلاً ويمنح الوصول إلى ألعاب ومواقع محجوبة. لكن في الخلفية، كان يحمل شيفرة بعيدة قابلة للتبديل في أي وقت، إضافة إلى مولد إغراق عبر WebSocket.
- عدد الحزم المكتشفة: 148 حزمة
- مدة النشاط التقريبية: نحو أسبوعين خلال مايو
- الهدف الظاهر: بروكسي للطلاب
- الهدف الفعلي: تجنيد المتصفحات في هجمات DDoS
كيف تعمل الهجمة داخل المتصفح؟
بحسب المعطيات التي راجعها تيكبامين، فإن الخطر لا يبدأ أثناء التثبيت كما يحدث في هجمات سلاسل الإمداد التقليدية. الحزم لا تحتوي على lifecycle hooks واضحة، ولم تُصمم أساساً ليتم استيرادها داخل المشاريع البرمجية.
بدلاً من ذلك، تبدأ العملية عند فتح الصفحة داخل المتصفح. قبل ظهور واجهة React للمستخدم، يتم تشغيل وحدات خفية تسحب تعليمات JavaScript من مصدر خارجي ثم تنفذها بامتيازات نفس الموقع.
- الوصول إلى cookies الخاصة بالموقع
- الوصول إلى local storage
- التعامل مع endpoints من نفس النطاق
- إطلاق طلبات كثيفة عبر WebSocket
لماذا هذا الأسلوب مقلق؟
لأن الشيفرة البعيدة كانت مرتبطة بفرع متغير وليس بإصدار ثابت، ما يعني أن المهاجم يستطيع تبديل الحمولة لاحقاً دون تحديث الحزمة نفسها. هذا يمنح الحملة مرونة عالية ويجعل الاكتشاف أصعب.
ما الفرق بين هذه الحملة وهجمات npm المعتادة؟
الهجمات المعروفة على npm تستهدف عادة المطورين مباشرة عبر أسرار الوصول أو سكربتات التثبيت الخبيثة. أما هنا، فالمطور ليس الضحية الأساسية، بل المستخدم النهائي الذي يزور صفحة الويب ويظن أنه يستخدم خدمة عادية.
هذا التحول مهم لأنه ينقل الخطر من بيئة البناء إلى تبويب المتصفح نفسه. أي أن الهجمة تستغل الثقة في الخدمة المعروضة، لا في عملية التطوير فقط.
كيف يجب التعامل مع خطر حزم npm الآن؟
الخطوة الأهم هي عدم الوثوق بأي مشروع غير معروف يروج لنفسه كأداة تجاوز حجب أو خدمة مجانية مبهمة، خصوصاً إذا كان يعتمد على شيفرات خارجية قابلة للتغيير. كما ينبغي فحص الحزم التي تقدم واجهات كاملة لكنها لا تُستخدم كمكتبات فعلية داخل التطبيقات.
في النهاية، تؤكد حزم npm هذه أن تهديدات سلسلة الإمداد لم تعد محصورة في سرقة بيانات المطورين، بل قد تتحول إلى تجنيد جماعي للزوار في هجمات تعطيل الخدمة. ولهذا يرى تيكبامين أن مراقبة سلوك الحزمة بعد النشر أصبحت بقدر أهمية تدقيق شيفرتها قبل الاستخدام.