في سبتمبر 2025، قام أحد المهاجمين بتصيد بيانات اعتماد مشرف npm واحد ونشر إصدارات مفخخة من chalk, debugوحوالي اثنتي عشرة حزمة أخرى يتم تنزيلها معًا أكثر من 2 مليار مرة في الأسبوع. أعاد الرمز كتابة عناوين محفظة العملة المشفرة داخل أي تطبيق متصفح قام بتحميله. ظلت النسخ المسمومة حية لمدة ساعتين تقريبًا قبل أن يمسكها المجتمع ويسحبها npm.

ساعتين هي استجابة سريعة. ومع ذلك، فهو أيضًا وقت أكثر من كافٍ لأداة التحديث التلقائي لرؤية الإصدار الجديد، وفتح طلب سحب، ووضعه أمام فريقك، لأن أدوات تحديث الإصدار مصممة للحصول على أحدث إصدار بمجرد وصوله.

ويكمن هذا النمط وراء حصة متزايدة من هجمات سلسلة التوريد. تظهر التعليمات البرمجية الضارة في إصدار جديد تمامًا، ويتم نشرها في سجل عام، ويتم سحبها إلى مسارات البناء في غضون دقائق، حتى قبل أن يطلع عليها الإنسان أو الماسح الضوئي.

فترة التهدئة تغير تلك الرياضيات. إن الانتظار لبضعة أيام قبل اعتماد إصدار جديد يمنح المشرفين والباحثين الأمنيين والماسحات الضوئية الآلية الوقت الكافي لاكتشاف الإصدار الضار وسحبه قبل أن يصل إلى طلبات السحب الخاصة بك.

بالنسبة لمشكلات الإصدارات غير الأمنية، ينتظر Dependabot الآن ثلاثة أيام على الأقل بعد نشر الإصدار قبل فتح طلب السحب. ال cooldown خيار التكوين في dependabot.yml لا يزال يتحكم في السلوك، لذلك يمكنك اختيار معلمة تبريد مختلفة تناسب مشروعك.

دراسات الحالة وبيانات قاعدة بيانات GitHub الاستشارية

عندما يقوم المهاجمون باختراق حزمة شائعة، تميل النسخة المسمومة إلى أن تكون ذات عمر قصير. يتم نشره، وينتشر من خلال أي شيء يقوم بتثبيته، ويتم اكتشافه، عادةً في غضون ساعات. المثال السابق كان مباشرًا لمدة ساعتين فقط. اتبعت الحزم الأخرى المستخدمة على نطاق واسع نفس المنحنى، حيث تم اكتشاف إصدارات مخترقة من Solana web3.js وAxios وua-parser-js في غضون ساعات قليلة من النشر.

وبشكل أكثر عمومية، يرى GitHub هذا النمط مباشرةً من خلال قاعدة بيانات GitHub الاستشارية، التي تقوم بفهرسة النصائح الأمنية مفتوحة المصدر عبر الأنظمة البيئية. في العام المنتهي في مايو 2026، نشرت قاعدة البيانات أكثر من 6500 تحذيرًا من البرمجيات الخبيثة npm، ارتفاعًا من حوالي 6200 في العام السابق، وهو ما يضيف ما يقرب من 18 حزمة npm ضارة مفهرسة حديثًا كل يوم. تبقيك فترة التهدئة خارج النافذة المفتوحة وتتيح للإصدار أن يتراكم بعض التدقيق قبل أن يصل إليك.

لماذا ثلاثة أيام

تميل البرامج الضارة المنشورة التي تستهدف الحزم الشائعة إلى اكتشافها بسرعة. وجدت مراجعة لـ 21 حادثًا تم الإبلاغ عنها على نطاق واسع في سلسلة التوريد بين عامي 2018 و2026 نفس النمط: تم سحب الإصدارات الضارة من axios وSolana web3.js وua-parser-js وLedger Connect Kit في غضون ساعات من النشر، وكان من الممكن أن يؤدي التباطؤ إلى تصفية غالبية هذه المنشورات قصيرة العمر قبل أن يقوم أي شخص بتثبيتها.

ثلاثة أيام حيث يوازن الإعداد الافتراضي بين هدفين: فهو يدفعك إلى تجاوز النافذة التي تعيش فيها معظم هذه الهجمات، ولا يعيق تبعياتك لفترة أطول من اللازم.

حصل أعضاء آخرون في المجتمع أيضًا على فترة تباطؤ مدتها ثلاثة أيام (على الرغم من أن البعض مضى لفترة أطول)، لذا فإن هذا السلوك الافتراضي يبقي Dependabot ثابتًا أثناء تنقل المطورين بين الأدوات.

يمكنك دائمًا تعيين نافذة أطول أو أقصر باستخدام Dependabot cooldown خيار التكوين.

الدفاع في العمق

تم تصميم فترة التهدئة لنمط معين: إصدار ضار يتم شحنه وانتشاره ويتم اكتشافه بسرعة. إنها لا تفعل الكثير ضد الهجمات التي تلعب لعبة أطول، بما في ذلك الأبواب الخلفية المزروعة في الإصدارات والتي تُركت خاملة، أو تخريب المشرف، أو نظام البناء المخترق. الهدف من الإعداد الافتراضي هو إزالة المسار الشائع والحساس للوقت، وليس استبدال بقية دفاعاتك.

نظرًا لأن فترة التهدئة تعالج فقط الحالة سريعة الحركة، فيجب أن تكون طبقة واحدة من بين عدة طبقات. تتضمن بعض الخطوات الإضافية التي يجب اتخاذها تثبيت التبعيات باستخدام ملفات القفل، وتعطيل تثبيت البرامج النصية في CI حيث يمكنك، وتحديد نطاق الرموز المميزة في مسارات البناء الخاصة بك، ومراجعة التحديثات قبل دمجها.

إذا كنت ترغب في تخصيص التأخير للحزم الداخلية الموثوقة للغاية مقابل السجلات العامة، فاطلع على الوثائق الخاصة بتكوين Dependabot. أو راجع مرجع خيارات تكوين Dependabot للتعرف على المجموعة الكاملة من cooldown حدود.

إلى أين نذهب من هنا

هذه خطوة واحدة من بين عدة خطوات نتخذها لتعزيز سلسلة توريد البرامج لكل من يبني على GitHub. يتم تشغيله بشكل افتراضي، لذا لا يتعين عليك تغيير أي شيء لتنشيطه. يمكنك أيضًا ضبطه ليناسب سير عملك.

أخبرنا عن كيفية أدائه في مناقشات مجتمع Dependabot.

كتب بواسطة

كارلين هي مديرة المنتجات في GitHub وتعمل في GitHub Advanced Security، مع التركيز على Dependabot. خلفيتها في هندسة البرمجيات وعلوم البيانات تُعلم منهجها القائم على البيانات في إدارة المنتجات. تعيش في واشنطن مع شريكها وكلبهما كوكي، وتقضي وقت فراغها في ركوب الدراجات ولعب ألعاب الطاولة التنافسية.

شاركها.
اترك تعليقاً