← أحدث الأبحاث
💻 computer science

Vulnerable Code Search: Transferable Attack for Code Language Models

تقدم هذه الورقة هجوماً عدائياً قابلاً للنقل وغير مرتبط بلغة برمجة معينة، يقوم بتعديل معرفات الكود البرمجي لجعل مقتطفات غير ذات صلة تتوافق اصطناعياً مع استعلامات مستهدفة، مما يؤدي إلى تدهور كبير في أداء استرجاع نماذج لغات الكود البرمجي مفتوحة المصدر والمغلقة المصدر على حد سواء.

المؤلفون الأصليون: Kaicheng Wang, Liyan Huang, Jesse Thomason, Weihang Wang

نُشر 2026-08-27
📖 4 دقيقة قراءة☕ قراءة في استراحة قهوة

المؤلفون الأصليون: Kaicheng Wang, Liyan Huang, Jesse Thomason, Weihang Wang

البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل

في النظام البيئي الشاسع والمترامي الأطراف للبرمجيات الحديثة، يعتمد المطورون على المكتبات الرقمية للعثور على لبنات البناء التي يحتاجون إليها. تخيل مبرمجاً يبحث عن دالة محددة لتحميل البيانات بسرعة؛ يكتب سؤالاً في شريط البحث، ويجب على نظام ما أن يغربل ملايين الأسطر من الكود البرمجي فوراً للعثور على المطابقة المثالية. هذه العملية، المعروفة باسم استرجاع الكود (code retrieval)، هي العمود الفقلق للإنتاجية، حيث تسمح للمهندسين بإعادة استخدام الحلول الموجودة بدلاً من إعادة اختراع العجلة. ولجعل هذا العمل يتم على نطاق واسع، تستخدم الحواسيب نماذج متخصصة تترجم كلاً من السؤال البشري وكود الكمبيوتر إلى مساحة رياضية مشتركة. في هذه المساحة، كلما كان عنصران أقرب إلى بعضهما البعض، زاد اعتبارهما متشابهين. ثم يقوم النظام بترتيب النتائج، واضعاً الكود الأكثر صلة في المقدمة. لسنوات، وثقت الصناعة في هذه الأنظمة لتكون قوية، بافتراض أنه بما أن الكود يعمل بشكل صحيح، فإن الكمبيوتر سيفهم غرضه.

ومع ذلك، تكشف دراسة جديدة عن هشاشة مثيرة للقلق في هذه الأنظمة. فقد اكتشف باحثون من جامعة جنوب كاليفورنيا أن أدوات البحث القوية هذه يمكن خداعها بسهولة، ليس بتغيير ما يفعله الكود فعلياً، بل بتغيير أسماء المتغيرات والدوال بداخله. أظهر الفريق أنه من خلال استبدال هذه الأسماء بعناية، استطاعوا جعل كود غير ذي صلة تماماً يبدو كأنه الإجابة المثالية لسؤال محدد. الأمر يشبه أن يتم خداع أمين مكتبة ل يسحب كتاب طبخ من الرف لمجرد أن المؤلف غير عنوان فصل ليتطابق مع الكلمات الموجودة في ورقة طلب الزائر، رغم أن محتويات الكتاب ظلت بالكامل عن الطبخ، وليس عن حاجة الزائر الفعلية.

لق un طور الباحثون طريقة لاستغلال هذه الثغرة. فقد أخذوا قطعة من الكود ليس لها علاقة باستعلام بحث محدد - ربما مقتطف لفرز قائمة من الأرقام بينما يسأل المستخدم عن طريقة لتحميل البيانات - وقاموا بتغيير الرموز الداخلية بشكل منهجي. فعلوا ذلك دون تغيير سطر واحد من منطق الكود، مما ضمن أن البرنامج سيظل يعمل تماماً كما كان من قبل. وباستاستخدام نموذج حاسوبي أصغر ومتاح لتوجيه هذه التغييرات، وجدوا الأسماء المحددة التي ستجعل الكود غير المرتبط يبدو متطابقاً رياضياً مع السؤال المستهدف في عين الكمبيوتر. وكانت النتيجة قطعة من الكود تعمل بشكل مثالي ولكنها منفصلة دلالياً عن قصد المستخدم، ومع ذلك صنفها محرك البحث كأفضل نتيجة.

