Towards Secure Logging: Characterizing and Benchmarking Logging Code Security Issues with LLMs
تقدم هذه الورقة تصنيفاً شاملاً ومجموعة بيانات مرجعية لتسجيل القضايا الأمنية في الأكواد البرمجية، وتقييم قدرات النماذج اللغوية الكبيرة (LLMs) في اكتشاف هذه الثغرات وإصلاحها، وتكشف عن أنه بينما تظهر هذه النماذج دقة متوسطة في الاكتشاف، إلا أنها تواجه صعوبة في توليد إصلاحات برمجية صحيحة بشكل موثوق.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل أن نظامك البرمجي هو مدينة ضخمة وصاخبة. التدوين (Logging) هو شبكة كاميرات المراقبة ودفاتر تقارير الشرطة في هذه المدينة. في كل مرة يحدث فيها شيء ما — سيارة مسرعة، باب يُفتح، عملية تجارية تتم — يقوم النظام بتدوينه. هذه السجلات حاسمة لإصلاح الأشياء المعطلة (تصحيح الأخطاء/Debugging) ومراقبة المشاكل (المراقبة/Monitoring).
ومع ذلك، تماماً مثل تقرير شرطة حقيقي، إذا كتبت الأشياء الخاطئة، فقد تتسبب بالخطأ في كارثة.
هذه الورقة البحثية تشبه فريقاً من محققي الأمن الذين قرروا التحقيق في لماذا "تقارير الشرطة" هذه (السجلات) تخطئ أحياناً، وما إذا كان بإمكان الروبوتات الذكية (النماذج اللغوية الكبيرة أو LLMs) المساعدة في إصلاحها.
إليك تفاصيل هذا التحقيق بكلمات بسيطة:
1. المشكلة: "الدفتر الذي يسرب المعلومات"
وجد الباحثون أن المبرمجين غالباً ما يرتكبون أخطاء عند كتابة هذه السجلات. فبدلاً من تسجيل ما حدث فقط، قد يسجلون أحياناً معلومات سرية عن طريق الخطأ.
- خطأ "المعلومات الزائدة": تخيل ضابط شرطة يكتب: "المشتبه به، جون سميث، الذي يعيش في 123 شارع ماين ويمتلك رقم بطاقة ائتمان 4444-1234-5678-9010، تم إلقاء القبض عليه". هذه مخاطرة أمنية هائلة! أصبح السجل الآن خريطة كنز للقراصنة (Hackers).
- خطأ "المدخل المزيف": تخيل مجرماً يتسلل إلى مركز الشرطة ويكتب تقريراً مزيفاً يقول: "الضابط سميث خائن". إذا لم يكن النظام حذراً، فقد يصدق هذا المدخل المزيف. هذا ما يسمى حقن السجلات (Log Injection).
أنشأ الباحثون "ورقة غش" (تصنيف/Taxonomy) لتصنيف هذه الأخطاء، ووجدوا أربعة أنواع رئيسية من العادات السيئة:
- تسريب الأسرار: كتابة كلمات المرور أو البيانات الخاصة في السجل.
- سوء التخزين: ترك دفاتر السجلات مفتوحة في الشارع حيث يمكن لأي شخص قراءتها.
- سوء الإخفاء: محاولة إخفاء كلمة مرور ولكن بطريقة سيئة جداً تجعل كلمة المرور لا تزال مرئية (مثل وضع ملصق فوق كلمة ولكن الحبر ينفذ من خلاله).
- انسكاب الأخطاء: عندما ينهار النظام، فإنه يسرب بالخطأ أسراره الداخلية (مثل مخطط بناء المبنى) في رسالة الخطأ.
2. التجربة: هل يمكن للروبوتات الذكية إصلاح ذلك؟
بنى الفريق مجموعة بيانات اختبارية تسمى SecLogging تحتوي على 101 مثال حقيقي من هذه الأخطاء. ثم سألوا عدة نماذج ذكاء اصطناي شهيرة (مثل DeepSeek و Llama و GPT) سؤالين:
- هل يمكنك رصد الخطأ؟ (الكشف/Detection)
- هل يمكنك إعادة كتابة الكود لإصلاحه؟ (الإصلاح/Repair)
النتائج: الروبوت "الذكي لكن المتعثر"
كانت النتائج مزيجاً من "واو!" و "يا للهول!".
رصد الخطأ (الكشف):
كان الذكاء الاصطناعي جيداً في إيجاد المشكلات الواضحة. إذا كان الكود يقولprint("Password: 12345")، فإن الذكاء الاصطناعي سيقول بسهولة: "مهلاً، هذا تسريب!".- تشبيه: الأمر يشبه روبوتاً بارعاً في رصد لوحة "قف" الحمراء، ولكنه يرتبك عندما تكون اللوحة مختبئة خلف شجيرة.
- العقبة: عانى الذكاء الاصطناعي مع المشكلات المعقدة القائمة على المنطق. على سبيل المثال، إذا كان الكود قد أخفى كلمة المرور "تقريباً" ولكنه أغفل خطوة واحدة محددة، فإن الذكاء الاصطناً كان يخطئ في رصدها غالباً.
إصلاح الخطأ (الإصلاح):
هنا تعثر الذكاء الاصطناعي.- تشبيه: تخيل أنك تطلب من روبوت إصلاح أنبوب مسرب. قد يقول: "سأقوم باستبدال نظام السباكة بالكامل في المنزل". هذا يعمل، لكنه معقد ومكلف للغاية!
- غالباً ما اقترح الذكاء الاصطناعي إصلاحات معقدة للغاية أو غيرت الأشياء الخاطئة. وأحياناً، كان إضافة المزيد من التعليمات (السياق) إلى الذكاء الاصطناعي يجعل الأمر أسوأ، كأن تحاول شرح مسألة رياضية بسيطة لطفل باستخدام كتاب مدرسي من 50 صفحة. الضجيج الإضافي أربك الروبوت.
3. الدروس الكبرى (الخلاصات)
وجد الباحثون ثلاث قواعد ذهبية لاستخدام الذكاء الاصطناعي لتأمين سجلات البرامج:
الأقل هو الأكثر: عند التحدث إلى الذكاء الاصطناعي، لا تضخ عليه مكتبة كاملة من المعلومات. أعطه فقط وصفاً قصيراً وواضحاً للمشكلة.
- سيء: "إليك الكود، وإليك تاريخ المشروع، وإليك تعريف الأمن، وإليك سجل الخطأ..."
- جيد: "هذا السطر من الكود يطبع كلمة مرور. أوقف ذلك."
- كان أداء الذكاء الاصطناعي أفضل مع الأوامر (Prompts) الأكثر مباشرة والاختصار.
نقطة العمى "القطعة المفقودة": الذكاء الاصطناعي سيء جداً في رصد الأشياء التي ليست موجودة. إذا كان من المفترض أن يحتوي الكود على "قناع" لإخفاء كلمة مرور ولكنه لا يحتوي عليه، فإن الذكاء الاصطناعي غالباً ما يغفل ذلك.
- تشبيه: إذا سألت روبوتاً: "ما هو الشيء المفقود في هذه الصورة؟" وكانت الصورة مجرد جدار أبيض فارغ، فقد يكتفي الروبوت بالتحديق في الجدار ويقول: "أرى جداراً". إنه يحتاج إلى إنسان ليقول له: "ابحث عن الكلب المفقود!".
الإشراف البشري غير قابل للتفاوض: لا يمكنك ترك الذكاء الاصطناعي يصلح الكود ثم تذهب بعيداً. ولأن الذكاء الاصطناعي قد يقدم أحياناً إصلاحات معقدة للغاية أو خاطئة، يجب على خبير بشري مراجعة العمل قبل أن يصبح حياً (Live).
الملخص
هذه الورقة هي بمثابة "واقع مرير" لعالم التكنولوجيا. إنها تقول: "الذكاء الاصطناعي أصبح جيداً في إيجاد الثغرات الأمنية في كود التدوين، لكنه ليس مستعداً ليكون الميكانيكي الوحيد."
اعتبر الذكاء الاصطناعي بمثة متدرب مبتدئ. هو بارع في الإشارة إلى الفوضى الواضحة (مثل انسكاب القهوة)، ولكنه يحتاج إلى مدير أول (مبرمج بشري) ليخبره بالضبط بما يجب فعله، وليراجع عمله قبل أن يبدأ في إعادة ترتيب الأثاث. مفتاح النجاح ليس فقط في امتلاك ذكاء اصطناعي أذكى، بل في معرفة كيفية طرح الأسئلة الصحيحة عليه بدقة.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.