Breaking News
القائمة

نهاية دعم Python 3.9 تتيح إزالة 'هاك' أمني من 2018: سطر كود واحد يحل محله

نهاية دعم Python 3.9 تتيح إزالة 'هاك' أمني من 2018: سطر كود واحد يحل محله
Advertisement

محتويات المقال

Python 3.9 يصل لنهاية الدعم: التأثيرات الأمنية والصيانة

تم إصدار Python 3.9 في أكتوبر 2020، ووصل لنهاية الدعم الأساسي (EOL) في 31 أكتوبر 2025، مع الإصدار 3.9.25 كآخر إصدار أمني. هذا يجمد قاعدة الكود 3.9، ويوقف جميع الإصلاحات للأخطاء والتحسينات والتصحيحات الأمنية من فريق تطوير Python الأساسي. لا يُقبل قضايا جديدة على متتبع أخطاء CPython.

يؤدي EOL إلى إشارة ماسحات الثغرات مثل Nessus لتثبيتات Python 3.9، خاصة في بيئات RHEL 8 وRHEL 9، مما يزيد المخاطر الأمنية بدون تصحيحات أساسية. نظام الحزم الرئيسي مثل NumPy أسقط دعم 3.9 في الإصدار 2.1 (أغسطس 2024)، مما يحد من التوافق والاستقرار.

وداعاً لـ'هاك' أمني من 2018

أحد المستفيدين المباشرين من EOL هو إزالة 'هاك' ضخم نفذ في 2018 لفحص وسائط الأوامر الممررة لسكريبتات Python. كان هذا الحل ضرورياً بسبب قيود الإصدارات القديمة، وكان يمتد لكود واسع، لكنه الآن يُستبدل بسطر واحد أنيق يستفيد من قدرات التأمل في Python 3.9. يلبي الهاك حاجة أمنية شائعة: التحقق من الوسائط التي شُغلت بها Python، وهو أمر حاسم للسكريبتات التي تتعامل مع عمليات حساسة أو تفرض سياقات تنفيذ.

في البيئات الإنتاجية والتعليمية، كانت مثل هذه الهاكات حيوية للتدقيق الأمني، لكن إصدارات EOL مثل 3.9 تشكل تهديداً أمنياً موثقاً بعدم التصحيح، مما يجعل استخدامها غير مستحسن. مشاريع مثل LLVM رفعت الحد الأدنى لـPython من 3.8 إلى 3.10 لتجنب الثغرات غير المصححة.

التأثيرات على المؤسسات: RHEL وغيرها

يواجه مستخدمو Red Hat Enterprise Linux (RHEL) تحديات دقيقة. RHEL 9 يعتمد Python 3.9 كمفسر افتراضي نظامياً، ويلتزم بدعمه الكامل طوال دورة الحياة، بما في ذلك التصحيحات الحرجة والأمنية المُعادة حتى بعد EOL الأساسي. هذا يضمن الاستقرار للأحمال القديمة غير القابلة للترقية فوراً. أما مستخدمو RHEL 8 فيجب تخطيط الهجرة إلى Python 3.11/3.12 أو حاويات RHEL 9 للحفاظ على الأمان طويل الأمد.

Anaconda تؤكد الإلحاح، محذرة بأن السلامة غير مضمونة بدون تصحيحات أساسية بعد أكتوبر 2025. توصي بالترقية الفورية إلى Python 3.13 لأطول فترة أمنية وميزات حديثة. أدوات مثل Rhino/Grasshopper تخطط أيضاً، مناقشة دمج 'uv' لإدارة التبعيات الحديثة مع تراجع دعم 3.9.

الميزات الرئيسية عند الترقية

  • Python 3.10: مطابقة الأنماط (match/case، PEP 634)، أنواع الاتحاد (X | Y، PEP 604)، رسائل أخطاء محسنة.
  • Python 3.11: تحسين أداء 10-60% (متوسط 25%)، تتبع أخطاء دقيق (PEP 657)، مجموعات استثناءات (PEP 654).
  • Python 3.12: GIL لكل مفسر (PEP 684)، تحسين f-string (PEP 701)، بناء أنواع (PEP 695).

سياسة إصدارات Python تدعم هذا الإيقاع: دعم كامل للأخطاء لعامين (18 شهراً قبل 3.13)، ثم مرحلة أمنية فقط، تنتهي بـEOL كامل بعد 5 سنوات. Python 3.12 في وضع أمني، تليه 3.10 و3.11 قريباً.

مخاطر الأمان في التمسك بـPython EOL

استخدام Python EOL في الإنتاج يدعو لاستغلالات غير مصححة، كما في المناقشات عبر المنتديات. البيئات التعليمية تعاني أيضاً من قيود على نظام الحزم. ستستمر ماسحات الثغرات في الإنذار عن 3.9، مما يعقد الامتثال في المؤسسات. إزالة هاك فحص sys.argv الأصلي من 2018 مثال على كيفية تمكين EOL لكود أنظف وأأمن.

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

التغيير يبرز تطور Python الصحي: إصدارات سنوية تضمن الابتكار السريع مع تصفية الإصدارات القديمة منهجياً. إزالة الهاكات مثل مفتش الوسائط من 2018 تظهر مكاسب حقيقية من انضباط EOL.

المصادر: lobste.rs ↗
Advertisement
هل أعجبك هذا المقال؟

بحث في الموقع