Minimal Prompt Perturbations Lead to Code Vulnerabilities: Prompt Fragility and Hidden-State Signals in Coding LLMs
تكشف هذه الدراسة أن الاضطرابات الطفيفة، حتى تلك المتمثلة في تغيير حرف واحد في الأوامر، يمكن أن تتسبب في جعل النماذج اللغوية الكبيرة الخاصة بالبرمجة تولد كوداً برمجياً عرضة للثغرات، مع كون عيوب معالجة المدخلات أكثر قابلية للتنبؤ من أخطاء القيم الافتراضية الآمنة من خلال الحالات الخفية، مما يوسع نموذج التهديد الأمني ليتجاوز حقن الأوامر ليشمل التباينات العادية في الأوامر.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل أنك توظف متدرباً بارعاً وسريعاً جداً في البرمجة. هذا المتدرب (وهو ذكاء اصطناعي) يمكنه كتابة برامج كاملة في ثوانٍ. تعطيه تعليمات بسيطة، مثل "اكتب دالة لفك ضغط ملف بشكل آمن". عادةً، يقوم بعمل رائع.
لكن هذه الورقة البحثية تطرح سؤالاً مخيفاً: ماذا لو كان المتدرب حساساً للغاية تجاه الأخطاء الصغيرة في طريقة طرحك للسؤال؟
وجد الباحثون أنه إذا غيرت حرفاً واحداً فقط في تعليماتك — ربما خطأ مطبعي، أو استبدال كلمة بأخرى مشابهة — فإن الكود الذي يكتبه المتدرب يمكن أن يتحول فجأة من "آمن وسليم" إلى "مليء بالثغرات التي يمكن للمخترقين العبور من خلالها".
إليك تفصيل لنتائجهم باستخدام تشبيهات من الحياة اليومية:
1. تأثير "حجر الدومينو" ذو الحرف الواحد
تخيل التعليمات التي تعطيها للذكاء الاصطناعي كأنها وصفة طعام. وجد الباحثون أنه إذا غيرت حرفاً واحداً في الوصفة (مثل تغيير "ملح" إلى "مالح")، فإن الطبخة الناتجة قد لا تكتفي بتغيير الطعم قليلاً؛ بل قد تصبح سامة.
- الاكتشاف: اختبروا ثلاثة نماذج مختلفة من الذكاء الاصطناعي وخمس لغات برمجة. وجدوا أن تغيير حرف واحد في "الأمر" (Prompt) يمكن أن يقلب الكود من آمن إلى معرض للاختراق.
- التشبيه: الأمر يشبه أن تقول للطاهي: "تأكد من إغلاق الباب"، مقابل "تأكد من إغلاق الباب" (مع خطأ مطبعي في كلمة "إغلاق"). في هذه الحالة المحددة، قد ينسى الذكاء الاصطناعي تماماً إغلاق الباب، تاركاً المنزل مفتوحاً على مصراعيه.
2. نوعان مختلفان من "الأخطاء"
لاحظ الباحثون أن ليست كل الثغرات الأمنية متساوية، حيث وجدوا فئتين متميزتين، تتصرفان بشكل مختلف:
النوع (أ): "الحارس المفقود" (معالجة المدخلات)
- ما هو: ينسى الذكاء الاصطناعي إضافة فحص أمان، مثل حارس يقف عند مدخل ملهى ليتحقق من الهويات.
- النتيجة: تُظهر "دماغ" الذكاء الاصطناعي الداخلية (الحالات الخفية) علامات على هذا الخطأ قبل أن يبدأ حتى في كتابة الكود. الأمر يشبه رؤية الطاهي وهو يمد يده للمكون الخاطئ قبل أن يبدأ في الطبخ. استطاع الباحثون التنبؤ بهذه الأخطاء بدقة تقارب 75% بمجرد النظر في عملية التفكير لدى الذكاء الاصطناعي.
- السبب: يجب على الذكاء الاصطناعي أن يقرر في مرحلة مبكرةة بناء "هيكل أمان" كامل داخل الكود. وهذا القرار يكون مرئياً في وقت مبكر.
النوع (ب): "الخيار الضعيف" (الخيارات الافتراضية الآمنة)
- ما هو: يقوم الذكاء الاصطناعي ببناء هيكل الأمان، لكنه يختار قفلاً ضعيفاً (مثل كلمة مرور "1234" بدلاً من كلمة معقدة).
- النتيجة: هذه الأخطاء أصعب بكثير في التنبؤ بها. يبدو "دماغ" الذكاء الاصطناعي الداخلي سليماً تماماً حتى اللحظة الأخيرة. القرار باختيار قفل ضعيف يحدث في وقت متأخر جداً بحيث يغيب "إشارة الإنذار المبكر". استطاع الباحثون التنبؤ بهذه الأخطاء بنسبة 67% فقط.
- السبب: الأمر يشبه قرار الطاهي باستخدام قفل هش على الباب فقط بعد بناء المنزل بالفعل. المخطط بدا مثالياً، لكن الخيار النهائي كان سيئاً.
3. أين يقع الخطأ يهم أيضاً
نظر الباحثون أيضاً في أين وقع الخطأ المطبعي في التعليمات.
- المنتصف هو الحرج: وجدوا أن الأخطاء المطبعية في منتصف التعليمات كانت الأكثر خطورة.
- التشبيه: تخيل جملة: "يرجى إغلاق الباب الأمامي والباب الخلفي". إذا ارتكبت خطأً مطبعياً في كلمة "الأمامي" في المنتصف، فقد يرتبك الذكاء الاصطناعي بشأن أي باب يجب إغلاقه. إذا ارتكبت خطأً في أول كلمة أو آخر كلمة، فمن المرجح أن يتجاهله الذكاء الاصطناعي أو يخمن الإجابة الصحيحة. "جوهر" التعليمات هو المكان الذي يكون فيه الذكاء الاصطناعي أكثر هشاشة.
4. "الكرة البلورية" (الاستقصاء/Probing)
قام الفريق ببناء "كرة بلورية" (مسبار رياضي) تنظر إلى الحالة الداخلية للذكاء الاصطناعي مباشرة بعد قراءته لأمرك وقبل أن يكتب أي كود.
- النتيجة: يمكن لهذه الكرة أن تخبرك ما إذا كان الذكاء الاصطناعي على وشك كتابة كود يحتوي على أخطاء "الحارس المفقود" (النوع أ) بشكل جيد جداً.
- القصور: هي تعاني في التنبؤ بأخطاء "الخيار الضعيف" (النوع ب). هذا يشير إلى أنه بالنسبة لبعض المشكلات الأمنية، يمكننا اكتشاف الخطأ قبل أن يبدأ الذكاء الاصطناعي في الكتابة، ولكن بالنسبة لبعضها الآخر، قد نحتاج إلى فحص الكود أثناء كتابته أو بعد الانتهاء منه.
الخلا الخلاصة
تخلص الورقة البحثية إلى أنه لا يمكننا افتراض أن مساعدي البرمجة من الذكاء الاصطناعي لدينا يتمتعون بالمتانة. فخطأ مطبعي بسيط أو تغيير طفيف في صياغة الطلب يمكن أن يؤدي دون قصد إلى خلق ثغرة أمنية.
- الخبر الجيد: يمكننا أحياناً اكتشاف هذه المخاطر مبكراً من خلال النظر في "أفكار" الذكاء الاصطناعي الداخلية.
- الخبر السيئ: لا يمكننا اكتشاف جميع المخاطر بهذه الطريقة، خاصة تلك التي يرتكب فيها الذكاء الاصطناعي خياراً واحداً سيئاً في نهاية العملية.
ملاحظة هامة: يؤكد الباحثون أنهم فعلوا ذلك من خلال أخطاء مطبعية عشوائية تبدو وكأنها غير مقصودة (مثل التي قد يرتكبها البشر)، وليس من خلال محاولة خداع الذكاء الاصطناعي عن قصد. وهذا يعني أن الخطر حقيقي حتى بالنسبة للمطورين العاديين الذين يريدون فقط إنجاز عملهم.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.