حزم خبيثة تغمر NPM بأكثر من 86,000 تنزيل

اكتشفت شركة الأمان Koi حملة تُدعى PhantomRaven التي غمرت سجل NPM بـ126 حزمة خبيثة منذ أغسطس. هذه الحزم، التي تم تنزيلها أكثر من 86,000 مرة، تستغل ميزة تسمح بتبعيات غير مفحوصة من مواقع غير موثوقة. اعتبارًا من أواخر أكتوبر 2025، ظلت حوالي 80 من الحزم متاحة.

استغل المهاجمون ثغرة في مستودع حزم NPM، محملين أكثر من 100 حزمة تسرق الاعتمادات منذ أغسطس 2025، وفقًا لشركة الأمان Koi. الحملة، التي تم تتبعها باسم PhantomRaven، استخدمت ميزة التبعيات الديناميكية البعيدة (RDD) في NPM لتوزيع 126 حزمة خبيثة. يسمح هذا الآلية للحزم بتحميل وتشغيل الكود تلقائيًا من نطاقات غير موثوقة، بما في ذلك مواقع HTTP غير مشفرة، متجاوزًا التحققات الأمنية النموذجية.

"يُظهر PhantomRaven كيف يصبح المهاجمون المتطورون [أفضل] في استغلال النقاط العمياء في أدوات الأمان التقليدية"، كتب أورين يومتوف من Koi. "التبعيات الديناميكية البعيدة غير مرئية للتحليل الثابت." بخلاف التبعيات القياسية، التي تكون مرئية ومأخوذة من بنية NPM الموثوقة، يجلب RDD كودًا 'غير مرئي' يغفله الماسحات الضوئية غالبًا. بدت الحزم الخبيثة وكأنها تحتوي على '0 تبعيات' لكنها جلبَت تبعيات ضارة من روابط URL يسيطر عليها المهاجمون، مثل http://packages.storeartifact.com/npm/unused-imports.

تُحمل هذه التبعيات طازجة في كل تثبيت، بدون تخزين مؤقت أو ترقيم إصدارات، مما يمكن هجمات مستهدفة محتملة. يمكن للمهاجمين تخصيص الحمولات بناءً على عناوين IP —تقديم كود حميد للباحثين بينما يُسلِّم البرمجيات الضارة إلى الشبكات الشركية— أو تأخير السلوك الخبيث للتهرب من الكشف. تشمل البيانات المسروقة متغيرات البيئة، واعتمادات GitHub وJenkins وNPM، بالإضافة إلى تفاصيل من بيئات التكامل والتسليم المستمر. يحدث الاستخراج بشكل متكرر عبر طلبات HTTP وJSON وWebsockets.

تقلد العديد من أسماء الحزم تلك 'المهلوسة' بواسطة روبوتات الدردشة الذكاء الاصطناعي، مستغلة اعتماد المطورين على مثل هذه الأدوات لاقتراحات التبعيات. لم يرد ممثلو NPM على الاستفسارات حول هذه الممارسة. ينصح Koi بالتحقق من منشورهم لمؤشرات الاختراق لفحص الأنظمة المتضررة.

يستخدم هذا الموقع ملفات تعريف الارتباط

نستخدم ملفات تعريف الارتباط للتحليلات لتحسين موقعنا. اقرأ سياسة الخصوصية الخاصة بنا سياسة الخصوصية لمزيد من المعلومات.
رفض