Leveraging Large Language Models for Trustworthiness Assessment of Web Applications
تقترح هذه الورقة منهجية تجريبية تسخر النماذج اللغوية الكبيرة لأتمتة تقييم موثوقية تطبيقات الويب من خلال التحقق من ممارسات الترميز الآمن ودمج مخرجاتها في نموذج جودة هرمي لتوليد درجة موثوقية شاملة.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل أنك مدير لمطعم ضخم وصاخب (وهو تطبيق الويب). يتوقع منك زبائنك (المستخدمون) أن يكون الطعام آمنًا، والخدمة سلسة، والمطبخ نظيفًا تمامًا. إذا جرح أحد الطهاة إصبعه ولم يغسل يديه، أو إذا نسي النادل التحقق من هوية أحد الزبائن، فقد يتم إغلاق المطعم بالكامل أو تتدمر سمعته.
في العالم الرقمي، تسمى هذه "السلامة" بـ الموثوقية (Trustworthiness).
لسنوات طويلة، كان التحقق مما إذا كان المطعم آمنًا يشبه استئجار فريق من مفتشي الصحة ذوي الخبرة الفائقة للمرور عبر المطبخ، وتذوق كل طبق، وقراءة كل كتاب وصفات. كانت هذه العملية بطيئة، ومكلفة، ويصعب توسيع نطاقها. فإذا افتتحت 1,000 مطعم جديد يوميًا، فلن تتمكن من توظيف 1,000 مفتش.
هذه الورقة البحثية تطرح سؤالًا كبيرًا: هل يمكننا استخدام ذكاء اصطناي فائق الذكاء (نموذج لغوي كبير أو LLM) ليعمل كمفتش صحي لنا؟
إليك قصة كيف حاولوا ذلك، وما الذي سار بشكل خاطئ، وما الذي نجح في النهاية.
المشكلة: "قائمة التحقق" صعبة للغاية
تقليديًا، تبحث أدوات الأمن عن "أخطاء" محددة (مثل قفل مكسور على باب). ولكن ماذا لو كان القفل سليمًا، لكن الطاهي كسول فقط وترك الباب الخلفي مفتوحًا؟ هذه مشكلة ممارسة برمجة آمنة (Secure Coding Practice).
التحقق من هذه الممارسات يتطلب عادةً خبيرًا بشريًا يقرأ الكود ويقول: "نعم، هذا الطاهي اتبع القاعدة"، أو "لا، لم يتبعها". وهذا أمر بطيء جدًا بالنسبة للإنترنت الحديث.
التجربة: المفتش الآلي
قرر الباحثون اختبار خمسة "مفتشين" مختلفين من الذكاء الاصطناعي (مثل GPT-4، Gemini، إلخ) لمعرفة ما إذا كان بإمكانهم قراءة الكود والتحقق مما إذا كان الطهاة يتبعون القواعد. ركزوا على قاعدة واحدة محددة: التحقق من المدخلات (Input Validation) (التأكد من عدم تسلل أي شخص بمكونات ملوثة إلى المطبخ).
لقد جربوا أربع طرق مختلفة للتحدث مع الذكاء الاصطناعي (تسمى استراتيجيات التلقين - Prompting Strategies):
1. نهج "اسأل فقط" (الأساس - Baseline)
- التشبيه: تذهب إلى الذكاء الاصطناعي وتقول له: "هل هذا الكود آمن؟" دون إعطائه أي سياق.
- النتيجة: خمن الذكاء الاصطناعي أن الأمور جيدة للأشياء البسيطة، لكنه كان مرتبكًا في كثير من الأحيان. كان الأمر يشبه سؤال سائح عما إذا كان مبنى ما متينًا إنشائيًا دون إظهار المخططات له. لقد نجح في الأشياء الواضحة ولكنه أغفل التفاصيل الدقيقة.
2. نهج "أرني الأمثلة السيئة" (التعلم من أمثلة قليلة - Few-Shot)
- التشبيه: تعرض على الذكاء الاصطناعي صورة لطاهٍ لم يغسل يديه وتقول له: "لا تفعل هذا".
- النتيجة: ساعد هذا الذكاء الاصطناعي الأكثر ذكاءً (GPT-4) على أن يصبح أفضل. ولكن بالنسبة للنماذج الأصغر والأرخص، كان الأمر يشبه إعطاء طفل صغير كتابًا في الكيمياء المتقدمة؛ فقد شعروا بالارتباك بسبب المعلومات الإضافية وارتكبوا المزيد من الأخطاء.
3. نهج "أرني المطبخ بأكمله" (السياق الهيكلي - Structural Context)
- التشبيه: تفكر قائلًا: "ربما يكون الطاهي آمنًا، لكن المساعد الذي يعمل معه ليس كذلك!" لذا، تعطي الذكاء الاصطناعي كود الطاهي الرئيسي بالإضافة إلى كود كل مساعد يتحدث إليه.
- النتيجة: كارثة. ارتبك الذكاء الاصطناعي. كان الأمر يشبه إعطاء محقق مكتبة كاملة من الكتب بدلاً من مجرد مسرح الجريمة. كانت المعلومات الإضافية عبارة عن "ضجيج". لم يستطع الذكاء الاصطناعي العثور على الإبرة في كومة القش. في الواقع، كان أداؤه أسوأ مما كان عليه عندما أعطيته معلومات أقل.
4. نهج "كتيب القواعد الصارم" (القائم على القواعد - Rule-Based)
- التشبيه: بدلاً من عرض الأمثلة أو المكتبات الضخمة، تعطي الذكاء الاصطناي قائمة تحقق بسيطة وصارمة:
- القاعدة 1: إذا جاءت المدخلات من مستخدم، فيجب فحصها حتمًا.
- القاعدة 2: إذا لم يتم فحصها، ضع علامة "فشل" (FAIL).
- التيجة: كان هذا هو الفائز. من خلال إعطاء الذكاء الاصطناعي تعليمات واضحة وخطوة بخطوة (مثل الوصفة)، أصبح حتى النماذج الأصغر والأرخص تعمل كمفتشين جيدين بشكل مدهش. لقد توقفوا عن التخمين وبدأوا في اتباع القواعد.
النتيجة النهائية: "درجة الثقة"
لم يرد الباحثون من الذكاء الاصطناعي أن يقول فقط "نعم" أو "لا". بل أرادوا درجة ثقة (Trust Score) (من 0 إلى 100) للتطبيق بأكل.
- المحاولة (أ): سألوا الذكاء الاصطناعي: "أعطني درجة من 0 إلى 100".
- النتيجة: كان الذكاء الاصطناعي سيئًا في الرياضيات. أعطى أرقامًا عشوائية. لم يستطع تقدير أهمية الأخطاء المختلفة.
- المحاولة (ب): استخدموا الذكاء الاصطناعي للتحقق من قائمة التدقيق، ثم استخدموا معادلة رياضية (تسمى نموذج الجودة) لحساب الدرجة بناءً على إجابات "نعم/لا" الخاصة بالذكاء الاصطناعي.
- النتيجة: مثالية. قام الذكاء الاصطناعي بالعمل الصعب المتمثل في قراءة الكود، وقامت المعادلة الرياضية بعمل حساب الدرجة. خلق هذا طريقة موثوقة وقابلة للتوسع لمعرفة مدى موثوقية تطبيق الويب.
النتائج الرئيسية
- المزيد من المعلومات ليس دائمًا أفضل: إعطاء الذكاء الاصطناعي الكثير من الكود (نهج "المطبخ بأكمله") تسبب في إرباكه. أحيانًا، القليل هو الكثير.
- القواعد تتفوق على الأمثلة: بالنسبة لفحوصات الأمن، فإن إعطاء الذكاء الاصطناي كتيب قواعد صارم يعمل بشكل أفضل من عرض أمثلة لكود سيء.
- الذكاء الاصطناعي + الرياضيات = الثقة: لا ينبغي أن تطلب من الذكاء الاصطناعي أن يكون عالم رياضيات. اجعل الذكاء الاصطناعي هو "القارئ"، واترك المعادلة تقوم بعمل الحساب. هذا المزيج يخلق نظامًا يمكنه فحص آلاف التطبيقات بسرعة ودقة.
لماذا هذا مهم؟
في المستقبل، بدلاً من الانتظار لشهور حتى يقوم فريق أمني بشري بفحص تطبيقك، يمكنك توصيل الكود الخاص بك بهذا النظام. سيخبرك فورًا: "تطبيقك موثوق بنسبة 85%، لكنك نسيت قاعدة واحدة في قسم تسجيل الدخول". هذا يجعل الإنترنت أكثر أمانًا، وأسرع، وأقل تكلفة في البناء.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.