An Insight into Security Code Review with LLMs: Capabilities, Obstacles, and Influential Factors
تُظهر هذه الدراسة التجريبية أن النماذج اللغوية الكبيرة، ولا سيما تلك المُحسّنة في مجال الاستنتاج مثل DeepSeek-R1، تتفوق بشكل كبير على أدوات التحليل الساكن المتطورة في مراجعة الأكواد الأمنية، مع تحديد أن استراتيجيات هندسة الأوامر، وتعقيد الكود، وحجم الملف هي عوامل حاسمة تؤثر على دقة الكشف وجودة الاستجابة لديها.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل أنك محرر في مكتبة ضخمة وفوضوية، حيث يكتب آلاف الأشخاص فصولاً جديدة لقصة مشتركة وعملاقة. مهمتك هي العثور على الثغرات الخطيرة في الحبكة، أو التحولات التي قد تؤدي إلى انهيار القصة بأكملها، أو الصفحات التي قد تسمح للصوص بالتسلل وسرقة الكتب. هذا هو مراجعة الكود الأمني (Security Code Review).
تقليديًا، كان لديك طريقتان للقيام بذلك:
- المحرر البشري: خبير متعب يقرأ كل كلمة. إنه جيد في فهم السياق ولكنه بطيء ومكلف.
- المدقق الإملائي الآلي: روبوت يمسح الكلمات السيئة المعروفة. إنه سريع، لكنه غالبًا ما يصرخ "خطأ!" عندما لا يكون هناك خطأ فعلي (إنذارات كاذبة)، كما أنه يفتقر للدقة في رصد الحيل الذكية والخفية.
يسأل هذا البحث: هل يمكن لنوع جديد من "القراء الخارقين" (النماذج اللغوية الكبيرة أو LLMs) أن يؤدوا وظيفة أفضل من المدققين الإملائيين القدامى؟
إليك ما وجده الباحثون، مشروحًا عبر تشبيهات بسيطة:
1. المتنافسون: من حضر إلى المكتبة؟
أحضر الباحثون سبعة "قراء خارقين" مختلفين (LLMs). بعضهم عام الأغراض (جيد في كتابة القصائد والرسائل الإلكترونية)، وواحد هو نموذج "مُحسَّن للتفكير المنطقي" (تم تدريبه خصيصًا للتفكير خطوة بخطوة مثل المحقق). كما أحضروا "المدققين الإملائيين الآليين" القدامى (أدوات التحليل الساكن) ليروا من سيفوز.
النتيجة: اكتسح "القراء الخارقون" المدققين القدامى. وكان "المحقق المُحسَّن للتفكير المنطقي" (DeepSeek-R1) هو البطل الواضح، يليه عن قرب GPT-4 (الذي قد تعرفه من ChatGPT). أما الأدوات القديمة فقد تُرِكت خلف الركب، والسبب الرئيسي هو أنها ترتبك أمام القصص المعقدة (مثل حالات السباق/race conditions في الكود) التي تتطلب فهم كيفية تفاعل الأجزاء المختلفة من القصة مع مرور الوقت.
2. السحر في صياغة السؤال: كيف تسأل الأمر يغير النتيجة
تمامًا مثل سؤال أمين المكتبة، فإن كيفية سؤال "القارئ الخارق" أمر بالغ الأهمية. جرب الباحثون خمس طرق مختلفة للسؤال:
- السؤال الأساسي: "ابحث عن الأخطاء".
- السؤال السياقي: "إليك رسالة الالتزام (الملاحظة التي تركها المؤلف حول التغييرات التي أجراها). فكر خطوة بخطوة".
- سؤال قائمة المهام (ورقة الغش): "إليك قائمة بأنواع الجرائم المعروفة (قائمة CWE). ابحث عن هذه الأنواع".
الفائز:
- بالنسبة لـ DeepSeek-R1، كانت الطريقة الأفضل هي إعطاؤه ملاحظة المؤلف (رسالة الالتزام) وتوجيهه لـ "التفكير خطوة بخطوة" (سلسلة الأفكار/Chain-of-Thought). الأمر يشبه إعطاء محقق مذكرات المشتبه به وطلب منه تتبع مسرح الجريمة منطقيًا.
- بالنسبة لـ GPT-4، كانت الطريقة الأفضل هي تسليمه "ورقة الغش" (قائمة الجرائم المعروفة). فهو يعمل بشكل أفضل عندما يمتلك قائمة تحقق محددة ليتبعها.
3. العيوب: حتى القراء الخارقون يرتكبون الأخطاء
لم ينظر الباحثون فقط في من وجد الأخطاء، بل نظروا أيضًا في كيفية إبلاغ "القراء الخارقين" عنها. ووجدوا صفتين سلوكيتين مختلفتين:
- GPT-4 (الشاعر الغامض): غالبًا ما يجد المشكلة الصحيحة ولكنه يصفها بطريقة ضبابية وغامضة. قد يقول: "هناك خطر أمني في مكان ما في هذا الملف"، دون تحديد السطر بدقة. كما أنه يتجاهل التعليمات أحيانًا، مثل نسيان قول "لم يتم العثة أخطاء" عندما لا توجد أخطاء بالفعل.
- DeepSeek-R1 (مدقق الحقائق الواثق بزيادة): هذا النموذج محدد للغاية؛ فهو يشير إلى أرقام الأسطر بدقة ومقتطفات الكود. ومع ذلك، فإنه يقع أحيانًا في فخ "الهلوسة". قد يشير بثقة إلى السطر 42 ويقول: "هذا السطر خطير"، بينما السطر 42 آمن تمامًا. إنه يشبه المحقق الذي يكون متحمسًا جدًا لحل القضية لدرجة أنه يخترع أدلة ليست موجودة.
4. مشكلة "الإبرة في كومة القش"
اكتشف الباحثون أن هؤلاء "القراء الخارقين" يعانون عندما تصبح القصة طويلة جدًا.
- الملفات القصيرة: هم بارعون في العثور على الأخطاء في ملفات الكود القصيرة والموجزة.
- الملفات الطويلة: كلما زاد طول الكود (المزيد من "الرموز/tokens")، تشتت انتباه "القراء الخارقين". إنهم يفتقدون التفاصيل الصغيرة والخطيرة المدفونة في وسط ملف ضخم. الأمر يشبه محاولة العثات خطأ مطبعي واحد في رواية من 500 صفحة؛ ستتعب عيناك وتغفل عن الخطأ.
5. مفارقة التعقيد
إليك تحول مفاجئ:
- عادةً، نعتقد أن الكود المعقد أصعب في الفحص.
- لكن بالنسبة لـ DeepSeek-R1، الكود الأكثر تعقيدًا ساعده بالفعل في العثور على أنواع معينة من الأخطاء (باستثناء الأخطاء المتعلقة بالذاكرة).
- لماذا؟ يقترح الباحثون أن الكود المعقد غالبًا ما يحتوي على المزيد من "الأدلة" والهياكل داخل الملف نفسه. يمكن لـ "القارئ الخارق" استخدام هذه الأدلة الداخلية للاستنتاج والتحليل. أما الكود البسيط والفوضوي فيقدم أدلة أقل، مما يجعل من الصعب على الذكاء الاصطناعي فهم ما يحدث.
الخلاصة
يخلص البحث إلى أن "القراء الخارقين" من الذكاء الاصطناعي هم أدوات قوية جديدة، وهم حاليًا أفضل من الماسحات الآلية التقليدية في العثة الثغرات الأمنية في الكود. ومع ذلك، فهم ليسوا بدلاء مثاليين للمحررين البشر بعد.
- DeepSeek-R1 هو الأفضل في التفكير في المشكلات ولكنه يحتاج إلى مراقبة حتى لا يخترع حقائق من عنده.
- GPT-4 جيد في اتباع قوائم التحقق ولكنه قد يكون غامضًا للغاية.
- الاستراتيجية: النهج الأفضل ليس استبدال البشر، بل استخدام هذه الأدوات كـ مرحلة أولى. دع الذكاء الاصطناعي يفحص الملفات القصيرة والمعقدة أولاً، ثم اطلب من المحررين البشر مراجعة عمل الذكاء الاصطناعي للتأكد، خاصة عندما يصبح الذكاء الاصطناعي واثقًا أكثر من اللازم أو غامضًا للغاية.
البحث لا يدعي أن هذه الأدوات جاهزة لإدارة المكتبة بمفردها، كما لا يشير إلى أنها مثالية. هو ببساطة يوضح أنها مساعد جديد واعد جدًا يحتاج إلى تعامل دقيق.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.