جواب سريع: تعتمد هجمات سلسلة توريد Npm على اختراق حساب مسؤول الصيانة الموثوق به أو CI/CD يقوم هذا الأسلوب بنشر نسخة خبيثة من حزمة يثق بها المطورون بالفعل، ويترك لبرامج تثبيت تلك الحزمة أو منطق الدودة البرمجية القيام بالباقي. بين أغسطس 2025 ومنتصف 2026، أنتج هذا النمط أكبر موجة من هجمات سلسلة توريد حزم npm في تاريخ السجل، بما في ذلك اختطاف chalk/debug، دودة شاي-هولودوبرامج خبيثة تابعة لدولة ما، مخبأة في حزمة يتم تنزيلها 100 مليون مرة أسبوعيًا. لا يكمن الحل في فحص الشفرة بعد تنزيلها، بل في اكتشاف الحزم الخبيثة قبل تثبيتها ومراقبة... pipeline للحصول على السلوك الدقيق الذي تشترك فيه هذه الهجمات.
كل عملية تثبيت هي بمثابة ثقة، والمهاجمون يدركون ذلك.
مطور يدير تركيب npmخلف هذا الأمر الواحد تكمن شجرة تبعيات تضم مئات، بل آلاف الحزم أحيانًا، معظمها مكتوب ومُدار من قِبل أشخاص لن يلتقي بهم المطور أبدًا. لا أحد يراجع تلك الشجرة سطرًا سطرًا. لا أحد لديه الوقت لذلك.
إن الثقة هي الهدف. فمن الأسهل على المهاجم خداع أحد مطوري npm الذين يحققون 2.6 مليار عملية تنزيل أسبوعيًا من العثور على ثغرة أمنية غير معروفة في جدار حماية إحدى شركات Fortune 500. تستغل هجمات سلسلة توريد npm هذا التفاوت تحديدًا، وتُظهر موجة الهجمات في الفترة 2025-2026 مدى اتساع نطاق هذا الاستغلال: من من عمليات الاستيلاء على أسماء النطاقات المعزولة إلى الديدان ذاتية التكاثر التي تنشر حزمها الخبيثة الخاصة بها أسرع من قدرة أي إنسان على التفاعل.
ما الذي يُعتبر هجومًا على سلسلة توريد npm
هجوم سلسلة توريد npm هو أي حادث يقوم فيه المهاجم بإدخال رمز خبيث في توزيعة npm pipeline بدلاً من إدخالها في قاعدة بيانات البرنامج المستهدف، بحيث تصل البرمجية الخبيثة متخفية في صورة تحديث روتيني للتبعيات. عادةً ما تكون نقطة الدخول واحدة من ثلاثة أشياء: بيانات اعتماد مسروقة لأحد القائمين على الصيانة، أو نشر مسروق، أو CI/CD رمز مميز، أو نسخة مخترقة pipeline يتم خداعها للنشر نيابةً عن المهاجم. ولأن حزم npm تستدعي التبعيات المتعدية تلقائيًا، يمكن لحزمة واحدة مخترقة الوصول إلى تطبيقات لم تُعلن عنها أبدًا كاعتماد مباشر.
الجدول الزمني: أكبر هجمات سلسلة التوريد لـ npm في الفترة 2025-2026
النمط الكامن وراء كل هجوم على سلسلة توريد حزم npm
بغض النظر عن التفاصيل، فإن كل حادثة مما سبق تتبع نفس الخطوات الأربع تقريبًا:
- المساس بالهوية، وليس بالنظام. مسؤول صيانة مخترق، أو رمز npm مسرب، أو رمز PAT مسروق من GitHub، أو رمز OIDC تم سحبه من CI/CD ذاكرة المُشغِّل. لا يقوم المهاجم بتعطيل سجل النظام، بل يستعير مفتاح الوصول إليه من شخص آخر.
- انشر تحت اسم يثق به المطورون بالفعل. لا حاجة إلى انتحال أسماء النطاقات عند استخدام اسم الحزمة الحقيقي. هذا ما يجعل هذه الهجمات فعالة للغاية ضد التحديثات التلقائية. pipelines: يبدو التحديث شرعياً تماماً.
- انشرها قبل أن يراجعها أحد. يتم تنفيذ البرامج النصية الخبيثة للتثبيت، أو الحمولات المشفرة، أو التعليمات البرمجية الكامنة التي لا يتم تفعيلها إلا في ظل ظروف محددة، في اللحظة التي يتم فيها التنفيذ تركيب npm يتم تشغيلها، غالباً على جهاز كمبيوتر محمول خاص بالمطور، قبل وقت طويل من أن يكتشفها فحص الأمان المجدول.
- استمروا، وبشكل متزايد، انشروا. تستخدم برمجيات Shai-Hulud وأحفادها بيانات الاعتماد التي تسرقها لنشر الحزمة المسمومة التالية تلقائيًا، مما يحول عملية اختراق واحدة إلى سلسلة من ردود الفعل عبر مخطط التبعية.
لماذا تفشل الدفاعات المعتادة في ذلك؟
صُممت معظم أدوات أمن التطبيقات لتحليل ما هو موجود بالفعل في المستودع: الثغرات الأمنية المعروفة (CVEs)، وأنماط التعليمات البرمجية الثابتة، ومشكلات التراخيص. هذا ضروري، ولكنه يصل متأخرًا جدًا بالنسبة لهذا النوع من الهجمات. فبحلول الوقت الذي يكتشف فيه الماسح الضوئي وجود تبعية، قد يكون برنامج التثبيت قد نُفذ بالفعل على جهاز المطور. تراقب برامج مكافحة الفيروسات التقليدية وأنظمة الكشف والاستجابة لنقاط النهاية (EDR) نظام التشغيل، وليس سجلات الحزم، لذا فهي لا تملك مفهوم "إصدار npm جديد" كوحدة خطر. وكما تُظهر حوادث TanStack وRed Hat، حتى شهادات سلامة البناء مثل SLSA provenance لا يفيد ذلك عندما يستولي المهاجم بشكل شرعي على الهوية التي توقعها: التوقيع صحيح، لكن الحزمة لا تزال خبيثة.
تكمن الثغرة التي تستغلها هجمات سلسلة التوريد npm تحديدًا في وقت النشر ووقت التثبيت، قبل وجود توقيع للبرامج الضارة وقبل أن يتم تشغيل الحزمة في أي مكان يبحث فيه الماسح الضوئي التقليدي.
كيفية إيقاف الهجوم التالي على سلسلة توريد npm
بعض هذا عبارة عن انضباط في العمليات يمكن لكل فريق هندسي تبنيه اليوم:
- تبعيات الدبابيس و commit lockfilesلذلك، لا يمكن للتحديث التلقائي أن يقوم بسحب نسخة خبيثة تم نشرها للتو دون أن يلاحظ أحد.
- قم بتعطيل أو عزل البرامج النصية لما بعد التثبيت بشكل افتراضي؛ لا تحتاج معظم الحزم إلى تنفيذ تعليمات برمجية عشوائية في وقت التثبيت.
- فرض المصادقة متعددة العوامل المدعومة بالأجهزة لحسابات النشر في npm، مما أدى إلى إغلاق مسار التصيد الاحتيالي الذي أدى إلى اختراق حساب chalk و debug و Qix.
- قم بالتنظير والتدوير CI/CD الرموز بقوةوتعامل مع رموز OIDC في ذاكرة المشغل كبيانات اعتماد تستحق الحماية، وليس كتفاصيل تنفيذية.
- انتبه لنمط الفتح-الحقن-إعادة القفل in CI/CD: تم تعطيل قاعدة حماية الفرع، أ commit بعد الضغط، أُعيد تفعيل القاعدة، كل ذلك في فترة زمنية قصيرة. إنها سمة متكررة لـ pipeline- خلل في سلسلة التوريد على مستوى عالٍ.
حيث ينفد الانضباط في العمليات
يقلل انضباط العمليات من المخاطر. فهو لا يكتشف البرامج الضارة فور نشرها، ولا يكتشف الفيروسات التي تنتشر بسرعة تفوق قدرة الإنسان على فرزها. هذا هو المستوى الذي صُممت من أجله حلول أمن سلسلة التوريد من Xygeni.
زيجيني MEW (الإنذار المبكر بالبرمجيات الخبيثة) يقوم النظام بتحليل الحزم الجديدة المنشورة على npm وPyPI وMaven بشكل مستمر، ويكتشف البرامج الضارة قبل وجود توقيع لها بدلاً من اكتشافها بعد ذلك، ويعيد تغذية التهديدات المؤكدة إلى النظام. زيجيني محرك الكشف الخاص به. جدار الحماية التابع يقوم بفحص npm و PyPI و Maven و NuGet و RubyGems في الوقت الفعلي ويحظر عمليات التثبيت الضارة قبل أن تصل إلى جهاز المطور أو إلى عملية البناء. CI/CD إكتشاف عيب خلقي الساعات pipelineللحصول على نمط السلوك الدقيق وراء حوادث مثل اختراق TanStack، بما في ذلك تسلسل فتح القفل والحقن وإعادة القفل، مع سجل تدقيق كامل. ولأن Xygeni الفرز والمعالجة باستخدام الذكاء الاصطناعي وينطبق ذلك أيضاً على نتائج الماسحات الضوئية التابعة لجهات خارجية، فلا يتعين على الفرق إزالة الأدوات الحالية لسد هذه الفجوة.
الأسئلة الشائعة: هجمات سلسلة التوريد الخاصة بـ npm
ما هو هجوم سلسلة التوريد في npm؟
هو هجوم يصل فيه رمز خبيث إلى تطبيق مستهدف من خلال تبعية npm موثوقة بدلاً من الوصول إليه عبر رمز التطبيق المستهدف نفسه، وعادةً ما يكون ذلك بسبب اختراق المهاجم لحساب أحد المشرفين أو رمز النشر أو CI/CD pipelineهوية.
ما هو أكبر هجوم على سلسلة توريد npm؟
من حيث نطاق التأثير، يُعدّ اختراق حزمة chalk/debug في سبتمبر 2025 من بين الأكبر: فقد تم اختراق 18 حزمة بلغ مجموع تنزيلاتها الأسبوعية 2.6 مليار تنزيل عبر حساب واحد مُخترق من قِبل أحد المشرفين. أما من حيث الجدة التقنية، فقد شكّلت دودة Shai-Hulud نقطة تحوّل أكثر أهمية، كونها أول دودة ذاتية الانتشار في تاريخ npm.
كيف تبدأ عادةً هجمات سلسلة توريد حزم npm؟
غالباً ما يكون ذلك بهوية مسروقة: إما مسؤول صيانة تعرض للاحتيال، أو رمز نشر مسرب، أو هوية مسروقة CI/CD بيانات اعتماد مثل رمز OIDC يتم استخراجه من ذاكرة المشغل، بدلاً من اختراق تقني لـ npm نفسه.
هل يمكن لبرامج مكافحة الفيروسات أو أنظمة الكشف والاستجابة لنقاط النهاية (EDR) إيقاف هجوم على سلسلة توريد npm؟
ليس بشكل موثوق. يراقب نظام الكشف والاستجابة لنقاط النهاية (EDR) نظام التشغيل ولا يفهم سجلات الحزم، كما أن برامج مكافحة الفيروسات تعتمد على التوقيعات، مما يجعلها تفشل أمام البرامج الضارة التي تُنشر قبل وجود أي توقيع. يتطلب إيقاف هذا النوع من الهجمات المراقبة عند نقطة النشر والتثبيت، وليس فقط عند نقطة النهاية.
لا SLSA provenance أو هل يمكن إنشاء آلية للتحقق من صحة البيانات لمنع ذلك؟
وهذا يثبت pipeline لم يتم التلاعب بالملف نفسه أثناء عملية البناء. لكن هذا لا يثبت أن الهوية التي أدت إلى بدء عملية البناء لم يتم اختراقها، كما أظهرت حادثتا TanStack وRed Hat من خلال شهادات صحيحة مرفقة بحزم خبيثة.
كيف يمكن لفريق ما اكتشاف حزمة npm خبيثة قبل تثبيتها؟
من خلال تشغيل تحليل مستمر للبرامج الضارة قبل التوقيع على الحزم المنشورة حديثًا، وهو ما صُمم نظام الإنذار المبكر بالبرامج الضارة وجدار الحماية الخاص بالتبعيات للقيام به، بدلاً من الاعتماد فقط على فحص الثغرات الأمنية بعد وقوع الحدث للتعليمات البرمجية الموجودة بالفعل في المستودع.
من أين أبدا
لا تزال هجمات سلسلة توريد npm مستمرة، ويشير الاتجاه منذ هجوم شاي هولود إلى زيادة الأتمتة، لا العكس. الفرق الأكثر استعدادًا للحملة القادمة هي تلك التي توقفت عن التعامل مع كل عملية تثبيت npm كحدث روتيني وبدأت بمراقبة سجل النظام. pipeline، ونقطة النهاية كسطح هجوم متصل واحد.
تتضمن خطة المطورين من Xygeni تغطية MEW وجدار الحماية الخاص بالتبعيات لما يصل إلى 25 مستودعًا مجانًا. إنه مكان مناسب للاطلاع على ما هو موجود بالفعل في شجرة التبعيات.





