Persistent Human Feedback, LLMs, and Static Analyzers for Secure Code Generation and Vulnerability Detection
تُظهر هذه الورقة أن أدوات التحليل الساكن مثل CodeQL وSemgrep تظهر تباينات كبيرة عند مقارنتها بالحقيقة المرجعية التي تم التحقق منها بشرياً للأكواد البرمجية المولدة بواسطة النماذج اللغوية الكبيرة، مما يدفع نحو اقتراح إطار عمل يدمج التغذية الراجعة البشرية المستمرة في مسار توليد معزز بالاسترجاع ديناميكي لتعزيز توليد الأكواد الآمنة وكشف الثغرات الأمنية.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل أنك توظف متدرب طباخ موهوبًا وسريعًا، ولكنه يفتقر للخبرة (النموذج اللغوي الكبير - LLM)، ليطهو وجبة معقدة. تريد أن يكون الطعام آمنًا للأكل (كود برمجي آمن)، لذا تطلب من الطباخ طهي الوجبة ثم تفحصها مقابل كتاب قواعد.
إليك قصة ما وجده الباحثون وما يقترحونه لإصلاح المشكلة، تُروى من خلال تشبيهات بسيطة.
١. المشكلة: "كتاب القواعد" مقابل "الخبير"
في عالم البرمجة، لدينا طريقتان رئيسيتان للتحقق مما إذا كانت الوصفة آمنة:
- كتاب القواعد (المحللات الساكنة - Static Analyzers): أدوات مثل CodeQL و Semgrep تشبه مدققي الأخطاء الإملائية الآليين أو ماسحات الملصقات الغذائية. فهي تفحص الكود بحثًا عن المكونات الخطيرة المعروفة (الثغرات).
- الطباخ الخبير (التغذية الراجعة البشرية): إنسان حقيقي يتذوق الطبق، ويفهم السياق، ويعرف أنه مجرد كون المكون يبدو آمنًا على الملصق، لا يعني بالضريد أنه لن يكون سامًا إذا خُلط بطريقة معينة.
الدراسة:
طلب الباحثون من طباخ يعمل بالذكاء الاصطائي طهي ١٠٨٠ طبقًا مختلفًا (عينات كود) صُممت لتكون آمنة. ثم جعلوا خبيرًا بشريًا يتذوق كل طبق منها لإنشاء "الحقيقة".
- الحقيقة: ٦١٪ من الأطباق كانت في الواقع آمنة.
- حكم كتاب القواعد:
- قال Semgrep إن ٦٠٪ كانت آمنة. (هذا يبدو جيدًا على الورق!)
- قال CodeQL إن ٨٠٪ كانت آمنة. (هذا يبدو أفضل حتى!)
التحول المفاجئ:
عندما نظر الباحثون في الأطباق الفردية، وجدوا أن "كتاب القواعد" كان مخطئًا في كثير من الأحيان.
- وافق Semgrep الخبير البشري في ٦٥٪ فقط من الحالات.
- وافق CodeQL في ٦١٪ فقط.
التشبيه:
تخيل حارس أمن (الأداة) يفحص الأشخاص الداخلين إلى مبنى.
- قد يسمح الحارس لشخص خطير بالدخول لأنه يرتدي بدلة أنيقة (خطأ سلبي - False Negative).
- أو قد يوقف شخصًا غير ضار لأنه يحمل حقيبة تبدو مشبوهة (خطأ إيجابي - False Positive).
تجادل الورقة البحثية بأن الاعتماد فقط على حارس الأمن (المحلل الساكن) أمر خطير. فحتى لو أصاب الحارس في "المعدل العام"، فإنه يرتكب أخطاء في حالات محددة وحرجة. نحن بحاجة إلى تدخل الخبير البشري.
٢. الفجوة في الأبحاث الحالية
نظر الباحثون في مئات الدراسات الأخرى حول الذكاء الاصطالي والأمن. ووجدوا نمطًا:
- التحيز اللغوي: معظم الدراسات تختبر الذكاء الاصطائي فقط على لغة Python (لطهي الوصفات) أو C/C++ (لبناء المحركات). وهي نادرًا ما تختبر لغات أخرى.
- الاعتماد على الأدوات: يكاد الجميع يستخدمون "كتاب القواعد" (الأدوات الساكنة) لتقييم الذكاء الاصطالي. وقليل جدًا من الدراسات التي تجعل البشر يقومون بـ "تذوق" الطعام فعليًا.
- مشكلة "الذاكرة": عندما يكتشف الخبير البشري خطأً ما، فإنه يصلحه لذلك الطبق الواحد فقط. ولكن بمجرد مغادرة الخبير، ينسى الذكاء الاصطالي الدرس. وفي المرة التالية التي يطهو فيها الذكاء الاصطالي طبقًا مشابهًا، يرتكب نفس الخطأ مرة أخرى.
٣. الحل: إطار عمل "المكتبة الذكية"
يقترح المؤلفون طريقة جديدة للعمل، يطلقون عليها إطار عمل "الإنسان في الحلقة" (Human-in-the-Loop - HIL). فكر في هذا كإعطاء الطباخ الآلي مكتبة ذكية لا تنسى أبدًا.
إليك كيف يعمل النظام الجديد:
١. وكيل الطلبات (متلقي الطلبات): عندما تطلب من الذكاء الاصطالي الطهي، يقوم هذا الوكيل أولاً بفحص المكتبة الذكية. يسأل: "هل طهونا هذا من قبل؟ هل قال الخبير البشري أي شيء بخصوص هذا المكون المحدد؟" ثم يضيف تلك النصيحة إلى تعليمات الطباخ.
٢. وكيل الأمن (التذوق الأول): يطهو الذكاء الاصطالي الطبق. يقوم وكيل الأمن (كتاب القواعد) بفحصه أولاً.
٣. الوكيل البشري (رئيس الطهاة): هذه هي الخطوة الحاسمة. يقوم خبير بشري بمراجعة تقرير وكيل الأمن.
* إذا قال وكيل الأمن "آمن" ولكن الإنسان قال "خطير"، يقوم الإنسان بإصلاحه.
* الخطوة السحرية: التغذية الراجعة من الإنسان ليست مجرد إصلاح لمرة واحدة. بل يتم تخزينها بشكل دائم في المكتبة الذكية.
٤. درجة الثقة: ليست كل النصائح في المكتبة متساوية.
* إذا اتفق خبيران على نصيحة معينة، فإنها تحصل على "درجة ثقة" عالية.
* إذا تم استخدام النصيحة بنجاح مرات عديدة في الماضي، فإن درجتها ترتفع.
* إذا كانت النصيحة جديدة، فهي تنتظر في "منطقة انتظار" حتى يوافق عليها خبيران، وذلك لمنع النصائح السيئة (أو "المسمومة") من دخول المكتبة.
٤. لماذا هذا مهم؟
تخلص الورقة البحثية إلى أنه لا يمكننا مجرد الثقة في الأدوات الآلية (كتاب القواعد) لإخبارنا ما إذا كان الكود الذي أنشأه الذكاء الاصطالي آمنًا. فهي غالبًا ما تكون مخطئة في التفاصيل.
بدلاً من ذلك، نحتاج إلى نظام حيث:
- البشر هم الحكام النهائيون.
- الدروس البشرية تُحفظ للأبد.
- يتعلم الذكاء الاصطالي من التصحيحات البشرية السابقة حتى لا يرتكب نفس الخطأ مرتين.
باختًا، الذكاء الاصطالي سريع، والأدوات جيدة في الفحص، لكن الخبير البشري هو الوحيد الذي يفهم السياق حقًا. ومن خلال بناء نظام يتذكر ما يقوله الخبير البشري، يمكننا جعل الكود الذي ينشئه الذكاء الاصطالي أكثر أمانًا بكثير.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.