XOXO: Stealthy Cross-Origin Context Poisoning Attacks against AI Coding Assistants
تقدم هذه الورقة البحثية XOXO، وهو هجوم خفي جديد يستغل آليات جمع السياق التلقائية لمساعدي البرمجة المعتمدين على الذكاء الاصطناعي عبر حقن تعديلات برمجية عدائية مكافئة دلالياً لتسميم مطالبات النماذج اللغوية الكبيرة، مما يتسبب في توليد كود برمجي ضعفا مع التملص من وسائل الدفاع التقليدية ومن تقنيات الضبط الدقيق.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل أن لديك مساعد برمجة ذكي للغاية ولا يكلّ (مثل GitHub Copilot) يساعدك في كتابة البرمجيات. هذا المساعد يشبه رئيس طهاة ماهر لا يكتفي فقط بطهي طبقك الخاص، بل ينظر أيضاً إلى المكونات والوصفات الموجودة على طاولة مطبخك، وفي خزانة مؤونتك، وحتى في دفاتر ملاحظات جيرانك ليستلهم منها الأفكار.
الورقة البحثية التي شاركتَها، بعنوان "XOXO"، تكشف عن طريقة مخادعة يمكن من خلالها للمخترقين خداع هذا الطاهي ليطبخ وجبة مسمومة، رغم أن المكونات تبدو سليمة تماماً.
إليك تفصيل الهجوم، والأسلوب، والحل، مشروحاً ببساطة:
1. الإعداد: الطاهي "المفيد"
تعمل مساعدات البرمجة بالذكاء الاصطناعي من خلال جمع السياق. إذا كنت تكتب دالة للبحث عن الأسئلة، فإن المساعد ينظر إلى الملفات الأخرى في مشروعك ليرى كيف تم تنفيذ أشياء مماثلة من قبل. هو يفترض: "إذا كان جاري قد كتب كوداً لهذا الأمر، فلا بد أنه جيد، لذا سأستخدمه كمرجع".
2. الهجوم: "XOXO" (تسميم السياق عبر المصادر المختلفة - Cross-Origin Context Poisoning)
اكتشف الباحثون طريقة لتسميم عقل الطاهي دون كسر الكود فعلياً.
- الخدعة: تخيل أن جاراً شريراً (المهاجم) قام بتغيير اسم متغير في دفتر ملاحظات مشترك من
USE_RAW_QUERIESإلىRAW_QUERIES. - لماذا هي خدعة مخادعة: بالنسبة لمبرمج بشري، هذا التغيير ليس له معنى. الكود لا يزال يعمل بنفس الطريقة تماماً. الأمر يشبه تغيير عنوان وصفة من "اصنع حساءً" إلى "حضّر مرقاً". التعليمات متطابقة تماماً.
- السم: ومع ذلك، فإن مساعد الذكاء الاصطناعي حرفي للغاية في فهمه. عندما يرى
RAW_QUERIESفي السياق، يصاب بالارتباك ويفكر: "أوه، هذا المشروع يحب البيانات الخام وغير المفلترة!". - النتيجة: لاحقاً، عندما يطلب مطور ضحية من المساعد كتابة ميزة بحث، ينظر المساعد إلى ذلك الدفتر المسموم، ويأخذ فكرة خاطئة، ويكتب كوداً عرضة للاختراق من قبل الهكرز (تحديداً ثغرة حقن SQL). يبدو الكود طبيعياً، لكنه يحتوي على باب خلفي مخفي.
التشبيه:
فكر في الأمر كأنه لعبة الهمس:
- أنت تخبر صديقك (الذكاء الاصطناعي) أن يبني منزلاً آمناً.
- يقوم شخص مخادع (المهاجم) بالدخول إلى الغرفة وتغيير لافتة على باب بهدوء من "ممنوع الدخول" إلى "مفتوح".
- لا تزال اللافتة تبدو كعلامة عادية، والباب لا يزال مغلقاً (الكود لا يزال يعمل).
- لكن عندما يرى صديقك علامة "مفتوح" لاحقاً، يقرر ترك الباب الأمامي غير مقفل، ظناً منه أن هذا ما يريده مالك المنزل.
- المنزل الآن معرض للخطر، رغم أن تغيير اللافتة بدا غير ضار.
3. السلاح: "GCGS" (خوارزمية البحث)
إن العثور على التغيير "غير الضار" المثالي لخداع الذكاء الاصطناعي أمر صعب، فلا يمكنك مجرد التخمين. ابتكر المؤلفون أداة تسمى البحث في رسم كايلي الجشع (Greedy Cayley Graph Search - GCGS).
- كيف تعمل: تخيل أن الذكاء الاصطناعي هو متسلق جبل واثق جداً عندما يكون على المسار الصحيح. المهاجم يريد دفع المتسلق بعيداً عن المسار.
- خوارزمية GCGS تشبه متسلقاً ذكياً يحاول القيام بخطوات صغيرة وغير ضارة (إعادة تسمية متغير، تبديل كلمة).
- يتحقق من: "هل قلّت ثقة الذكاء الاصطناعي بعد قمت بهذا التغيير الصغير؟"
- إذا قلّت ثقة الذكاء الاصطناعي قليلاً، يستمر المتسلق في الذهاب في ذلك الاتجاه، ويقوم بتكديس التغييرات الصغيرة فوق بعضها البعض.
- في النهاية، يجدون مجموعة من التغييرات الصغيرة التي تجعل الذكاء الاصطناعي يفقد طريقه تماماً، ويقوم بتوليد خطأ (Bug)، كل ذلك بينما لا يزال الكود يبدو "نظيفاً" بالنسبة للبشر.
4. الضرر
اختبر الباحثون هذا على أفضل نماذج الذكاء الاصطناي في العالم (بما في ذلك GPT-4.1 و Claude 3.5).
- معدل النجاح: نجحوا في خداع الذكاء الاصطناعي لكتابة كود يحتوي على أخطاء أو ثغرات بنسبة 83% للأخطاء العامة و 52% للثغرات الأمنية.
- التخفي: كان الكود الذي ولّدوه طبيعياً جداً لدرجة أن أدوات الأمن القياسية لم تستطع تمييز أنه خبيث. لقد كان بمثابة "شبح في الآلة".
5. لماذا هذا مهم؟
هذا ليس مجرد كود سيئ واحد. إنه يكشف عن خلل جوهري في طريقة تفكير طهاة الذكاء الاصطناعي.
- إنهم يعاملون الكود من المصادر الموثوقة والمصادر غير الموثوقة بنفس الطريقة تماماً.
- هم لا يفهمون أن الكود "المتطابق دلالياً" (أي الذي له نفس المعنى) يمكن استخدامه لخداعهم.
- الدفاعات الحالية (مثل "فلاتر السلامة") فشلت لأن الكود لم يبدُ خبيثاً؛ بل بدا فقط مربكاً للذكاء الاصطناعي.
الخلاصة
تحذر الورقة البحثية من أنه مع زيادة اعتمادنا على الذكاء الاصطناعي لكتابة الكود، نحتاج إلى توخي الحذر بشأن المصادر التي يستقي منها هذا الذكاء معلوماته. مجرد وجود الكود في مجلد مشروعك لا يعني أنه آمن. إذا استطاع طرف سيء التلاعب بـ "السياق" (المعلومات الخلفية) بشكل طفيف، فيمكنه تسميم مخرجات الذكاء الاصطناعي بصمت، محولاً هذه الأداة المفيدة إلى خطر أمني.
باخت�صار: الذكاء الاصطناعي ذكي، لكن من السهل التأثير عليه من خلال "الصحبة التي يرافقها". إذا سمحت لمخادع بالجلوس بجانبه، فقد يبدأ الذكال الاصطناعي في التصرف مثله، حتى لو كان المخادع يهمس باقتراحات تبدو غير ضارة.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.