الجانب الأكثر إثارة للقلق في هذا الاكتشاف هو مدى سهولة انتقال هذه الخدعة عبر الأنظمة المختلفة. لقد أنتج الباحثون هذه المقتطفات البرمجية الخادعة باستخدام نموذج أصغر مفتوح المصدر، ومع ذلك نجحت الخدعة بفعالية مماثلة ضد الأنظمة الأكبر والمغلقة التي تستخدمها شركات التكنولوجيا الكبرى. عندما اختبروا ذلك ضد النماذج المتطورة، انهارت قدرة محركات البحث. في إحدى التجارب، انخفضت قدرة النظام على إيجاد الإجابة الصحيحة بنسبة تصل إلى 77 بالمائة. فشلت محركات البحث، التي كانت تسجل درجات عالية سابقاً في الاختبارات القياسية، في التمييز بين الحل الحقيقي والمحتال المتلاعب. يشير هذا إلى أن هذه النماذج لا تفهم حقاً معنى الكود؛ بل تعتمد بدلاً من ذلك بشكل مفرط على الأنماط السطحية، مثل الكلمات المحددة المستخدمة في أسماء المتغيرات، بدلاً من المنطق الأعمق للبرنامج.

كما استكشفت الدراسة ما إذا كان يمكن تحصين هذه الأنظمة ضد مثل هذه الهجمات. حاول الباحثون تدريب النماذج على تجاهل هذه الأنماط الخادعة، لكن الحل جاء بثمن باهظ. فعندما جعلوا النماذج أكثر مقاومة للخدعة، تضررت قدرتها على إجراء عمليات البحث العادية بشكل كبير، حيث انخفضت دقتها إلى النصف. وعلى العكس من ذلك، عندما حاولوا موازنة السلامة مع الأداء، ظلت النماذح عرضة لنسخة أكثر تطوراً من الهجوم. تشير النتائج إلى أن الجيل الحالي من أدوات البحث عن الكود، رغم معايير أدائها المثيرة للإعجاب، مبني على أساس أكثر هشاشة مما كان يُعتقد سابقاً. فهي تعطي الأولوية لمطابقة النص السطحي على فهم الوظيفة الفعلية للبرمجيات، مما يتركها عرضة للتلاعب الذي قد يعطل سير عمل التطوير أو، في أسوأ السيناريوهات، يؤدي بالمطورين إلى استخدام كود ضار يبدو شرعياً.

تمتد هذه الثغرة إلى ما هو أبعد من مجرد محركات البحث البسيطة. أظهر الباحثون أن نفس الخدعة يمكن أن تخدع النماذج اللغوية الكبيرة المستخدمة لتوليد الكود من المستودعات. فعندما عُرضت هذه الأنظمة المتقدمة على الكود المتلاعب به، انخفضت دقتها في اختيار الدالة الصحيحة عبر لغات برمجة متعددة، بما في ذلك بايثون، و C++، وجافا. نجح الهجوم لأن النماذج انجذبت إلى المعرفات المعاد تسميتها والتي تطابقت مع الاستعلام، متجاهلة حقيقة أن سلوك الكود كان غير ذي صلة. وتخلص الدراسة إلى أن الصناعة بحاجة إلى الانتقال نحو طرق أكثر قوة تفهم بنية ومنطق الكود، بدلاً من مجرد مظهره النصي. وحتى ذلك الحين، تظل الثقة الموضوعة في هذه الأدوات المؤتمتة لتوجيه القرارات البرمجية الحرجة محفوفة بالمخاطر، وعرضة للتلاعب بمجرد تغيير بسيط لبضع كلمات.

غارق في أبحاث مجالك؟

تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.

جرّب Digest →