أمن سيبرانيقراءة دقيقتين

npm يقصر tokens تخطي المصادقة الثنائية على النشر ويمنعها من تعديل الحسابات

المغزى

مفتاح النشر في أنظمة CI كان يفتح الحساب كله، فتسريبه كان يعني فقدان السيطرة على الحساب قبل نشر أي نسخة ملوثة.

أعلنت GitHub في سجل التغييرات بتاريخي 8 يوليو و31 يوليو 2026 تقييد صلاحيات الـ granular access tokens في npm التي تحمل خاصية bypass2fa، أي تخطي المصادقة الثنائية. وبدءًا من أغسطس 2026، أصبحت هذه الـ tokens تقتصر على النشر.

وتتيح npm هذا النوع من الـ tokens لسبب عملي: كي تستطيع أنظمة CI نشر الحزم تلقائيًا دون أن يدخل أحد رمزًا من هاتفه عند كل إصدار.

لكن الـ token لم يكن يقتصر على النشر. فقد كان قادرًا أيضًا على:

  • إنشاء tokens أخرى وحذفها
  • تغيير كلمة مرور الحساب وبريده الإلكتروني وإعدادات المصادقة الثنائية
  • إضافة maintainers إلى الحزمة أو إزالتهم
  • تعديل إعدادات الـ trusted publishing
  • إضافة أعضاء إلى الـ organization أو إزالتهم

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

وبعد التغيير، يقتصر هذا الـ token على النشر، وتحتاج أي عملية تمس الحساب أو الـ organization إلى مصادقة ثنائية يدخلها شخص فعلًا.

وهناك مرحلة ثانية من المتوقع أن تبدأ نحو يناير 2027، دون تاريخ ثابت معلن. وفيها يفقد الـ token القدرة على النشر المباشر نفسه، ويقتصر دوره على تجهيز الإصدار، على أن يُعتمد النشر بموافقة بشرية.

ويعني ذلك للفرق التي تنشر حزمًا على npm من أنظمة CI أن طريقة النشر الحالية لديها ستتغير، وأن الـ trusted publishing الموثق لدى npm هو البديل المطروح للـ tokens في هذه الأنظمة.

المصادر

  1. إعلان GitHub عن تقييد tokens تخطي المصادقة الثنائية (31 يوليو 2026)
  2. الإعلان الأسبق عن بدء الإيقاف (8 يوليو 2026)
  3. نقاش المجتمع الرسمي عن التغيير
  4. توثيق npm عن الـ access tokens
  5. توثيق npm عن الـ trusted publishing

من عدد الأحد 17 ربيع الأول - 30 أغسطس

أخبار ذات صلة

أخبار الأحد 17 ربيع الأول - 30 أغسطس