اجتياح يفوق 67 ألف حزمة مزيفة: هجوم سبامي واسع يضرب سجل npm

حذّر باحثو الأمن السيبراني من حملة سبام واسعة اجتاحت سجل npm منذ مطلع عام 2024 عبر نشر عشرات الآلاف من الحزم المزيفة في إطار جهد يبدو ذا دوافع مالية. وقال الباحثان كريس ستايكو وكيران راج من Endor Labs إن الحزم نُشرت بشكل منهجي وعلى مدى فترة طويلة، ما أدى إلى إغراق السجل بحزم عديمة القيمة استمر وجودها لما يقارب عامين. وقد أحصى الباحث الأمني بول ماكارتي حتى الآن 67579 حزمة نُشرت في إطار الحملة التي سُمّيت IndonesianFoods Worm لاعتمادها آلية انتشار تشبه الديدان واعتمادها أسماء إندونيسية ومصطلحات غذائية. وتتنكر هذه الحزم في صورة مشاريع Next.js دون أن تسعى إلى سرقة بيانات أو تنفيذ أنشطة خبيثة تقليدية، بل تركز فقط على إغراق السجل.

آلية انتشار تشبه الديدان وملفات خادعة

تقوم الحزمة المزيفة على ملف جافاسكريبت واحد مثل auto.js أو publishScript.js يبقى خاملاً إلى أن يقوم المستخدم بتشغيله يدوياً عبر أمر node auto.js، إذ لا ينفذ تلقائياً أثناء التثبيت أو عبر postinstall. ورغم عدم وضوح دوافع المستخدمين لتشغيل الملف يدوياً، فإن وجود ما يفوق 43000 حزمة يوحي إما بوقوع ضحايا في فخ التشغيل عرضاً أو فضولاً، أو بقيام المهاجمين أنفسهم بتشغيل السكربت لإغراق السجل. وأشار الباحثون إلى أن الكود كتب بطريقة تسمح باستغلاله في سيناريوهات هندسة اجتماعية مثل تدوينات مضللة أو أدلة تعليمية تشجع على تشغيل الملف لاستكمال الإعداد أو إصلاح خطأ مزعوم. ويهدف تصميم الحمولة الخامل إلى الإفلات من الفحص الآلي حيث يتطلب التنفيذ اليدوي، ما يحد من اكتشافه عبر الأنظمة التحليلية.

دورة نشر متواصلة تُنتج آلاف الحزم يومياً

بمجرد تفعيل الملف يدوياً، يدخل إلى حلقة لانهائية تبدأ بإزالة سمة private من ملف package.json لتفادي منع النشر، ثم توليد اسم عشوائي للحزمة ورقم إصدار عشوائي لتجاوز كشف النسخ المكررة. ويجري بعد ذلك رفع الحزمة إلى npm باستخدام npm publish، وتُعاد العملية كل 7 إلى 10 ثوان، بمعدل قد يصل إلى 17000 حزمة يومياً. ووفقاً للباحثين، يؤدي هذا التدفق إلى إضاعة موارد البنية التحتية وتلويث نتائج البحث وخلق مخاطر في سلسلة التوريد، خصوصاً إذا قام مطورون بتثبيت حزم خبيثة بالخطأ. وقد تبين أن هذه الحملة امتداد لهجوم وثقته Phylum وSonatype في أبريل 2024 تضمن نشر آلاف الحزم لإجراء حملة تعدين عملات مشفرة آلية عبر بروتوكول TEA. وتكشف ملفات package.json أن الحزم ترتبط ببعضها البعض عبر تبعيات متبادلة، ما يخلق شبكة ذاتية التكاثر تزيد الضغط على البنية التحتية عند تثبيت أي منها. كما رصدت Endor Labs وجود ملفات tea.yaml داخل حزم مثل arts-dao و gula-dao تضم حسابات متعددة على بروتوكول TEA، ما يرجح استغلال الحملة للحصول على مكافآت عبر تضخيم التأثير على المنصة.

حملات فرعية وأساليب أخرى لتوليد الحزم

وثقت شركات أمنية مثل JFrog نسخة ثانية من الحملة تحت اسم Big Red تعتمد على توليد أسماء إنجليزية عشوائية مثل able_crocodile-notthedevs، فيما تعتمد على استغلال بيانات اعتماد npm المخزنة لدى الضحايا لنشر حزم جديدة على نحو متواصل. وأوضح الباحثون أن الكود يعمل كمنشأة آلية متكاملة تنتج حزم npm تبدو مشروعة من حيث الشكل لكنها مبنية على قالب واحد مع اختلافات طفيفة في البيانات التعريفية. وتشير النتائج أيضاً إلى نقطة عمياء في أدوات الفحص الأمني، إذ تركز في العادة على اكتشاف الكود الخبيث أثناء التثبيت، بينما يبقى هذا النوع من الهجمات خاملاً إلى حين التشغيل اليدوي. وتصف Sonatype هذه الظاهرة بأنها دودة للنشر الذاتي تعمل على نطاق واسع، لا تستهدف اختراق أجهزة المطورين بل تراهن على الكمية والأتمتة لزعزعة أكبر سلسلة توريد برمجيات مفتوحة المصدر في العالم. وقد أكدت GitHub أنها أزالت الحزم المخالفة وأغلقت الحسابات المرتبطة بها وفق سياساتها لمكافحة الهجمات الخبيثة، مشيرة إلى اعتمادها مراجعات يدوية وتقنيات كشف تعتمد التعلم الآلي لرصد النشاط المريب في السجل.

محمد طاهر
محمد طاهر
المقالات: 937

اترك ردّاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *


The reCAPTCHA verification period has expired. Please reload the page.