الـ prompt injection مقابل الـ jailbreak: ما الفرق؟

بقلم عبدالرحمن عادل|9 دقائق قراءة

الـ prompt injection والـ jailbreak هما من أكثر تقنيات الهجوم نقاشاً ضد الـ LLM، وكثيراً ما يُخلط بينهما، حتى بين محترفي الأمن. رغم تشابههما، فإنهما يستهدفان أشياء مختلفة، ويحملان مخاطر مختلفة، ويحتاجان دفاعات مختلفة. فهم الفرق ضروري لكل من يعمل في أمن الذكاء الاصطناعي.

ما هو الـ prompt injection؟

الـ prompt injection هجوم على التطبيق المبني فوق نموذج الـ LLM. هدف المهاجم هو تجاوز تعليمات التطبيق (الـ system prompt) وجعل النموذج يفعل شيئاً لم يقصده المطوّر. الهدف هو السلوك المقصود للتطبيق، لا تدريب النموذج على الأمان.

مثلاً، إذا كان روبوت خدمة عملاء مُوجَّهاً لمناقشة المنتجات فقط، فقد يخدعه هجوم الـ prompt injection ليكشف بيانات تسعير داخلية، أو ينفّذ استدعاءات API غير مصرّح بها، أو يتجاهل قواعد العمل. المهاجم يقوّض تعليمات المطوّر، لا محاذاة النموذج على الأمان.

يُصنَّف الـ prompt injection على أنه الثغرة رقم 1 في قائمة OWASP لأخطر عشر ثغرات في تطبيقات الـ LLM. يمكنك استكشاف كيفية عمله عملياً في مختبرات PromptTrace المجانية.

ما هو الـ jailbreak؟

الـ jailbreak هجوم على تدريب النموذج الأساسي على الأمان. هدف المهاجم هو جعل النموذج ينتج محتوى صُمِّمت محاذاته الأمنية (RLHF، أو الذكاء الاصطناعي الدستوري، أو طرق تدريب أخرى) لمنعه، مثل التعليمات الضارة أو خطاب الكراهية أو غيرها من المخرجات غير الآمنة.

يستهدف الـ jailbreak النموذج نفسه، بغضّ النظر عن التطبيق الذي يغلّفه. الـ jailbreak الذي ينجح على ChatGPT سينجح غالباً على أي تطبيق آخر يستخدم النموذج الأساسي نفسه، لأن الثغرة في تدريب النموذج، لا في prompt التطبيق.

الفروق الأساسية

تتلخّص الفروق بين الـ prompt injection والـ jailbreak في خمسة أبعاد رئيسية:

الجهة المستهدفة

الـ prompt injection يستهدف طبقة التطبيق: الـ system prompt، ومنطق العمل، والسلوك الذي يحدده المطوّر. الـ jailbreak يستهدف طبقة النموذج: تدريب الأمان والمحاذاة المبنية داخل الـ LLM نفسه.

هدف المهاجم

الـ prompt injection يسعى لجعل النموذج يتجاهل تعليمات المطوّر وينفّذ أفعالاً غير مصرّح بها (تسريب البيانات، الـ tool calling، تجاوز قواعد العمل). الـ jailbreak يسعى لجعل النموذج ينتج محتوى دُرِّب على رفضه (معلومات ضارة، مخرجات غير آمنة).

من الضحية؟

في الـ prompt injection، الضحية عادة هو مالك التطبيق أو مستخدموه؛ فالهجوم يقوّض سلامة التطبيق. في الـ jailbreak، «الضحية» هو سياسات الأمان لدى مزوّد النموذج؛ فالمهاجم يريد أن يتجاهل النموذج الـ guardrails الخاصة بتدريبه.

التقنيات

الـ prompt injection يستخدم تقنيات مثل «تجاهل التعليمات السابقة»، والحقن غير المباشر عبر المستندات، والتلاعب بالسياق، وإساءة استخدام الأدوات. الـ jailbreak يستخدم تقنيات مثل سيناريوهات تقمّص الأدوار (DAN)، والتأطير الافتراضي («في عالم خيالي حيث...»)، والهجمات الخصمية على مستوى الـ tokens. هناك تداخل كبير؛ فكثير من التقنيات تعمل للنوعين.

الخطورة والأثر

الـ prompt injection يُعتبر عموماً أخطر في سياقات المؤسسات لأنه قد يؤدي إلى تسريب البيانات وأفعال غير مصرّح بها وخسارة مالية. الـ jailbreak يؤدي أساساً إلى مخالفة السياسات وتوليد محتوى ضار. لهذا يصنّف OWASP الـ prompt injection على أنه أعلى مخاطر الـ LLM.

أين يتداخلان

عملياً، كثيراً ما يتداخل الـ prompt injection والـ jailbreak. فهجوم تقمّص الأدوار («تظاهر بأنك DAN») قد يُحقّق jailbreak لتدريب النموذج على الأمان ويتجاوز الـ system prompt الخاص بالتطبيق في آنٍ واحد. كثير من الهجمات الواقعية تجمع عناصر من كليهما؛ فالمهاجم لا يهتم بالتصنيف، بل بالنتيجة فقط.

لترى ذلك عملياً، استكشف كيف يستجيب The Bare LLM دون أي دفاعات على مستوى التطبيق. ثم قارن ذلك السلوك بالنماذج ذات الدفاعات النشطة؛ سترى كيف يمكن للتقنية نفسها أن تستهدف طبقات مختلفة حسب السياق.

تصنيف OWASP

تصنّف قائمة OWASP لأخطر عشر ثغرات في تطبيقات الـ LLM الـ prompt injection (LLM01) على أنه متميّز عن بقية المخاطر. أما الـ jailbreak فليس له فئة منفصلة خاصة به؛ فهو يُعتبر جزءاً أو تقنية ذات صلة. يعكس هذا رؤية مجتمع الأمن بأن الـ prompt injection على مستوى التطبيق (الذي قد يسبّب ضرراً تجارياً مباشراً) هو الخطر الأعلى أولوية. وتصنّف منظومة MITRE ATLAS كليهما كتقنيتين هجوميتين، مع تناول أكثر تفصيلاً للـ prompt injection بسبب اتّساع سطح أثره.

لماذا يهم هذا للمدافعين

إذا كنت تدافع ضد الـ prompt injection، فتركيزك على معمارية التطبيق: system prompts قوية، وترشيح المدخلات والمخرجات، ووصول الأدوات بالصلاحية الأدنى (least privilege)، والمراقبة. أما إذا كنت تدافع ضد الـ jailbreak، فتركيزك على المحاذاة وتدريب الأمان على مستوى النموذج، وهذا أساساً مسؤولية مزوّد النموذج.

معظم المطوّرين يحتاجون إلى التركيز على الدفاع ضد الـ prompt injection، لأنهم يتحكّمون في طبقة التطبيق لا في تدريب النموذج. تساعدك ميزة Context Trace في PromptTrace على فهم كيفية بناء الـ prompt stack الخاص بك بالضبط، مما يسهّل تحديد المكان الذي قد تدخل منه هجمات الـ prompt injection. تدرّب على النوعين مجاناً في المختبرات والتحدّي لتبني حدساً لكيفية اختلافهما عملياً.