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

أولًا، بيانات اعتماد الأدوات المشتركة. عندما يصادق عدة وكلاء على الأداة نفسها بالسر نفسه، يصبح نطاق الانفجار لاختراق واحد هو الأسطول بأكمله. لا سبيل لإبطال الوكيل المخترق دون إبطالهم جميعًا، ولا سبيل لعزو استدعاء إلى وكيل محدد بعد وقوعه. سجل التدقيق يسجّل حساب خدمة، لا هوية.
ثانيًا، الرموز طويلة العمر. رمز بعمر عدة أيام يحوّل حقنًا ناجحًا واحدًا إلى موطئ قدم دائم. لا يحتاج المهاجم إلى إعادة الحقن؛ فهو يحمل بيانات اعتماد تستمر في العمل بعد انتهاء المحادثة التي أنتجتها. نوافذ التدوير المقيسة بالأسابيع تحوّل حادثة عابرة إلى منح وصول دائم.
الضوابط التي تُلزم فعلًا
الضوابط التي تقلّل نطاق الانفجار هي نفسها المطبّقة على أي حمل عمل متميز الصلاحيات، مكيّفة مع نمط استدعاء الوكيل.
بيانات اعتماد قصيرة العمر لكل وكيل ولكل أداة
يجب أن يحمل كل وكيل هويته الخاصة، وأن تكون تلك الهوية محددة النطاق للأدوات المحددة التي يحتاجها. يجب إصدار بيانات الاعتماد عند بداية المهمة وانتهائها عند نهايتها، مع قيد جمهور صريح يسمّي الأداة الصالحة لها. رمز صادر لنقطة نهاية تحليلات للقراءة فقط يجب أن ترفضه واجهة برمجة الرسائل حتى لو قُدّم بشكل صحيح.
هذه ممارسة قياسية لهوية حمل العمل. المقايضة تشغيلية: بيانات الاعتماد قصيرة العمر تتطلب مسار إصدار رموز يمكن للوكلاء الوصول إليه، ويصبح ذلك المسار تبعية. إذا كان الإصدار غير متاح، يتوقف الوكلاء عن العمل. على الفرق أن تقرر ما إذا كان وكيل متدهور أفضل من بيانات اعتماد طويلة العمر، والجواب عادةً نعم — لكن يجب تصميمه، لا افتراضه.
قوائم السماح للخروج على طبقة الشبكة
قيود مستوى الأداة ضرورية وغير كافية. إذا كان وقت تشغيل الوكيل قادرًا على فتح اتصالات صادرة عشوائية، يمكن لوكيل مخترق أن يسرّب عبر قناة لا تحكمها أي سياسة أداة. يجب تقييد الخروج على طبقة الشبكة بالوجهات التي يحتاجها الوكيل بشكل مشروع، مع تقييد تحليل DNS ليطابقها.
المقايضة الصادقة هنا هي الاحتكاك. تنكسر قوائم السماح عندما تضيف أداة نقطة نهاية، أو يغيّر مورّد شبكة توصيل المحتوى، أو يصل سير عمل مشروع إلى مضيف جديد. التكلفة حقيقية ومتكررة. لكنها لا تزال أقل من تكلفة مسار خروج غير محدود، ومع ذلك يجب أن تخصص الفرق ميزانية للصيانة بدلًا من معاملة قائمة السماح كتهيئة لمرة واحد
code-on-screen-dark-9fc1eb-81348e.jpg)
يجب تسجيل كل استدعاء أداة مع الهوية التي أذنت به، وبيانات الاعتماد المستخدمة، والمعاملات الممرّرة، والنتيجة المُعادة. يجب أن يكون السجل للإضافة فقط ومخزّنًا حيث لا يستطيع الوكيل الكتابة إليه. سجل مسار يمكن للوكيل تعديله ليس أثر تدقيق.
الآلية أهم من الصيغة. سجل مسار مفيد يربط ثلاثة أشياء: هوية الوكيل، ونسخة بيانات الاعتماد المحددة، واستدعاء الأداة. بدون نسخة بيانات الاعتماد، لا يمكنك التمييز بين استدعاء جرى قبل التدوير وآخر جرى بعده. وبدون هوية الوكيل، لا يمكنك حصر حادثة بوكيل واحد بدلًا من حساب مشترك.
التقييم كضابط أمني
يجب أن يتبع التقييم الأمني للوكلاء النمط المستخدم للخدمات: افترض أن المدخل عدائي، وقِس ما يمكن للخصم الوصول إليه.
اختبر الوكيل بالفريق الأحمر كما تختبر واجهة برمجة تطبيقات. احقن عبر كل قناة يقرأها الوكيل — المستندات المسترجَعة، ومخرجات الأدوات، ورسائل المستخدم، ومحتويات الملفات — وراقب استدعاءات الأدوات الناتجة. الهدف ليس إيجاد أوامر نصية تنتج نصًا سيئًا. بل إيجاد مدخلات تنتج استدعاءات غير مصرّح بها.
قِس الاحتواء، لا الرفض. معدل الرفض يخبرك كم مرة يرفض الوكيل. درجة الاحتواء تخبرك إلى أي مدى ينتشر حقن ناجح: كم أداة يصل إليها، وكم بيانات اعتماد يمكنه استخدامها، وكم يستمر الوصول الناتج. معدل الرفض مقياس جودة. الاحتواء مقياس أمني، وهو الذي يقابل نطاق الانفجار.
المخرج العملي هو غلاف احتواء لكل حقن: بمعطى حقن ناجح عند النقطة X، ما الأدوات التي يمكن الوصول إليها، وما بيانات الاعتماد القابلة للاستخدام، وما عمر الوصول الناتج. ذلك الغلاف هو ما تصغّره عبر الضوابط أعلاه، وهو ما تبلّغه لأصحاب المصلحة.
انشر سطح الهجوم
يجب أن يُطلق نشر الوكيل مع مستند سطح هجوم إلى جانب أمره النصي النظامي. يجب أن يوضح المستند أي مدخلات يعاملها الوكيل كغير موثوقة، وأي أدوات يمكنه استدعاؤها، وما يمكن لبيانات اعتماد كل أداة الوصول إليه، وأين يُسمح بالخروج، وكيف يبدو غلاف الاحتواء في ظل حقن ناجح.
هذا ليس تمرين إفصاح. إنه مُنتَج تصميمي. كتابة مجموعة الأدوات القابلة للوصول تفرض السؤال عما إذا كانت كل حافة ضرورية، وتمنح المستجيبين للحوادث خريطة بداية. الأمر النصي النظامي يصف السلوك المقصود. مستند سطح الهجوم يصف ما يمكن للنظام فعله حقًا عندما لا يكون الأمر النصي مسيطرًا.
المستندان ليسا بديلين. الأمر النصي هو عقد الواجهة. سطح الهجوم هو العقد الأمني. أنظمة الوكلاء تحتاج كليهما، والثاني هو الذي سيختبره خصم لا يقرأ الأول أبدًا.
