أطلقت GitHub ماسحًا للأوامر التي تبدأ بشرطة مائلة (slash-command scanner) في تطبيق Copilot لسطح المكتب، والذي يفحص الكود غير الملتزم (uncommitted code) بحثًا عن خمس ثغرات أمنية شائعة قبل الضغط على زر الالتزام (commit). الميزة متاحة لجميع مستخدمي Copilot، بما في ذلك مستخدمي الفئة المجانية، وتتطلب فقط تحديث التطبيق الصادر في 14 يوليو.
تُعد مقتطفات الكود التي يولدها الذكاء الاصطناعي مصدرًا خفيًا للأخطاء البرمجية. فقد وجدت دراسة حديثة أن 45% من الكود الذي تنتجه النماذج التوليدية يحتوي على ثغرة أمنية واحدة على الأقل، بدءًا من أخطاء الحقن (injection bugs) البسيطة وصولًا إلى التشفير الضعيف. ومن خلال إظهار هذه المشكلات محليًا، تأمل GitHub أن يتمكن المطورون من إصلاحها في ثوانٍ بدلاً من اكتشافها لاحقًا في مسارات التكامل المستمر (CI pipelines) أو، والأسوأ من ذلك، في بيئة الإنتاج (production).
لماذا يكتسب هذا الأمر أهمية الآن
لطالما اعتمد المطورون على بنية أمنية متعددة الطبقات: حيث يقوم Dependabot بالتنبيه بشأن التبعيات (dependencies) الضعيفة، ويقوم CodeQL بإجراء تحليل استاتيكي عميق في عمليات CI/CD، بينما تكتشف مراجعات الكود اليدوية الأخطاء المنطقية. ويضيف ماسح Copilot الجديد خط دفاع أول يعمل على جهاز المطور، مما يساعد في اصطياد "الأخطاء السهلة" (low-hanging fruit) قبل أن يغادر الكود المحرر.
نطاق الأداة ضيق عن قصد، فهي تبحث عن:
- Injection – أنماط حقن SQL أو shell أو أنماط حقن الأوامر المماثلة.
- Cross-site scripting (XSS) – التعامل غير الآمن مع البيانات التي يوفرها المستخدم في سياقات الويب.
- Insecure data handling – تسجيل البيانات (logging) أو كشف الأسرار (secrets) عن طريق الخطأ.
- Path traversal – محاولات الوصول إلى ملفات خارج الدليل المقصود.
- Weak cryptography – استخدام خوارزميات قديمة أو مفاتيح مدمجة برمجياً (hard-coded keys).
يشير التحليل الداخلي لـ GitHub إلى أن البرمجة بمساعدة الذكاء الاصطناعي تكرر هذه الأخطاء. ومن خلال تحديدها مبكرًا، يعمل الماسح كمرشح سريع، مما يسمح للمطورين بمعالجة المشكلات الواضحة مع ترك المراجعات المعمارية الأعمق للأدوات الحالية.
كيف تتناسب هذه الميزة مع سير العمل الأمني الحالي
فكر في البنية الأمنية كأنها تسلسل هرمي:
- Copilot slash command – فحص محلي وفوري للأنماط الواضحة.
- CodeQL – تحليل استاتيكي شامل يتم تشغيله على المستودع الكامل في عمليات CI/CD.
- Dependabot – ماسح يركز على التبعيات ويراقب ثغرات المكتبات المعروفة.
لا يحل أمر Copilot الجديد محل CodeQL أو Dependabot؛ بل ينقل جزءًا من عبء عمل الكشف إلى مرحلة أبكر (upstream). عندما يقوم المطور بتشغيل الأمر، يقوم التطبيق بتجميع الفرق الحالي (diff)، وإرساله إلى نموذج بعيد للتحليل، ثم يعيد قائمة موجزة بالنتائج. وتُقاس سرعة الاستجابة بالثواني، مما يسمح للمطور بالتعديل وإعادة الالتزام (recommit) على الفور.
استخدام الميزة
- قم بتحديث عميل Copilot لسطح المكتب إلى إصدار 14 يوليو.
- قم بإجراء تغييرات على الكود كالمعتاد.
- افتح لوحة دردشة Copilot واكتب الأمر الذي يبدأ بشرطة مائلة (تظهر الصيغة الدقيقة في واجهة المستخدم).
- راجع قائمة الثغرات المحتملة التي تم إرجاعها.
- قم بتعديل الكود ثم قم بعمل commit.
يحاكي سير العمل هذا عملية تشغيل سريعة لـ lint: لا توجد لوحة تحكم أمنية منفصلة، ولا انتظار لوظيفة CI.
القيود والحجج المضادة
تؤكد GitHub أن الماسح هو أداة مساعدة، وليس بديلاً عن التقدير البشري أو الاختبارات الأكثر عمقًا. فهو لا يكتشف العيوب على مستوى التصميم، أو الأذونات المفقودة، أو الأخطاء المنطقية المعقدة التي تتطلب رؤية أوسع للتطبيق.
ما الذي يجب مراقبته لاحقًا
الخلاصة: يضيف ماسح الأوامر بشرطة مائلة في GitHub Copilot مرشحًا أمنيًا محليًا وسريعًا ومجانيًا لكل مطور، مما يساعد في اصطياد الأخطاء البرمجية الأكثر شيوعًا الناتجة عن الذكاء الاصطناعي قبل أن تتحول إلى صداع وقت الالتزام (commit-time). لن يحل هذا الماسح محل التحليل العميق، ولكنه يمنح الفرق طريقة سريعة لتنقية الأخطاء السهلة وإبقاء العمل الأمني الأكثر تطلبًا في مكانه الصحيح—في المراحل المبكرة من التصميم والمراجعة.
