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

Transferable Backdoor Attacks for Code Models via Sharpness-Aware Adversarial Perturbation

تقترح الورقة البحثية هجوم "الخلفية العدائية القابل للنقل والمدرك للحدة" (STAB)، وهو طريقة هجوم مبتكرة تستفيد من تقليل الحدة (Sharpness-Aware Minimization) وتحسين "غومبل-سوفتماكس" (Gumbel-Softmax) لتوليد محفزات عدائية مدركة للسياق، مما يتغلب بفعالية على المقايضة بين القابلية للنقل والتخفي في هجمات الأبواب الخلفية على نماذج الكود دون الحاجة إلى الوصول إلى بيانات تدريب النموذج الضحية.

المؤلفون الأصليون: Shuyu Chang, Haiping Huang, Yanjun Zhang, Yujin Huang, Fu Xiao, Leo Yu Zhang

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

المؤلفون الأصليون: Shuyu Chang, Haiping Huang, Yanjun Zhang, Yujin Huang, Fu Xiao, Leo Yu Zhang

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

تخيل أنك تقوم بتعليم روبوت كيفية كتابة أكواد برمجية. أنت تعطيه ملايين الأمثلة من الأكواد الجيدة ليتعلم الأنماط، والقواعد، والمنطق. هكذا تعمل "نماذج الأكواد" (Code Models) الحديثة؛ فهي مفيدة للغاية، ولكن لديها نقطة ضعف خطيرة: هجمات الباب الخلفي (Backdoor Attacks).

فكر في هجوم الباب الخلفي كأنه مصافحة سرية. إذا رأى الروبوت إشارة محددة وخفية في الكود (المُحفِّز/Trigger)، فإنه يتجاهل برمجته العادية ويقوم بفعل خبيث، مثل سرقة البيانات أو حذف الملفات. وإذا لم تكن الإشارة موجودة، فإنه يعمل بشكل طبيعي تماماً.

لفترة طويلة، كان لدى المخترقين خياران لهذه المصافحات السرية، وكلاهما يعاني من مشكلات كبيرة:

  1. هجوم "القصاصة اللاصقة" (المُحفِّزات الثابتة - Static Triggers): يقوم المخترق بلصق قطعة غريبة وواضحة من الكود غير المنطقي (مثل if (1==2)) في بيانات التدريب.
    • المزايا: يعمل على أي روبوت تقريباً.
    • العيوب: يشبه ترك لوحة نيون مكتوب عليها "أنا مخترق"، حيث تكتشفه أنظمة الدفاع فوراً وتقوم باستبعاده.
  2. هجوم "الحرباء" (المُحفِّزات الديناميكية - Dynamic Triggers): يقوم المخترق بتغيير أسماء المتغيرات (مثل تغيير user_name إلى temp_data) ليندمج مع الكود.
    • المزايا: يبدو طبيعياً ويختبئ جيداً.
    • العيوب: لا يعمل إلا إذا تم تدريب الروبوت على نفس نوع البيانات التي استخدمها المخترق بالضبط. إذا تعلم الروبوت من مكتبة كود مختلفة، فإن المصافحة السرية ستفشل. الأمر يشبه محاولة استخدام مصافحة سرية تعلمتها في مكتبة مع شخص من بلد آخر يتحدث لهجة مختلفة.

الحل الجديد: STAB

تقدم الورقة البحثية طريقة جديدة تسمى STAB (الخلفية العدائية القابلة للنقل والواعية بالحدة - Sharpness-aware Transferable Adversarial Backdoor). وهي تحل كلتا المشكلتين معاً. إليك كيف تعمل، باستخدام تشبيهات بسيطة:

1. إيجاد "الوادي المسطح" (التدريب الواعي بالحدة - Sharpness-Aware Training)

