The Illusion of Secure LLM Code: Closing the Security Gap via Iterative Reprompting
تُظهر هذه الدراسة أن مساعدي البرمجة القائمين على الذكاء الاصطناعي يفشلون في توليد كود مصادقة آمن بشكل افتراضي، مما يكشف أن إعادة التوجيه التكراري مع حلقات التدقيق الذاتي —وليس المطالبات أحادية المحاولة— هو ما يمكنه تحقيق البنية الأمنية الشاملة المطلوبة وفقًا لمعايير المعهد الوطني للمعايير والتقنية (NIST).
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل أنك اشتريت للتو مساعداً آلياً (روبوتاً) ذكياً للغاية وجديداً كلياً. تطلب منه بناء منزل لك، فيقوم في ثوانٍ معدودة بتشييد هيكل جميل بجدران وسقف وباب أمامي. يبدو مثالياً! لكن هناك مشكلة: لقد تعلم الروبوت كيفية بناء المنازل من خلال قراءة الملايين من المخططات القديمة من الإنترنت، بما في ذلك بعض المخططات من الثمانينيات حيث نسي الناس إغلاق الباب الخلفي أو استخدموا الكرتون كأساس للمنزل. الروبوت بارع في جعل الأشياء "تبدو" كمنزل، لكنه لا يعرف دائماً كيف يصنع منزلاً يمكنه حقاً منع اللصوص من الدخول.
هذا هو عالم النماذج اللغوية الكبيرة (LLMs) في تطوير البرمجيات. هذه هي "الروبوتات" الذكية التي تكتب أكواد الحاسوب من أجلنا. إنها تكتسب شهرة واسعة لمساعدتها المبرمجين على بناء التطبيقات بشكل أسرع. ولكن هناك سؤال كبير يلوح في الأفق: إذا طلبت من الذكاء الاصطنا_ي بناء "باب أمامي" رقمي لموقع إلكتروني (ما يسمى بنظام المصادقة/Authentication)، فهل سيبني حصناً منيعاً، أم مجرد باب كرتوني واهن يمكن للقراصنة ركله؟ نحن نهتم بهذا لأن كل ما نفعله عبر الإنترنت تقريباً — من الخدمات المصرفية، ووسائل التواصل الاجتماعي، إلى التسوق — يعتمد على هذه الأبواب الرقمية. إذا بنى الذكاء الاصطناعي باباً ضعيفاً، فإن أسرارنا لن تكون آمنة.
اختبار الباب الرقمي العظيم
في هذه الورقة البحثية، قرر فريق من الباحثين لعب دور المطور الذي يمثل "أسوأ سيناريو ممكن". لم يرغبوا في رؤية ما يمكن للذكاء الاصطناعي فعله عندما يهمس خبير بشري في أذنه بنصائح أمنية، بل أرادوا رؤية ما سيفعله الذكاء الاصطناعي عندما يُترك وحيداً، أو عندما يُعطى تلميحات غامضة فقط. قاموا بإعداد تجربة ضخمة لاختبار خمسة من أشهر مساعدي البرمجة بالذكاء الاصطناعي (بما في ذلك أدوات مثل GitHub Copilot، وOpenAI Codex، ونماذج Google).
كان هدفهم بسيطاً: اطلب من هذه الأنظمة الذكية بناء نظام تسجيل دخول لتطبيق ويب. ثم، تصرفوا كفريق من اللصوص الرقميين ليروا ما إذا كان بإمكانهم الاقتحام.
جرب الباحثون أربع طرق مختلفة لطلب بناء "الباب" من الذكاء الاصطنا_ي:
- نهج "افعلها فحسب" (المطالبة الأساسية): طلبوا من الذكاء الاصطنا_ي "بناء نظام تسجيل دخول نظيف". دون أي ذكر للأمن. فقط "اجعله يعمل".
- نهج "كن لطيفاً" (المطالبة الآمنة): أضافوا دفعة بسيطة: "اجعله آمناً ونظيفاً".
- نهج "دليل الخبير" (المطالبة القائمة على معايير NIST): أعطوا الذكاء الاصط_ي كتاب قواعد محدداً (إرشادات NIST SP 800-63B، وهي تشبه المعايير الحكومية الرسمية للأقفال الرقمية) وأخبروه بضرورة اتباع تلك القواعد.
- نهج "كرر العملية" (إعادة المطالبة التكرارية): كانت هذه هي اللمسة المبتكرة. بعد أن بنى الذكاء الاصط_ي الباب، سلم الباحثون له كتاب القواعد مرة أخرى وقالوا له: "مهلاً، انظر إلى ما بنيته للتو. تحقق مما إذا كان يتوافق مع القواعد. ما الذي فاتك؟ الآن، قم بإصلاحه".
النتائج: وهم الأمان
كانت النتائج مخيفة قليلاً، لكنها كانت واضحة تماماً.
عندما استخدم الباحثون نهج "افعلها فحسب"، بنى الذكاء الاصط_ي أبواباً تعمل، لكنها كانت مليئة بالثغرات. كان الكود يعمل، لكنه غالباً ما ينسى إغلاق النوافذ. لم يمنع الناس من محاولة تخمين كلمات المرور مليون مرة (هجمات التخمين/Brute-force)، ولم يخفِ "المفاتيح" (ملفات تعريف الارتباط للجلسة/Session Cookies) بشكل صحيح، وأحياناً استخدم أقفالاً ضعيفة (تشفير كلمات مرور قديم). كان الأمر يشبه بناء منزل بباب خشبي عليه علامة "ادفع" ولكن بدون قفل أمان.
وحتى عندما استخدموا نهج "كن لطيفاً" (مجرد الطلب منه كتابة كود "آمن")، لم يتحسن الذكاء الاصط_ي كثيراً. بدا وكأنه يعتقد أن كلمة "آمن" تعني فقط "لا يتعطل"، وليس "مستحيل الاختراق".
وعندما قدموا للذكاء الاصط_ي "دليل الخبير" (قواعد NIST)، تحسن الأمر. بدأ الذكاء الاصط_ي في إضافة بعض الأقفال المتينة والأقفال الأفضل. لقد اتبع التعليمات لجعل كلمات المرور أطول ولإغلاق الحسابات بعد محاولات فاشلة كثيرة. ولكن إليكم المفاجأة: حتى مع وجود كتاب القواعد في يده، ظل الذكاء الاصط_ي يفتقد بعض الأجزاء الحاسمة من الخطة الأمنية. لقد بنى باباً أمامياً قوياً لكنه ترك البوابة الخلفية مفتوحة على مصراعيها. لم تكن طريقة "المرة الواحدة" (الطلب مرة واحدة والحصول على إجابة) كافية لبناء نظام آمن حقاً.
السر الحقيقي حدث مع نهج "كرر العملية". عندما أجبر الباحثون الذكاء الاصط_ي على النظر في عمله الخاص، والاعتراف بما فاته، ثم إصلاحه، ارتفعت درجة الأمان بشكل كبير. من خلال جعل الذكاء الاصط_ي يقوم بـ "تدقيق ذاتي" وتكرار العملية، وجد الباحثون أن الكود أصبح أكثر متانة. أخيراً، تذكر الذكاء الاصط_ي وضع علامات "ممنوع التسلل" (الترويسات الأمنية/Security Headers) وإغلاق البوابة الخلفية (الحماية من هجمات CSRF).
الخلاصة الكبرى
تخلص الورقة البحثية إلى أنه لا يمكننا الوثوق بالذكاء الاصط_ي لبناء برمجيات آمنة بشكل افتراضي. إذا طلبت من الذكاء الاصط_ي "إنشاء صفحة تسجيل دخول"، فمن المرجح أن يعطيك شيئاً يعمل ولكنه مليء بالثغرات. حتى إعطاؤه كتاب قواعد لمرة واحدة ليس كافياً.
الطريقة الوحيدة للحصول على نظام آمن حقاً من مساعدي الذكاء الاصط_ي هؤلاء حالياً هي معاملتهم كمتدرب مبتدئ يحتاج إلى إشراف مستمر. يجب عليك أن تسأل: "هل هذا آمن؟" ثم "تحقق من عملك مقابل القواعد"، وأخيراً "أصلح ما فاتك". يطلق الباحثون على هذا اسم "إعادة المطالبة التكرارية" (Iterative Reprompting). إنه الفرق بين إعطاء طفل مطرقة والأمل في أن يبني منزلاً آمناً، وبين الوقوف بجانبه، وفحص عمله، وإخباره بتثبيت البراغي حتى يصبح المنزل آمناً بالفعل.
باختصار، الذكاء الاصط_ي أداة قوية، لكنه ليس حارس أمن من نوع "اضبطه وانسه". وحتى نغير طريقة استخدامنا له، يجب أن نكون نحن من يحمل المصباح ويتحقق من الأقفال.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.