مع تطور الذكاء الاصطناعي لم يعد استخدامه مقتصرًا على كتابة النصوص والإجابة عن الأسئلة. أصبحت النماذج قادرة على قراءة الملفات، تصفح المواقع، تحليل البريد الإلكتروني، البحث عن المعلومات، استخدام الأدوات وتنفيذ إجراءات نيابة عن المستخدم.
لكن هذه القدرات الجديدة أدخلت نوعًا مختلفًا من المخاطر الأمنية يعرف باسم Prompt Injection أو حقن الأوامر في الذكاء الاصطناعي.
الفكرة ببساطة أن الذكاء الاصطناعي قد يقرأ محتوى يحتوي على تعليمات خبيثة، ثم يتعامل معها باعتبارها تعليمات يجب تنفيذها بدلًا من اعتبارها مجرد بيانات يجب تحليلها.
وتوضح OpenAI أن Prompt Injection يحدث عندما يحاول طرف ثالث إدخال تعليمات مضللة إلى سياق الذكاء الاصطناعي بهدف تغيير سلوكه أو دفعه إلى تنفيذ شيء لم يطلبه المستخدم.
وتزداد أهمية هذه المشكلة مع AI Agents، لأن الوكيل لا يكتفي بإنتاج إجابة، بل يستطيع استخدام أدوات وتنفيذ إجراءات.
ما هو Prompt Injection؟
Prompt Injection هو نوع من الهجمات يحاول فيه المهاجم التأثير على سلوك نموذج الذكاء الاصطناعي من خلال إدخال تعليمات داخل المحتوى الذي يقرأه النظام.
في الاستخدام التقليدي، يمكن أن يكتب المستخدم طلبًا واضحًا مثل:
"لخص هذا التقرير في خمس نقاط."
لكن إذا كان التقرير نفسه يحتوي على تعليمات خفية أو مضللة، فقد يحاول المحتوى تغيير المهمة الأصلية التي طلبها المستخدم.
وهنا تظهر المشكلة الأساسية: النظام يجب أن يميز بين البيانات التي يقرأها والتعليمات التي يجب أن يتبعها.
وتشير OWASP إلى أن Prompt Injection يمثل مشكلة خاصة بتطبيقات النماذج اللغوية لأن التعليمات والبيانات قد تتم معالجتها داخل نفس السياق الطبيعي للنموذج، ولذلك لا توجد وسيلة واحدة تضمن منع جميع الحالات.
كيف تحدث هجمات Prompt Injection؟
يمكن تقسيم الهجمات إلى نوعين رئيسيين: Direct Prompt Injection وIndirect Prompt Injection.
الهجوم المباشر Direct Prompt Injection
يحدث عندما يضع المستخدم نفسه تعليمات تحاول تغيير سلوك النموذج.
قد تكون المحاولة مثل طلب تجاهل قواعد النظام أو كشف معلومات داخلية أو تغيير المهمة الأصلية.
المهم هنا أن الهدف ليس مجرد الحصول على إجابة مختلفة، وإنما محاولة التأثير في التعليمات أو الحدود التي يفترض أن يعمل النظام وفقًا لها.
الهجوم غير المباشر Indirect Prompt Injection
وهذا النوع أكثر أهمية عند التعامل مع AI Agents.
بدلًا من أن يكتب المهاجم التعليمات مباشرة إلى الوكيل، يقوم بوضعها داخل مصدر خارجي سيقوم الوكيل بقراءته.
مثل:
- صفحة ويب.
- ملف PDF.
- رسالة بريد إلكتروني.
- مستند نصي.
- صفحة منتج.
- تعليق داخل كود.
- نتيجة بحث.
- محتوى موجود داخل قاعدة بيانات.
وعندما يقرأ الوكيل هذا المحتوى، قد يتعامل مع التعليمات الموجودة داخله بطريقة تؤثر في المهمة الأصلية.
وتشير OWASP إلى أن المحتوى الخارجي مثل صفحات الويب والمستندات والبريد الإلكتروني يمكن أن يكون مصدرًا لهجمات Indirect Prompt Injection.
مثال بسيط على الهجوم غير المباشر
لنفترض أنك تستخدم AI Agent لمساعدتك في البحث عن أفضل الفنادق بناءً على السعر والموقع والتقييم.
الوكيل يفتح عدة صفحات ويقرأ المعلومات الموجودة بها.
إذا احتوت إحدى الصفحات على تعليمات مخفية موجهة إلى الوكيل، فقد تحاول تلك التعليمات التأثير على طريقة اختياره أو دفعه إلى تنفيذ إجراء لا علاقة له بالمهمة الأصلية.
المشكلة هنا أن المستخدم لم يطلب من الوكيل تنفيذ هذه التعليمات أصلًا؛ الوكيل وصل إليها أثناء بحثه.
ولهذا تصف OpenAI Prompt Injection الحديثة بأنها تشبه في بعض صورها الهندسة الاجتماعية، لأن المحتوى الخبيث يحاول إقناع الوكيل بتغيير سلوكه بدل الاعتماد فقط على أمر تقني بسيط لتجاوز النظام.
لماذا تصبح المشكلة أخطر مع AI Agents؟
لو كان النموذج يقوم فقط بكتابة فقرة، فقد تكون نتيجة Prompt Injection إجابة غير مرغوبة.
لكن إذا كان النظام Agentic AI يمتلك صلاحية استخدام الأدوات، فقد تنتقل المشكلة من مستوى النص إلى مستوى التنفيذ.
على سبيل المثال، يمكن أن يكون الوكيل قادرًا على:
- قراءة البريد.
- البحث على الإنترنت.
- الوصول إلى ملفات.
- استدعاء API.
- تعديل بيانات.
- إنشاء مسودة رسالة.
- تنفيذ عمليات داخل نظام خارجي.
ولهذا فإن الخطر الحقيقي لا يكمن فقط في أن النموذج "يفهم النص بشكل خاطئ"، وإنما في إمكانية انتقال التأثير إلى أداة أو نظام خارجي.
وتوضح وثائق OpenAI الخاصة ببناء الوكلاء أن Prompt Injection قد يؤدي إلى تغيير سلوك الوكيل أو تسريب بيانات عبر استدعاءات الأدوات أو تنفيذ إجراءات غير متوافقة مع نية المستخدم.
Prompt Injection وRAG
تظهر مشكلة أخرى عند استخدام RAG.
في أنظمة RAG يتم استرجاع معلومات من مستندات أو قواعد بيانات ثم إرسالها إلى النموذج حتى يستخدمها في الإجابة.
لكن إذا كان أحد المستندات يحتوي على تعليمات خبيثة، فقد تدخل هذه التعليمات إلى السياق الذي يقرأه النموذج.
لذلك فإن استخدام RAG لا يعني أن النظام أصبح محصنًا من Prompt Injection. وتؤكد OWASP أن تقنيات RAG وتحسين دقة الاسترجاع لا تلغي هذه الفئة من المخاطر.
الحل ليس منع RAG، وإنما تصميم النظام بحيث يتعامل مع المستندات المسترجعة باعتبارها بيانات غير موثوقة وليس باعتبارها تعليمات ذات أولوية.
Prompt Injection مع MCP والأدوات
يزداد الموضوع أهمية عندما يستخدم الوكيل MCP للوصول إلى أدوات ومصادر خارجية.
كل أداة إضافية يمكن أن تزيد قدرة الوكيل، لكنها في الوقت نفسه تزيد أهمية التحكم في الصلاحيات والتحقق من استدعاءات الأدوات.
لذلك يجب ألا يكون المبدأ هو: "طالما أن النموذج ذكي فسوف يعرف ماذا يفعل"، بل يجب بناء طبقات خارج النموذج تحدد ما الذي يستطيع الوكيل فعله فعلًا.
وتوصي ممارسات أمنية مثل مبدأ Least Privilege بمنح النظام الحد الأدنى من الصلاحيات المطلوبة لتنفيذ المهمة، مع التحقق من استدعاءات الأدوات والإجراءات الحساسة.
هل يمكن منع Prompt Injection بشكل كامل؟
حتى الآن لا ينبغي التعامل مع Prompt Injection باعتباره مشكلة يمكن حلها بفلتر واحد.
فالأساليب الهجومية تتغير، ويمكن أن تأتي التعليمات الخبيثة من مصادر متعددة وبطرق مختلفة، بما في ذلك المحتوى النصي أو الملفات أو صفحات الإنترنت أو المدخلات متعددة الوسائط.
وتوضح OWASP أنه لا توجد طريقة مضمونة تمامًا لمنع Prompt Injection، ولذلك تركز الممارسات الأمنية على تقليل احتمالية نجاح الهجوم وتقليل تأثيره إذا نجح جزء منه.
وهذه نقطة مهمة جدًا: الأمان الجيد لا يفترض أن النموذج لن يخطئ أبدًا، بل يفترض أن الخطأ قد يحدث ويحد من نتائجه.
كيف تحمي AI Agent من Prompt Injection؟
1. افصل بين التعليمات والبيانات
من أهم المبادئ ألا تتعامل مع المحتوى الخارجي وكأنه تعليمات موثوقة.
إذا طلب المستخدم من الوكيل تحليل صفحة، فالصفحة مصدر بيانات. وجود جملة داخلها تقول للوكيل أن يتجاهل مهمته الأصلية لا يجعل هذه الجملة تلقائيًا تعليمات أعلى أولوية.
2. استخدم Structured Outputs
عندما يكون النظام قادرًا على إنتاج نص حر ثم تمرير هذا النص إلى نظام آخر، يمكن أن تظهر قنوات غير متوقعة للتلاعب.
لذلك يمكن استخدام مخرجات منظمة مثل JSON أو حقول محددة أو قيم مسموح بها، ثم التحقق منها برمجيًا قبل تمريرها إلى الأداة التالية.
وتوصي وثائق OpenAI باستخدام Structured Outputs للمساعدة في تقييد تدفق البيانات بين مكونات النظام وتقليل القنوات الحرة التي يمكن استغلالها.
3. قلل صلاحيات الوكيل
إذا كان الوكيل يحتاج إلى قراءة البيانات، فلا تعطه تلقائيًا صلاحية حذفها.
وإذا كان يحتاج إلى إعداد رسالة، فلا يعني ذلك أنه يحتاج إلى صلاحية إرسالها دون موافقة.
كل صلاحية غير ضرورية تزيد من التأثير المحتمل لأي خطأ أو استغلال.
4. استخدم Human-in-the-Loop
الإجراءات الحساسة يمكن أن تتوقف قبل تنفيذها حتى يراجعها الإنسان.
مثل:
- إرسال بريد مهم.
- حذف بيانات.
- شراء منتج.
- تعديل سجل حساس.
- تنفيذ عملية مالية.
وتوضح OpenAI أن طلب التأكيد قبل الإجراءات المهمة يمكن أن يساعد في إبقاء الإنسان مسيطرًا على القرارات ذات النتائج المهمة.
5. راقب استدعاءات الأدوات
لا تراقب الإجابة النهائية فقط.
إذا كان الوكيل يستخدم عدة أدوات، يجب أن تعرف ما الأداة التي استدعاها، وما المعاملات التي أرسلها، وما سبب الانتقال من خطوة إلى أخرى، وهل الإجراء يتوافق مع طلب المستخدم.
وهنا تظهر أهمية AI Observability وTracing، لأنها تساعد على فهم ما حدث أثناء تنفيذ المهمة.
6. اختبر النظام بهجمات محاكاة
لا يكفي أن تقول إن نظامك يحتوي على حماية.
يجب اختبارها من خلال حالات مختلفة، مثل المدخلات المباشرة والمحتوى الخارجي والملفات وصفحات الإنترنت ومحاولات تغيير المهمة ومحاولات الوصول إلى أدوات غير مصرح بها.
وهنا يمكن دمج اختبارات Prompt Injection مع منهجية AI Evals لقياس مدى نجاح الحواجز قبل نشر النظام وبعد تحديثه.
مثال عملي لتصميم Agent أكثر أمانًا
لنفترض أن لدينا وكيلًا يستطيع قراءة البريد الإلكتروني وإنشاء مسودات للرد.
يمكن تصميم النظام بهذه الطريقة:
- يقرأ الوكيل الرسالة باعتبارها محتوى غير موثوق.
- يستخرج المعلومات المطلوبة فقط.
- لا يسمح للنص الموجود داخل الرسالة بتغيير التعليمات الأساسية.
- يقترح مسودة للرد.
- يفحص النظام المسودة.
- يتوقف قبل الإرسال.
- يراجع الموظف المستلم والمحتوى.
- بعد الموافقة يتم الإرسال.
- يتم تسجيل العملية في نظام المراقبة.
بهذه الطريقة حتى لو احتوت رسالة البريد على تعليمات خبيثة، لا يكون لديها طريق مباشر إلى إرسال رسالة أو الوصول إلى بيانات أخرى.
Prompt عملي لاختبار Prompt Injection
يمكن استخدام Prompt مثل التالي لتصميم خطة اختبار دفاعية لنظامك:
أنت متخصص في اختبار أمن AI Agents.
لدي وكيل ذكاء اصطناعي يستطيع:
[اكتب قدرات الوكيل]
الأدوات المتاحة له:
[اكتب الأدوات]
أريد إعداد خطة اختبار Prompt Injection دفاعية.
حلل المخاطر التالية:
1. Direct Prompt Injection
2. Indirect Prompt Injection
3. محتوى صفحات الويب غير الموثوق
4. الملفات والمستندات
5. رسائل البريد الإلكتروني
6. RAG Content Poisoning
7. محاولات تغيير معاملات الأدوات
8. محاولة الوصول إلى بيانات غير مصرح بها
لكل حالة حدد:
- مصدر الخطر
- التأثير المحتمل
- الحاجز المطلوب
- هل تحتاج الحالة إلى موافقة بشرية؟
- كيف يمكن اختبار نجاح الحماية؟
- ما البيانات التي يجب تسجيلها في Observability؟
لا تنفذ أي إجراء فعلي. الهدف هو إعداد خطة اختبار أمنية فقط.
ما علاقة Prompt Injection بـ AI Guardrails؟
إذا كان Prompt Injection يمثل محاولة للتلاعب بسلوك النظام، فإن AI Guardrails تمثل إحدى طبقات الحماية التي تساعد على اكتشاف أو منع أو الحد من تأثير هذا التلاعب.
لكن Guardrails وحدها ليست حلًا كاملًا.
التصميم الأكثر قوة يجمع بين عدة طبقات: فصل البيانات غير الموثوقة، وتقليل الصلاحيات، والتحقق من الأدوات، والمخرجات المنظمة، والمراجعة البشرية، والاختبارات الأمنية، والمراقبة المستمرة.
أخطاء شائعة في حماية الذكاء الاصطناعي
الاعتماد على System Prompt فقط
التعليمات الواضحة مهمة، لكنها ليست بديلًا عن الضوابط البرمجية والصلاحيات المحدودة.
إعطاء الوكيل صلاحيات كاملة
إذا كان الوكيل يستطيع تنفيذ كل شيء، فإن نجاح هجوم واحد قد تكون له نتائج أكبر من اللازم.
الثقة في كل محتوى خارجي
صفحة الويب أو البريد أو الملف الذي يقرأه الوكيل لا يجب اعتباره مصدر تعليمات موثوقًا لمجرد أن المحتوى يبدو طبيعيًا.
عدم اختبار السيناريوهات غير المتوقعة
اختبار النظام بالأسئلة الطبيعية فقط لا يكفي. يجب اختبار مصادر متعددة ومحاولات مختلفة للتلاعب بالسياق والأدوات.
مستقبل Prompt Injection في 2026
كلما أصبح الذكاء الاصطناعي أكثر قدرة على العمل خارج المحادثة، أصبح Prompt Injection تحديًا أمنيًا أكثر ارتباطًا بتصميم الأنظمة وليس فقط بجودة النموذج.
وتوضح OpenAI أن الوكلاء الذين يتصفحون الإنترنت ويتعاملون مع البيانات وينفذون الإجراءات يواجهون أسطح هجوم جديدة، وأن الحماية تحتاج إلى طبقات متعددة تقلل أثر التلاعب حتى عندما ينجح بعض الهجوم.
كما أن Anthropic تشير إلى أن صفحات الويب التي يتعامل معها الوكيل يمكن أن تحتوي على تعليمات خبيثة، وأن المشكلة تصبح أكثر أهمية كلما زادت قدرة الوكلاء على تنفيذ مهام حقيقية.
لذلك سيكون مستقبل أمان الذكاء الاصطناعي مرتبطًا بثلاثة عناصر رئيسية: فهم مصدر التعليمات، التحكم في الصلاحيات، وتقليل تأثير الأخطاء.
أسئلة شائعة حول Prompt Injection
ما معنى Prompt Injection؟
هو محاولة للتأثير على سلوك نموذج الذكاء الاصطناعي من خلال إدخال تعليمات قد تغير المهمة أو تتجاوز الحدود المقصودة للنظام.
ما الفرق بين Direct وIndirect Prompt Injection؟
في الهجوم المباشر تأتي التعليمات الخبيثة مباشرة من المدخل الذي يعالجه النظام، بينما تأتي في الهجوم غير المباشر من مصدر خارجي مثل صفحة ويب أو ملف أو بريد إلكتروني.
هل AI Agents أكثر عرضة لـ Prompt Injection؟
تزداد أهمية المخاطر عندما يمتلك الوكيل صلاحية استخدام الأدوات أو الوصول إلى بيانات وأنظمة خارجية، لأن تأثير التلاعب قد ينتقل من الإجابة النصية إلى تنفيذ إجراء.
هل RAG يمنع Prompt Injection؟
لا. RAG يحسن طريقة استرجاع المعلومات، لكنه لا يجعل المحتوى المسترجع موثوقًا تلقائيًا ولا يلغي مخاطر Prompt Injection.
هل AI Guardrails تكفي وحدها؟
لا. الأفضل استخدام دفاع متعدد الطبقات يشمل الصلاحيات المحدودة، وفصل البيانات عن التعليمات، والتحقق من الأدوات، والمراجعة البشرية والاختبارات والمراقبة.
كيف أحمي AI Agent من Prompt Injection؟
ابدأ بتحديد صلاحيات الوكيل، وافصل المحتوى الخارجي غير الموثوق عن التعليمات، واستخدم Structured Outputs، وافحص استدعاءات الأدوات، وأضف موافقة بشرية للإجراءات الحساسة، واختبر النظام باستمرار.
الخلاصة
Prompt Injection من أهم تحديات أمان الذكاء الاصطناعي الحديثة، خصوصًا مع انتقال AI من مجرد الإجابة إلى استخدام الأدوات وتنفيذ المهام.
ولا توجد قاعدة سحرية تمنع جميع الهجمات، لذلك يجب بناء النظام على أساس أن المحتوى الخارجي قد يكون غير موثوق وأن النموذج قد يتعرض لمحاولة تلاعب.
أفضل استراتيجية هي الجمع بين AI Guardrails وLeast Privilege وStructured Outputs وHuman-in-the-Loop وAI Evals وAI Observability.
وبهذه الطريقة لا يكون الهدف فقط أن تجعل النموذج "أكثر ذكاءً"، بل أن تجعل النظام كاملًا أكثر قابلية للتحكم والمراقبة وأقل تأثرًا بالأخطاء والهجمات.
اليك روابط المواقع الرسمية
- penAI — Understanding prompt injections
المصدر الرسمي من OpenAI -
OpenAI — Designing AI agents to resist prompt injection
المصدر الرسمي من OpenAI -
OpenAI — Safety in building agents
دليل OpenAI للمطورين -
OWASP — LLM Prompt Injection Prevention Cheat Sheet
دليل OWASP للوقاية من Prompt Injection -
OWASP GenAI — LLM01: Prompt Injection
OWASP GenAI Security Project -
Anthropic — Mitigating prompt injections in browser use
بحث Anthropic حول حماية الوكلاء من Prompt Injection

التعليقات