حملة خبيثة عبر حزمة npm: “indexed-btree” تكشف تحوّل أساليب الهجوم في سلاسل التوريد

أعلنت شركة Checkmarx عن اكتشاف حزمة npm خبيثة باسم indexed-btree، صُممت لتقليد الحزمة الشرعية sorted-btree، لكنها أخفت سلوكها الضار داخل كود التطبيق أثناء التشغيل بدلاً من الاعتماد على سكربتات التثبيت مثل preinstall أو postinstall. هذا التحول يعكس تكيف المهاجمين مع التغييرات الأمنية التي أُدخلت في npm الإصدار 12، والذي منع التنفيذ التلقائي لسكربتات دورة الحياة.

الحزمة أُنشئت في يونيو 2026 بواسطة مستخدم باسم “charlessadler25″، وحققت ملايين التنزيلات قبل إزالتها، ويُعتقد أن الحملة حققت أرباحاً غير مشروعة بلغت نحو 230 ألف يورو بالعملات المشفرة (109 ETH).

آلية عمل البرمجية الخبيثة

البرمجية الخبيثة أخفت محملها داخل دالة BTree.prototype.set()، والتي تستدعي ملف sharedLoad.min.js. هذا الملف يحتوي على المرحلة الأولى المشفّرة من البرمجية، ويقوم بـ:

  • بصمة الجهاز وإرسال البيانات إلى قناة Slack وبوت Telegram.
  • استخدام تقنية EtherHiding لجلب بيانات مشفّرة من عقد ذكي على شبكة Sepolia.
  • دمج البيانات لتشكيل الحمولة الثانية.
  • حذف الآثار الخبيثة وإزالة المشغّل من الكود لتغطية المسارات.
حزم أخرى مرتبطة بالحملة

إلى جانب indexed-btree، تم ربط العملية بعدة حزم npm أخرى أُزيلت لاحقاً، منها:

  • ordered-kv-index
  • btree-leaderboard
  • priority-slot-queue
  • btree-range-store
  • btree-core
  • btree-time-index
  • btree-lru-cache
  • neighbor-key-map
  • sliding-score-window
  • mutex-forge
دروس أمنية للمطورين

يشير الخبراء إلى أن الاكتفاء بفحص وقت التثبيت لم يعد كافياً، إذ أن المهاجمين باتوا يدمجون الأكواد الضارة داخل وظائف تبدو طبيعية أثناء التشغيل. المطلوب هو اعتماد تحليل سلوك وقت التشغيل إلى جانب الفحص التقليدي، لضمان كشف الأنشطة المشبوهة. كما أوضح Ensar Seker، مدير أمن المعلومات في SOCRadar، أن “الضوابط الأمنية تغيّر سلوك المهاجمين لكنها لا تقضي على التهديد نفسه”، مؤكداً الحاجة إلى طبقات متعددة من الدفاع تشمل ما قبل التثبيت وأثناء التنفيذ وبعد النشر.

عودة حملة “PolinRider” على Packagist

في سياق متصل، كشفت شركة Socket عن حذف كود خبيث من نسخة “dev-main” لحزمة visanduma/nova-two-factor على Packagist، ضمن حملة مرتبطة بكوريا الشمالية تُعرف باسم PolinRider. هذه الحملة تعتمد على اختراق حسابات المطورين وحقن أكواد خبيثة في المستودعات، مع استغلال أنشطة المطورين الروتينية مثل استنساخ المستودعات أو فتحها في بيئات التطوير (IDE) لتفعيل سلسلة العدوى.

من أبرز أساليب PolinRider:

  • إعادة كتابة تاريخ Git لإخفاء الحمولة.
  • إخفاء الأكواد داخل ملفات إعدادات أو خطوط.
  • إعداد مهام تلقائية خبيثة في VS Code.
  • استخدام تقنيات مقاومة للإزالة مثل EtherHiding وNullReceiver لنقل الحمولة عبر البلوك تشين.

التطور الأخير شمل إدخال جافاسكربت مشفّر مباشرة في ملف index.php وتنفيذه عبر دالة shell_exec() في PHP، ما يعكس قدرة المهاجمين على تكييف أساليبهم وفق طبيعة المشروع المخترق.

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

اترك ردّاً

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


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