الانتقال إلى المحتوى الرئيسي
أسرع طريقة لإيقاف وكيل عن فعل شيء خطر هي تسمية الأداة ورفضها. حكم deny على glob اسم الأداة هو عنصر قائمة المنع الأولي لـ جدار حماية الوكيل: قاعدة واحدة، glob واحد، حكم deny، مربوطة بمفتاح — ومن ثم ترفض البوابة تلك الأداة على كل استدعاء، دون تغيير في كود وكيلك. تغطي هذه الصفحة حالة استخدام قائمة المنع والقرار الوحيد الذي تفرضه: على أي سطح تحجب — الأدوات التي تعلن عنها (inbound) أم استدعاءات الأدوات التي يصدرها النموذج (response). لمفردات المطابقة الكاملة ودلالات الأحكام، انظر مخطط القاعدة و الأحكام.

1. احجب استدعاء أداة يصدره وكيل ذكاء اصطناعي

قاعدة قائمة المنع هي أبسط ما يمكن لسياسة جدار حماية التعبير عنه: طابق أداة بالاسم، أعد deny. استخدمها عندما يجب أن لا تُطلق أداة أبداً لمفتاح معيّن — shell.exec، *.delete، إضافة مجتمعية لا تثق بها — بغض النظر عن الوسائط. في وحدة تحكم مساحة عملك، افتح سياسة (أو أنشئ واحدة) وأضف قاعدة:
{
  "label": "block destructive shell",
  "tool_name_glob": "*.exec",
  "verdict": "deny"
}
الـ tool_name_glob هو glob صغير حسّاس لحالة الأحرفshell.* يصطاد عائلة كاملة، و*.delete يصطاد فعلاً عبر الخوادم، و* يصطاد كل شيء. لا حاجة لعبارة وسائط: glob مجرّد + deny يحجب الأداة دون شرط. أضف عبارة وسائط فقط عندما تريد السماح بالأداة عموماً لكن رفض شكل واحد من الاستدعاء.
يجتاز المحرك قواعد السياسة بترتيب الأولوية وأول مطابقة تفوز. ضع استثناءات السماح الضيّقة عند رقم priority أدنى (تعمل أولاً) و deny العريض تحتها — مثل السماح بـ shell.exec من مهارة builtin.* موثوقة، ورفضها في كل مكان آخر. انظر أولوية القاعدة.

2. inbound مقابل response: اختر السطح

يمكن أن يهبط deny على نقطتين مختلفتين في دورة حياة الطلب، والفرق مهم. ثبّت القاعدة بحقل stage، أو اتركه فارغاً لتغطية كليهما.

inbound

الأدوات التي يعلن عنها وكيلك للنموذج على الطلب (تعريفات الأدوات). deny هنا يجرّد الأداة قبل أن يتمكن النموذج حتى من اختيارها — لا يراها النموذج أبداً كخيار.

response

استدعاءات tool_calls التي يصدرها النموذج في رده. deny هنا يصطاد الاستدعاء الذي قرّر النموذج فعله بالفعل، قبل أن يصل إلى الأداة.
فضّل inbound عندما تريد أن تكون أداة غير مرئية — لا يمكن للنموذج استدعاء ما لم يُعرَض عليه أبداً، فتتجنّب أدوار مهدورة يختار فيها أداة ليُرفض فحسب. استخدم response (أو اترك stage فارغاً) عندما تظهر الأداة بشكل مشروع في بعض الطلبات وتريد اصطياد الاستدعاء المُصدَر الفعلي، أو عندما تتحكم في حلقة الوكيل فقط وليس مجموعة الأدوات المُعلَن عنها.
قاعدة بـ لا stage تنطبق على كل الأسطح — نفس deny يغطّي أداة سواء كانت معلَناً عنها، أو مُصدَرة، أو مُرسَلة عبر MCP. ذلك هو افتراضي الحزام والحمّالات؛ ثبّت سطحاً فقط عندما يجب قصر deny على واحد. انظر المراحل.

3. اربط السياسة وراقبها تُطلق

