أعلنت منصة GitHub يوم الاثنين عن تغييرات وشيكة في خيارات المصادقة والنشر استجابة لموجة حديثة من هجمات سلسلة التوريد التي استهدفت نظام npm، بما في ذلك هجوم Shai-Hulud.
تشمل الإجراءات الجديدة التعامل مع مخاطر إساءة استخدام التوكنات والبرمجيات الخبيثة ذاتية النسخ من خلال السماح بالنشر المحلي مع المصادقة الثنائية (2FA)، واستخدام توكنات دقيقة الصلاحية بمدة قصيرة لا تتجاوز سبعة أيام، بالإضافة إلى النشر الموثوق الذي يتيح نشر حزم npm مباشرة من بيئات CI/CD باستخدام OpenID Connect (OIDC).
النشر الموثوق وتوثيق سلسلة التوريد
تعمل ميزة النشر الموثوق على إزالة الحاجة إلى توكنات npm التقليدية، وتوفر ثقة تشفيرية عبر مصادقة كل عملية نشر باستخدام توكنات قصيرة العمر مرتبطة بالعمل الجاري لا يمكن استخراجها أو إعادة استخدامها. كما يقوم CLI الخاص بـ npm تلقائيًا بإنشاء إثباتات أصلية (Provenance Attestations) لكل حزمة، ما يسمح للمستخدمين بالتحقق من مصدر الحزمة وبيئة بنائها، وبالتالي زيادة الثقة في سلسلة التوريد.
خطوات GitHub لدعم الأمان
لتنفيذ هذه التغييرات، أعلنت GitHub، المملوكة لمايكروسوفت، عن الإجراءات التالية:
-
إيقاف استخدام التوكنات التقليدية القديمة.
-
الانتقال من مصادقة TOTP إلى مصادقة FIDO ثنائية الخطوة.
-
تقصير صلاحية التوكنات الدقيقة الممنوحة لأغراض النشر.
-
فرض نشر الحزم عبر النشر الموثوق أو المصادقة الثنائية محليًا، وإلغاء خيار تجاوز 2FA.
-
توسيع مقدمي الخدمات المؤهلين للنشر الموثوق.
جاءت هذه الإجراءات بعد أيام من هجوم Shai-Hulud الذي حقن دودة ذاتية النسخ في مئات حزم npm، لتفحص أجهزة المطورين بحثًا عن المفاتيح والبيانات الحساسة وإرسالها إلى خادم المهاجم. وأوضح Xavier René-Corail من GitHub أن دمج النسخ الذاتية مع سرقة أنواع متعددة من الأسرار كان يمكن أن يمكّن المهاجمين من شن سلسلة هجمات لا نهائية لولا التدخل السريع من GitHub والمجتمع المفتوح المصدر.
حزم خبيثة جديدة وتقنيات مبتكرة
في سياق متصل، كشفت شركة Socket عن حزمة npm خبيثة باسم fezbox، قادرة على جمع كلمات مرور المتصفح باستخدام تقنية ستغانوغرافية تعتمد على رمز QR. وقد تم إزالة الحزمة من npm بعد أن سجلت 476 عملية تنزيل منذ نشرها في 21 أغسطس 2025.
ووفق الباحثة Olivia Brown، يقوم المهاجم (npm alias: janedu) بتنفيذ حمولة خبيثة ضمن رمز QR لسرقة بيانات تسجيل الدخول من ملفات الكوكيز في المتصفح، ثم إرسالها إلى خادم خارجي عبر HTTPS POST. وأشارت Brown إلى أن استخدام رمز QR يزيد من صعوبة الكشف ويظهر ابتكار المهاجمين في التعتيم على البرمجيات الخبيثة، مؤكدة أهمية استخدام أدوات فحص الاعتماديات للتحقق من سلامة الحزم البرمجية.
السياق الأوسع لأمان سلسلة التوريد
تأتي تغييرات GitHub بعد أيام من قيام NuGet .NET بدعم النشر الموثوق، وإعلان Ruby Central عن إجراءات جديدة لتعزيز أمان سلسلة التوريد على RubyGems. وتشمل السياسات الجديدة تقييد الصلاحيات الإدارية للمطورين المصرح لهم فقط، لضمان التحكم الدقيق في الوصول إلى المستودعات والنشر.