تخيل عملية تعلم الروبوت كأنها مشي لأسفل جبل للوصول إلى أدنى نقطة (أفضل حل).

  • الطريقة القديمة: يوجه المخترق الروبوت نحو قمة حادة وضيقة. إذا اتخذ الروبوت خطوة واحدة صغيرة في اتجاه مختلف (مثل رؤية نوع مختلف قليلاً من الكود)، فإنه يسقط عن القمة وينسى المصافحة السرية. لهذا السبب تفشل الهجمات الديناميكية القديمة عند التعامل مع بيانات جديدة.
  • طريقة STAB: يوجه المخترق الروبوت نحو وادي واسع ومسطح. في هذا الوادي، يمكنك المشي في اتجاهات عديدة دون السقوط. هذا يعني أن المصافحة السرية ستعمل حتى لو رأى الروبوت كوداً مختلفاً قليلاً أو جاء من مجموعة بيانات مختلفة. وهذا ما يجعل الهجوم "قابلاً للنقل" (Transferable).

2. "إعادة التسمية الذكية" (تحسين Gumbel-Softmax)

بمجرد أن يصبح الروبوت في ذلك الوادي المسطح والآمن، يحتاج المخترق لإنشاء المصافحة السرية.

  • الطريقة القديمة: يقوم المخترق بتغيير كلمة واحدة في كل مرة، ويخمن ما الذي سينجح. هذا يشبه محاولة حل لغز عبر تحريك قطعة واحدة عشوائياً؛ قد تتعثر في مكان سيء.
  • طريقة STAB: يستخدم المخترق أداة رياضية خاصة (Gumbel-Softmax) للنظر إلى الجملة بأكملها دفعة واحدة. هي تسأل: "إذا قمت بتغيير كل أسماء هذه المتغيرات معاً، فما هو المزيج الذي سيبدو أكثر طبيعية وفي نفس الوقت يُفعّل الباب الخلفي؟"
    • تضمن أن الكود لا يزال منطقياً من الناحية التركيبية (Syntactic Validity).
    • تضمن أن التغييرات تبدو مختلفة بما يكفي لتجنب الكشف (السرية - Stealthiness).
    • تضمن أن التغييرات متسقة (إذا قمت بإعادة تسمية متغير مرة، فإنك تعيد تسميته في كل مكان).

3. السيناريو الواقعي

إليك الجزء المرعب في الورقة البحثية:

  1. المهاجم: يأخذ مكتبة كود عامة (مثل GitHub)، ويحقن فيها هذه المصافحات السرية ذات "الوادي المسطح"، ثم ينشرها.
  2. الضحية: (شركة أو مطور) يقوم بتحميل هذه المكتبة لتدريب نموذج الذكاء الاصطناعي الخاص به، دون أن يعلم أنها مسمومة.
  3. النتيجة: يتعلم الذكاء الاصطناعي الخاص بالضحية الباب الخلفي. لاحقاً، عندما يرسل المهاجم قطعة كود محددة تحتوي على المُحفِّز، يقوم الذكاء الاصطناعي الخاص بالضحية بما يريده المهاجم تماماً، رغم أن ذكاء الضحية الاصطناعي قد تدرّب على بيانات مختلفة عن تلك التي استخدمها المهاجم.

لماذا هذا مهم؟

تثبت الورقة البحثية أن STAB يمثل كابوساً أمنياً لأن:

  • إنه غير مرئي: فهو يجتاز جميع الاختبارات الأمنية الحالية (الدفاعات) التي تكتشف هجمات "القصاصة اللاصقة".
  • إنه متنقل: يعمل حتى لو استخدم المهاجم والضحية مجموعات بيانات مختلفة.
  • إنه قوي: حتى بعد محاولة الأنظمة الأمنية تنظيف الكود، لا يزال الباب الخلفي يعمل بنسبة 73% من المرات تقريباً، بينما تفشل الهجمات الأخرى تماماً.

باختصار: STAB هو لص محترف لا يكتفي فقط بفتح القفل (الهجوم الثابت) أو ارتداء قناع (هجوم الديناميكي القديم). بدلًا من ذلك، هو يعلّم الحارس أن يتوقع حركة اللص المحددة، ولكن بطريقة تبدو طبيعية ومرنة للغاية لدرجة أن الحارس لن يدرك أبداً أنه قد تدرّب على السماح له بالدخول.

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

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

جرّب Digest →