CodeQL 2.27.2 يتعلّم تحليل التعابير النمطية في C++ ويحسّن التحليل للغات Go وRust وJavaScript
نشرت GitHub الإصدار CodeQL 2.27.2، وهو نسخة جديدة من محرّك التحليل الساكن الذي يقوم عليه code scanning. أبرز ما فيه محلّل للتعابير النمطية (regex) للغة C++. كما تضمّن الإصدار تحسينات في التحليل لعدة لغات، من بينها Go وRust وJavaScript. يحمل سجل التغييرات (changelog) تاريخ 9 أكتوبر 2026 ويقتصر على وصف موجز، أما تفاصيل التغييرات فتوجد في ملاحظات الإصدار الكاملة (release notes). • الإصدار 2.27.2: محلّل جديد للتعابير النمطية في C++. • طالت تحسينات التحليل لغات Go وRust وJavaScript. • التحديث متاح فوراً، وتفاصيله في release notes.
معالج بواسطة الذكاء الاصطناعي من GitHub Changelog؛ بتحرير Hamidun News
أصدرت GitHub الإصدار CodeQL 2.27.2. التغيير الرئيسي في هذا الإصدار هو محلّل للتعابير النمطية للغة C++. وإلى جانبه، حُسّن التحليل لعدة لغات في آن واحد، من بينها Go وRust وJavaScript. يشكّل CodeQL الأساس الذي يقوم عليه GitHub code scanning، ولذلك تؤثر مثل هذه التحديثات مباشرة في نوعية الثغرات والأخطاء التي تكتشفها المنصة في المستودعات. يحمل سجل التغييرات (changelog) تاريخ 9 أكتوبر 2026، وهو قصير جداً: فلا يورد قائمة بالاستعلامات والقواعد والإصلاحات المحددة.
ما المعروف عن الإصدار
صياغة GitHub مقتضبة: إضافة محلّل للتعابير النمطية للغة C++ و«تحسينات في التحليل» لعدة لغات. ولا يتضمن الإعلان تفصيلاً لكل لغة. لذلك يبقى كل ما يتجاوز هذين الأمرين مجرد افتراض في الوقت الحالي، وينبغي البحث عن القائمة الدقيقة للتعديلات في ملاحظات الإصدار الكاملة (release notes) الخاصة بـ CodeQL.
البيانات الأساسية عن الإصدار:
- الإصدار: CodeQL 2.27.2؛
- تاريخ النشر: 9 أكتوبر 2026؛
- الجديد: محلّل للتعابير النمطية للغة C++؛
- اللغات المشمولة: C++ وGo وRust وJavaScript (يتحدث الإعلان عن «عدة لغات»)؛
- الغرض: محرّك تحليل ساكن يعمل تحت GitHub code scanning.
لماذا يحتاج المحلّل الساكن إلى محلّل للتعابير النمطية
يمثّل CodeQL الشيفرة على شكل قاعدة بيانات تُكتب عليها الاستعلامات بلغة خاصة هي QL. ولكي يتمكن الاستعلام من الاستدلال على سلسلة نصية تمثّل تعبيراً نمطياً، يجب أن يفهم المحلّل بنيتها: المجموعات والمحدّدات الكمّية والبدائل وفئات الأحرف. أما السلسلة النصية الحرفية دون تحليل، فهي بالنسبة إليه نص عادي فحسب.
يوفّر المحلّل هذه البنية. وعادةً ما تُبنى عليها فحوصات مثل البحث عن تعابير نمطية تعاني من التراجع الكارثي (catastrophic backtracking) المعروف بـ ReDoS، أو عن تضمين مدخلات المستخدم في القالب بصورة غير آمنة. وتوجد في CodeQL بالفعل بنية تحتية مماثلة للغة JavaScript وعدد من اللغات الأخرى. ويسدّ ظهور نظير لها في C++ ثغرة في دعم لغة تُستخدم فيها التعابير النمطية عبر المكتبة القياسية وحزم الأطراف الثالثة. تنبيه: لا يذكر إعلان GitHub أي الاستعلامات ستستخدم المحلّل الجديد. أما الربط مع ReDoS وما شابهه من الفحوصات فهو استنتاج منطقي هنا، وليس واقعة معلنة.
وضع اللغات الأخرى
إدراج Go وRust وJavaScript في العنوان يدل على أن التحديث لم يقتصر على C++. ويلفت Rust النظر في هذه القائمة: فدعم اللغة في CodeQL حديث نسبياً، ودقة نمذجة المكتبات وتدفقات البيانات فيها تؤثر مباشرة في عدد النتائج وفي عدد الإنذارات الكاذبة. ولا يوضح الإعلان ما الذي تغيّر بالضبط، لذا سيتعين تقدير الأثر من نتائج الفحص الخاصة بكم.
ما الذي ينبغي التحقق منه بعد التحديث
عندما يعمل CodeQL عبر code scanning القياسي على استضافة GitHub، فإن الإصدار يُجلب عادةً من جانب المنصة. أما إذا كنتم تثبّتون إصداراً محدداً من CodeQL CLI أو تستخدمون مسارات (pipelines) خاصة بكم، فسيلزم إجراء التحديث يدوياً.
تسلسل الإجراءات العملي كالتالي:
- راجعوا release notes للإصدار 2.27.2 وابحثوا عن التغييرات الخاصة باللغات التي تستخدمونها؛
- شغّلوا الفحص على فرع في مستودع تجريبي وقارنوا عدد التنبيهات (alerts) وتركيبتها بما كانت عليه في الإصدار السابق؛
- في مشاريع C++ التي تستخدم التعابير النمطية بكثافة، راجعوا النتائج الجديدة على حدة: فهناك على الأرجح ستظهر الفروق؛
- لا تُغلقوا التنبيهات التي أُغلقت سابقاً بصورة تلقائية، بل تحققوا مما إذا كانت قد اختفت بسبب تغييرات في نموذج التحليل؛
- إذا كنتم تستخدمون استعلامات QL مخصصة، فتأكدوا من أنها تُترجم (compile) على الإصدار الجديد ولا يتغير سلوكها.
الإصدار بحد ذاته صغير وتقني. ولن تتضح قيمته الفعلية إلا عندما تكشف GitHub عن قائمة التغييرات، أو عندما يلمس الفريق الفرق في التقارير على شيفرته الخاصة.
Build & Ship Production AI Apps with Vibe Coding
Join Zhemal Khamidun's hands-on Vibe Coding Intensive at hamidun.com/vibecoding — master Claude Code, Cursor, and autonomous agentic workflows.
أهم ما في عالم الذكاء الاصطناعي — مرة كل أسبوع
سبع قصص مهمة فعلاً هذا الأسبوع، مختارة بعناية. بلا ضجيج ولا بيانات صحفية.
تم! تحقق من بريدك للتأكيد.