Node.js 24.19.0 LTS يجعل Argon2 لتهشير كلمات المرور مستقرًا داخل النواة
نقل وظيفة أمنية حساسة من حزمة خارجية إلى النواة يقلّص سطح الهجوم في المشروع دون أي جهد من فريقه، وهو مكسب نادرًا ما يُلتفت إليه.
صدرت النسخة 24.19.0 من Node.js، وهي من فرع الدعم طويل الأمد (LTS)، في 3 أغسطس 2026، ثم تبعتها النسخة 26.7.0 في 5 أغسطس. وأبرز ما فيهما أن خوارزمية Argon2 وواجهات الـ encapsulation صارت مستقرة داخل Node.js نفسه.
وArgon2 خوارزمية لتهشير كلمات المرور، أي تحويلها إلى قيمة لا يمكن عكسها تُخزن بدلًا من كلمة المرور. وميزتها أنها memory-hard، أي مصممة لتستهلك قدرًا كبيرًا من الذاكرة عن قصد، حتى لا يستطيع المهاجم الذي يملك بطاقة رسوميات تجربة ملايين الاحتمالات بالتوازي كما يفعل مع الخوارزميات الأقدم. وهي الخوارزمية الموصى بها حاليًا لتخزين كلمات المرور.
والجديد ليس الخوارزمية بل مكانها. فقبل ذلك كانت تُجلب عبر حزمة خارجية تحتاج إلى بناء native وقت التثبيت. أما الآن فصار هذا الجزء الحساس من المشروع ممكنًا دون أي dependency من npm.
وحمل الإصداران تغييرات أخرى:
- صار stream.compose مستقرًا، وصار blockList في مرحلة release candidate
- ضغط الشهادات في TLS، وتقرير بالمجموعات (groups) التي جرى التفاوض عليها
- دعم Perfetto tracing في 26.7.0، لتحليل أداء أعمق من داخل Node
- تحديث الشهادات الجذرية إلى NSS 3.125، وإصلاح تجاوز لوضع FIPS في Argon2
- npm بالنسخة 11.19.0
وليس كل إصدار من Node.js حدثًا يستحق التوقف. لكن نقل وظيفة أمنية من المنظومة الخارجية إلى النواة يقلل سطح الهجوم في المشروع دون أي عمل من الفريق، لأن كل حزمة خارجية أقل هي حلقة أقل في سلسلة التوريد. ويعني ذلك أن المشاريع التي ما زالت تعتمد على مكتبة تهشير خارجية صار لديها بديل مدمج في بيئة التشغيل نفسها.
المصادر
من عدد السبت 25 صفر - 8 أغسطس