لا تفعل سياسة شيئاً حتى يُحَل إليها مفتاح. اربط في وحدة التحكم بضبط firewall_policy_id على المفتاح، أو اجعل السياسة افتراضي مساحة العمل. الحل هو: السياسة المرتبطة بالمفتاح (عندما تكون موجودة ومفعّلة)، وإلا افتراضي مساحة العمل. (سياسة مرتبطة معطّلة تتراجع إلى الافتراضي — انظر إدارة السياسات.) بمجرد الربط، استدعاء مرفوض على سطح inbound يعيد HTTP 400 برمز خطأ firewall_blocked وسبب يسمّي الأداة — مثل tool "shell.exec" blocked by firewall. الخطأ معلّم بـ skip-retry (إعادة تشغيل نفس الاستدعاء ستحجب مجدداً فحسب) ولا يكلّف أي رموز نموذج، إذ يُطلق حجب inbound قبل الاستدعاء الأعلى. أما deny المُرسَل عبر بوابة MCP فيظهر كـ خطأ أداة بدلاً من ذلك، فيرى النموذج الرفض ويمكنه التفاعل.
deny على سطح inbound يزيل الأداة مما يُعرَض على النموذج. إذا كان إطار عمل وكيلك يتطلب أن تكون أداة أعلن عنها قابلة للاستدعاء، فقد يربك حجبها inbound الحلقة — في تلك الحالة احجب على response بدلاً من ذلك، فتبقى الأداة معلَناً عنها لكن يُرفض الاستدعاء الفعلي. اختبر الفرق قبل أن تطرح (انظر §5).

4. deny هو أحد عدة أحكام

deny هو أفظّ أداة في قائمة المنع. عندما يكون الحجب الصارم مبالغاً فيه، يمكن لنفس الـ glob أن يحمل حكماً أنعم:
الحكممتى تلجأ إليه بدلاً من deny
auditتريد رؤية الأداة تُطلق لكن لا تحجبها بعد.
sanitizeالأداة جيدة لكن وسائطها قد تحمل أسراراً/PII — ينقّح الوسائط، وليس أبداً نتائج الأداة.
pending_approvalيجب أن يوافق إنسان على كل استدعاء خارج النطاق.
cap_costاسمح حتى يتجاوز إنفاق تشغيل وكيل سقف سنتات.
كل هذه موثّقة في الأحكام. قائمة المنع هي فقط المجموعة الفرعية التي يكون فيها الحكم deny. لموقف قائمة سماح (احجب كل شيء، اسمح بمجموعة مسمّاة) اقلب default_verdict للسياسة إلى deny وأضف قواعد سماح ضيّقة — انظر قائمة السماح للأدوات.

5. اطرحها بأمان

تبويب Test في وحدة التحكم يجري سياسة تجريبياً مقابل استدعاء أداة عينة ويعيد الحكم، والقاعدة المطابقة، والسبب — لا شيء يُرسَل، ولا شيء يُحفظ. أكّد أن glob يطابق الأداة التي قصدتها (وفقط تلك الأداة) قبل ربط مفتاح. انظر اختبار القواعد.
فعّل وضع الظل على السياسة ويُخفَّض كل حكم فارض — بما في ذلك deny الخاص بك — إلى audit، بسبب مسبوق بـ [shadow] would …. تقيس بالضبط ما كان deny سيحجبه مقابل حركة المرور الحقيقية، ثم أطفئ الظل لتفرض.
غير متأكد من اسم الأداة الدقيق للـ glob؟ عرض Discovered Tools يسرد كل أداة رأتها مساحة العمل، معلّمة covered أو gap. ألّف deny مباشرةً من الأسماء التي ظهرت فعلاً. انظر التحليلات.
كل تقييم يكتب حدث جدار حماية بالحكم والسطح والأداة والقاعدة المطابقة. بعد أن تفرض، فلتر سجل الأحداث حسب الحكم deny لرؤية القاعدة تُطلق على الاستدعاءات التي توقّعتها.

6. من يمكنه فعل ماذا

كل ضبط قائمة المنع يعمل في وحدة التحكم تحت جلستك (/api/workspace/firewall/*):
الإجراءالدور
قراءة السياسات، الإعدادات المسبقة، الأدوات المكتشفة، SimulateMember
إجراء سياسة تجريبياً (Test)Developer+
إنشاء / تحرير / حذف القواعد والسياساتDeveloper+
قراءة سجل الأحداث وتجميعات التشغيلDeveloper+
تأليف قاعدة deny أو تغييرها كتابة Developer+، وكذلك إجراء Test التجريبي في وحدة التحكم. قراءة سياسة وعرض Simulate (“ماذا-لو”) للقراءة فقط مفتوحان لكل عضو.

ذات صلة

صيغة glob

كيف يطابق shell.* و*.exec و*.shell.* بالضبط.

قائمة السماح للأدوات

الموقف العكسي: حجب افتراضي، سماح بمجموعة مسمّاة.

التحقق من الوسائط

ارفض شكلاً واحداً من الاستدعاء فقط، وليس الأداة كلها.

استدعاءات الأدوات الخطرة

التهديد الذي تعالجه قائمة المنع.

الأحكام

ماذا يفعل deny وأشقاؤه الأنعم على السلك.

مرجع جدار الحماية

مرجع القاعدة + المطابقة الكامل.