TL؛ DR
لا تُعدّ حزم npm الخبيثة حدثًا عابرًا، بل هي عملية نشر مستمرة، ويتم تحديث قائمة الحالات المؤكدة أسبوعيًا. أكد زيجيني ذلك خلال سبعة إصدارات متتالية من نشرة "ملخص الشفرة الخبيثة"، والتي تجاوزت الآن إصدارها السابع والثمانين. 635 حزمة ضارةيتراوح المعدل من 13 في أسبوع هادئ إلى 206 في أسبوع مزدحم. والنطاق الأسبوعي هو المهم: فهذا معدل ثابت، وليس حدثًا عابرًا.
- المشكلة تكمن في الإيقاع. انتقلت إحدى الحزم من الصفر إلى أكثر من 55 إصدارًا في أسبوع واحد. ونشرت مجموعة أخرى ما يقارب 30 اسم حزمة في أقل من ثلاث ساعات. لذا، فإن التدقيق الأسبوعي ليس وحدة زمنية مناسبة.
- لا تصل هذه الأجهزة على شكل مركبات تطوعية مدرعة. لا تُعتبر الحزمة الخبيثة ثغرة في الشيفرة البرمجية السليمة، لذا لا يوجد تنبيه أو تقييم، وعادةً لا يوجد مُعرّف على الإطلاق. البرنامج المُصمّم لاكتشاف الثغرات الأمنية لا يُدرك ذلك هيكليًا.
- الإزالة ليست حماية. تبقى الحزم متاحة عادةً لمدة تتراوح بين دقائق وساعات. إما أن عملية التثبيت قد تمت خلال تلك الفترة أو لم تتم.
- يجب أن يكون الكشف عند النشر، والتنفيذ عند التثبيت. أي شيء ينتظر توقيعًا أو CVE أو فحصًا أسبوعيًا يصل بعد الإصدار الذي قام بسحبه.
القائمة موجودة. هذا لا يعني أنك تحت المراقبة.
لا يوجد أي غموض بشأن حزم npm الخبيثة. يتم نشر الحالات المؤكدة وتسميتها وتوثيقها أسبوعيًا، بما في ذلك في ملخص الشفرات الخبيثة الخاص بشركة Xygeni، وقد تجاوزت الآن طبعتها السابعة والثمانين.
الفجوة ليست في المعلومات، بل في الانتباه والوتيرة. فالقائمة التي يتم تحديثها أسبوعياً، وقراءتها شهرياً، والعمل عليها ربع سنوياً، هي قائمة توثق ما حدث بالفعل لشخص ما.
إليكم كيف بدت الأمور خلال سبعة أسابيع، مأخوذة من نتائجنا المؤكدة الخاصة بنا بدلاً من استطلاع رأي البائعين.
| استوعب | الطرود المؤكدة | ما الذي برز |
|---|---|---|
| ملخص 87 | 13 | مجموعة برامج Composer الأولى. @umschool/platform نشرت في 999.0.0 لتجاوز حزمة داخلية |
| ملخص 86 | 35 | حملة بيليز الانتخابية تستخدم أسماء مستعارة متغيرة. أربعة @stellarshift تم نشر الحزم في إصدار متطابق |
| ملخص 85 | 53 | [تأكيد التميز] |
| ملخص 84 | 34 | انتحال شخصية بيليز عبر أربعة أسماء وستة أيام. cloud-baileys أُعيد نشرها أربع مرات |
| ملخص 83 | 114 | wormgpt-cliتسع نسخ في يوم واحد، سميت على اسم أداة حقيقية لإدارة التعلم المظلم. |
| ملخص 82 | 206 | [تأكيد التميز] |
| ملخص 81 | 180 | 17 طرداً تنتحل أسماءً داخلية خاصة بشركة باي بال في 28.0.0. zevairouter الإصدارات الـ 55 الماضية |
النمط المهم ليس الإجمالي، بل السرعة داخل كل أسبوع.
السرعة هي أساس الهجوم
ثلاث نتائج من تلك الأسابيع، كل منها طريقة مختلفة لتجاوز المراجعة.
- انتشار الإصدارات. حزمة npm واحدة،
zevairouterوصل عدد الإصدارات المؤكدة إلى أكثر من 55 إصدارًا في أسبوع واحد، وانضم إليها عشرة إصدارات أخرى من حزمة مصاحبة. على موقع PyPI،bingo-aiتم إنتاج ما يقرب من 80 نسخة في حوالي 30 دقيقة. لا توجد عملية مراجعة يدوية تعمل بهذه السرعة، ولا حتى عملية مراجعة ليلية. - مجموعات متزامنة. تم نشر سبعة عشر حزمة برمجية تنتحل أسماء خدمات PayPal الداخلية في غضون دقائق معدودة، جميعها بالإصدار 28.0.0. هذا ليس مجرد حجم كبير، بل هو سباق محموم: رقم إصدار مُضخّم يُستخدم للتفوق على الحزمة الداخلية التي كتبتها فرقكم. وتكررت الحيلة نفسها بعد أسابيع.
@umschool/platformتم النشر على العنوان 999.0.0. - المثابرة حتى الإطاحة. استمرت حملة انتحال شخصية بيليز لأسابيع. تتغير الأسماء، وتتزايد النسخ، ويستمر النشر بعد الكشف. المشغل الذي يتعامل مع عمليات الحذف كتكلفة لممارسة العمل بدلاً من سبب للتوقف، هو مشغل لن تتمكن مراجعتك الفصلية من مواكبته.
وفترة بقاء الحزم قصيرة عمداً. ففي إحدى المجموعات الحديثة، ظلت الحزم نشطة لمدة تتراوح بين 17 دقيقة و13 ساعة قبل إزالتها.
| فئة الإشتراك | نُشر (UTC) | يسارًا واقفًا |
|---|---|---|
moidev | 2026-08-16 16:31 | شنومكس شنومشم |
moidevx | 2026-08-17 03:24 | شنومكس شنومشم |
moidevz | 2026-08-26 03:38 | شنومكس شنومشم |
moideva | 2026-08-26 18:58 | شنومكس شنومشم |
amicat | 2026-08-28 20:48 | 17m |
bmcat | 2026-08-28 21:17 | 47m |
eyevox | 2026-08-28 21:44 | 21m |
moidevh | 2026-08-31 03:22 | 47m |
اعتبر ذلك بمثابة فترة كشف مؤقتة وليس مقياس أداء للسجل. إذا تم تشغيل عملية بناء خلال هذه الفترة، فإن عملية الإزالة لن تُغير شيئًا.
لماذا لا يرى برنامجك الخاص بنقاط الضعف هذا؟
هذه هي النقطة الهيكلية، وهي النقطة التي لم تستوعبها معظم فرق الأمن.
| ثغرة أمنية | حزمة خبيثة | |
|---|---|---|
| المنشأ | خطأ في الكود المكتوب بحسن نية | قطعة أثرية تم بناؤها ونشرها لإلحاق الضرر |
| تحديد | CVE، مع توصية وتقييم | عادةً لا شيء. لا يوجد CVE، ولا توجد تحذيرات. |
| الخط الزمني | تم الكشف عنها، ثم تم إصلاحها على مدى أيام أو أسابيع | يعيش لدقائق أو ساعات، ثم يُزال |
| كيف تتعلم | التغذية، الماسح الضوئي، الإشعارات | فقط إذا كان هناك شيء ما يراقب السجل وقت النشر |
| المأزق | قم بالترقية إلى إصدار مُرَقَّع | لا توجد نسخة معدلة. لم تكن شرعية قط. |
| ما يقدمه برنامجك | يستوعب، ويسجل، ويجدول | لا شيء، إلا إذا تم بناؤه لهذا الغرض. |
الثغرة الأمنية هي خلل في كود برمجي كُتب بحسن نية. أما الحزمة الخبيثة فهي أداة مُتعمدة ينشرها مُهاجم، عادةً بدون مُعرّف أو تنبيه، وعمرها الافتراضي يُقاس بالساعات. كل عملية بُنيت حول استيعاب بيانات الثغرات الأمنية، وتقييم خطورتها، وتحديد فترات التصحيح، صُممت للغرض الأول، وطُبقت على الثاني افتراضيًا.
إن غياب المعرّف ليس سهوًا في نظام CVE، بل هو جزء من آلية عمل هذه الفئة: فلا أحد يُبلغ عن ثغرة أمنية في برنامج خبيث، وبحلول الوقت الذي يُمكن فيه الإبلاغ، يكون البرنامج قد اختفى. وهذا يعني أن السؤال "هل يحتوي هذا على ثغرة أمنية من نوع CVE؟"يعيد نفس الإجابة لحزمة نظيفة ولبرنامج سرقة بيانات الاعتماد الذي تم نشره قبل ساعة."
ما تفعله الحمولات فعلياً الآن
الصورة الساذجة لحزم npm الخبيثة هي أنها عبارة عن برنامج تعدين عملات رقمية. أما الواقع الحالي فهو سرقة بيانات الاعتماد التي تستهدف المطورين، وبشكل متزايد بيانات اعتماد الذكاء الاصطناعي على أجهزتهم.
استخدم مزامنة وهمية مجموعة من ثماني حزم npm منشورة تحت حساب واحد، عملت تمامًا كما هو مُعلن عنها، بينما أخفت برنامجًا خبيثًا ذاتي التشغيل، يعمل بعد حوالي 37 ثانية من الاستيراد، ويفك تشفير حمولة مُصممة على هيئة بيئة اختبار وهمية، ويُثبّت خاصية استمرارية البيانات عبر المنصات، ويُشغّل برنامجًا لسرقة المحافظ والبيانات السرية. تأخير، تمويه، استمرارية، تسريب.
وعلى نطاق أوسع، موجة إسقاط السلسلة لـ دودة شاي-هولود وصل عدد حزمها إلى أكثر من 400 حزمة و1,700 إصدار في أوائل أغسطس 2026، مع إجمالي 1.3 مليار عملية تنزيل شهريًا. وقد فحص جامع البيانات الخاص بها أكثر من 300 نمط بيانات اعتماد، بما في ذلك مفاتيح OpenAI وAnthropic وCursor. وأصبحت أجهزة المطورين ذات قيمة عالية.cisوذلك بسبب بيانات اعتماد النموذج الموجودة عليها.
لقد اتبعت اصطلاحات التسمية مسار الأموال. فقد انتحلت مجموعات البيانات الحديثة أسماءً مثل مجموعات تطوير البرمجيات للعملات المشفرة والتمويل اللامركزي، ووحدات الدفع، ومكتبات واجهة برمجة تطبيقات واتساب، وأدوات AWS، وفي إحدى الحالات، حزمة تحمل علامة تجارية صريحة لأداة هجومية من نوع dark-LLM.
ما الذي يوقف فعلياً حزم npm الخبيثة؟
أربع ضوابط، بالترتيب الذي تؤتي ثمارها.
1. الكشف عند النشر، وليس عند الإفصاح. نظام الإنذار المبكر للبرمجيات الخبيثة من زيجيني يحلل النظام الحزم المنشورة حديثًا عبر npm وPyPI وMaven وغيرها من سجلات الحزم فور ظهورها، مستخدمًا تحليل السلوك وتحليل الشذوذ بدلًا من انتظار التوقيع أو التقرير. هذه هي النقطة الوحيدة في الجدول الزمني التي تسبق عملية البناء الخاصة بك.
2. تطبيق القانون في مكان التثبيت. يكشف نظام الكشف عن البرامج الضارة أن الحزمة ضارة. وتمنع سياسة حظر التثبيت تشغيل برنامج ما بعد التثبيت. ويزداد هذا الأمر أهميةً الآن بعد أن أصبحت البرامج تُثبّت التبعيات تلقائيًا دون تدخل بشري.
3. ملفات القفل وتثبيت التجزئة. استعمل npm ci في CI بدلاً من npm installلذا، يتم بناء شجرة التبعيات الدقيقة الموجودة في ملف القفل. وهذا يغلق مسار الاستبدال الذي تعتمد عليه النسخ المكررة والإصدارات المتضخمة.
4. النتائج في مكان واحد. يجب وضع نتائج البرامج الضارة في نفس قائمة الأولويات الخاصة بك SCA ونتائج فحص التعليمات البرمجية، وليس في موجز منفصل يتصفحه شخص ما. يجب أن تتجاوز التبعية الخبيثة المؤكدة مستوى خطورة CVE متوسطة الخطورة، ولا يمكن إجراء هذه المقارنة إلا من خلال نموذج مخاطر مشترك.
راقب القائمة، أو قم بأتمتتها
لا أحد يملك الوقت الكافي لقراءة سجل البيانات أسبوعياً. هذا هو الهدف من أتمتة هذه العملية.
يقوم Xygeni بتحليل الحزم المنشورة حديثًا عبر npm والسجلات الأخرى في لحظة النشر، ويشير إلى البرامج الضارة المؤكدة قبل أن تصل إلى مرحلة البناء، ويضع النتيجة في نفس قائمة الانتظار ذات الأولوية مثل كل شيء آخر تعمل عليه فرقك بالفعل. الكشف عن البرامج الضارة يتم تضمينها في خطة المطور المجانية، وهو ما لا ينطبق على معظم المستويات المجانية في هذه الفئة.
ابدأ مجانًا، أو اقرأ ملخص هذا الأسبوع للبرمجيات الخبيثة لأول مرة.
الأسئلة الشائعة
ما هي حزم npm الخبيثة؟
الحزم المنشورة في سجل npm والتي تم بناؤها عمداً لإحداث الضرر: سارقو بيانات الاعتماد والمحافظ، والأبواب الخلفية، وبرامج التنزيل، وعناصر تشويش التبعية التي تنتحل أسماء الحزم الداخلية أو الشائعة.
ما مدى شيوع حزم npm الخبيثة؟
بشكل مستمر. خلال سبع إصدارات حديثة من نشرة "ملخص الشيفرة الخبيثة"، أكدت شركة Xygeni وجود 635 حزمة برمجية خبيثة، يتراوح عددها بين حوالي 12 حزمة في أسبوع هادئ إلى أكثر من 200 حزمة خلال الحملات النشطة. وتمثل حزمة npm الغالبية العظمى منها.
كم من الوقت تبقى حزم npm الخبيثة متاحة؟
غالباً ما تتراوح المدة بين دقائق وساعات. هذه الفترة الزمنية هي المهمة، لأن عملية البناء التي تعمل خلالها تتأثر بالفعل بغض النظر عن سرعة إزالة الحزمة لاحقاً.
هل تحصل حزم npm الخبيثة على ثغرات أمنية (CVEs)؟
عادةً لا. إنها عبارة عن ثغرات نشرها المهاجمون وليست عيوبًا في التعليمات البرمجية المشروعة، ولم تتلقَ حملات التتبع لعام 2026 أي تخصيصات CVE أثناء الاستغلال النشط.
كيف يمكنني التحقق مما إذا كانت الحزمة ضارة قبل تثبيتها؟
استخدم أداة تقوم بتحليل الحزم عند النشر بدلاً من أداة تتحقق من قائمة معروفة بأنها سيئة، وتحقق من الناشر وسجل الإصدارات، وكن حذرًا من أرقام الإصدارات العالية بشكل غير عادي والحسابات الجديدة تمامًا، وقم بتطبيق سياسة في وقت التثبيت بدلاً من الاعتماد على المراجعة.
ما هو الارتباك المتعلق بالتبعية؟
نشر حزمة عامة تحمل نفس اسم حزمة داخلية، عادةً بإصدار مُضخّم، بحيث يُفضّل المُحلِّل نسخة المُهاجم. تُعدّ مجموعة أسماء PayPal بالإصدار 28.0.0 مثالًا نموذجيًا على ذلك.







