استعرضت GitHub تغييرات أمنية نفذتها خلال الأشهر الماضية في npm وGitHub Actions بهدف تعطيل أساليب شائعة في هجمات سلسلة توريد البرمجيات والحد من تأثيرها. وتشمل الإجراءات حماية حسابات npm عالية التأثير، تشديد السلوك الافتراضي لسير عمل Actions، تقليل مخاطر سرقة بيانات الاعتماد، وإتاحة أدوات أسرع للاستجابة للحوادث.
جاءت هذه الخطوات بعد تزايد هجمات تستغل نقاط ضعف في مستودعات الحزم وأنظمة التكامل والنشر المستمر لنشر برمجيات خبيثة إلى مئات المشاريع مفتوحة المصدر. ووفقاً لـ Greg Ose وZachary Steindler، تتبع هذه الهجمات عادة سلسلة من المراحل تبدأ بالوصول الأولي إلى مشروع، ثم تصعيد الصلاحيات، وسرقة بيانات الاعتماد، وأخيراً الانتشار إلى مشاريع ومستخدمين آخرين.
تقليل فرص الاختراق الأولي
في يونيو 2026، وضعت npm الحسابات عالية التأثير في وضع القراءة فقط لمدة 72 ساعة عند تغيير البريد الإلكتروني أو استخدام رمز لاستعادة المصادقة الثنائية. وتمنح هذه المهلة مسؤولي الحساب وقتاً لاكتشاف محاولات التصيد والاستجابة لها قبل استخدام الحساب في شن هجوم.
وفي الشهر نفسه، غيّرت GitHub السلوك الافتراضي للإجراء actions/checkout لمنع جلب تعليمات برمجية غير موثوقة من طلبات السحب القادمة من المستودعات المتفرعة في محفزات شائعة الاستغلال، مع إمكانية إلغاء هذا المنع بعد مراجعة المخاطر. كما شمل التغيير إصدارات أقدم من الإجراء.
وأتاحت GitHub كذلك سياسات على مستوى المؤسسة أو المنظمة أو المستودع للتحكم في الجهات المسموح لها بتشغيل سير العمل وأنواع المحفزات المقبولة. ويضاف إلى ذلك تقييد قدرة سير العمل الأقل موثوقية على تعديل ذاكرة التخزين المؤقت المشتركة مع سير عمل أخرى، ما يقطع مساراً استُخدم للانتقال من تنفيذ محدود الصلاحيات إلى سرقة بيانات اعتماد عالية الامتياز.
الحد من سرقة بيانات الاعتماد وانتشار البرمجيات الخبيثة
أضافت npm في أبريل 2026 دعم CircleCI إلى ميزة النشر الموثوق، بما يتيح للمشاريع النشر من خلال جهة موثوقة بدلاً من استخدام بيانات اعتماد طويلة الأجل يمكن للمهاجمين استخراجها من بيئات التكامل المستمر.
وتختبر GitHub أيضاً جداراً نارياً للشبكة في مرحلة المعاينة التقنية، يسجل حركة المرور الصادرة من عمليات تشغيل GitHub Actions. ويساعد ذلك في رصد سلوكيات مثل تنزيل تعليمات خبيثة أو إرسال بيانات الاعتماد إلى نطاقات جديدة. وتعتزم GitHub لاحقاً إضافة قيود وسياسات لحركة الخروج الشبكية لمنع هذه الأنشطة.
ومن خلال ميزة النشر المرحلي التي أطلقتها npm في مايو 2026، لا تكفي بيانات الاعتماد لنشر إصدار جديد مباشرة؛ إذ يبقى الإصدار في مرحلة انتظار إلى أن تتم الموافقة عليه وإتمام المصادقة الثنائية عبر واجهة npm أو موقع npmjs.com.
كما تستعد npm v12 لتغيير يكسر السلوك السابق عبر تعطيل نصوص التشغيل أثناء التثبيت افتراضياً، مع السماح بإعادة تفعيل نصوص محددة بعد الموافقة عليها. وستُعطّل أيضاً التبعيات التي تعتمد على مستودعات Git أو عناوين URL البعيدة افتراضياً، للحد من مسارات تنفيذ التعليمات البرمجية أثناء التثبيت.
تأخير التحديثات غير الأمنية وتحسين الاستجابة
بدأت تحديثات الإصدارات عبر Dependabot في يوليو 2026 الانتظار ثلاثة أيام على الأقل بعد إصدار الحزمة قبل فتح طلب سحب. ويمنح ذلك إشارات الكشف وقتاً للظهور قبل وصول إصدار ضار إلى المشاريع، بينما تستمر التحديثات الأمنية في الفتح فوراً حتى لا تتأخر الإصلاحات الحرجة.
وفي جانب الاستجابة، أضافت GitHub في يونيو أدوات ذاتية الخدمة لإلغاء جميع بيانات اعتماد مستخدم معين داخل مؤسسة، كما وسعت في مارس دعم واجهة برمجة إلغاء بيانات الاعتماد ليشمل رموز GitHub OAuth وApp Tokens، بعد أن كان الدعم قد بدأ في أبريل 2025 لرموز الوصول الشخصية. وتقول GitHub إن هذه الإمكانات تساعد على إبطال البيانات المسربة بسرعة وتقليص الفترة التي يمكن إساءة استخدامها خلالها.
أكدت GitHub أن هذه التغييرات جزء من عمل مستمر لجعل npm وGitHub Actions أكثر أماناً افتراضياً، مع استمرار طرح تحسينات أخرى ومتابعتها عبر سجل التغييرات ومنشورات المدونة.