1. لماذا البوابة هي نقطة الفحص الصحيحة
معظم ضوابط الأمان تعيش في التطبيق: أغلفة مكتبات، وخطّافات إطار عمل وكيل، وSDKs لكل مزود. هذه الضوابط تحتوي عيباً هيكلياً فتّاكاً — إنها تنهار بمجرد إضافة مزود ثانٍ، أو تبديل الأطر، أو السماح لوكيل بتثبيت مهارة جديدة ذاتياً. البوابة ليس فيها أي من هذه الفجوات. كل استدعاء يصدره وكيلك، بصرف النظر عن النموذج أو المزود أو كيف وصلت القدرة، يعبر نقطة واحدة قبل الوصول إلى الأعلى. هذه الطبقة الوحيدة التي يمكنك فيها تقديم ضمان: إذا حدث، رأته البوابة. يستخدم OrcaRouter هذا الموضع لتمريرتَي تطبيق مميزتَين:- حواجز الحماية تفحص النص — المطالبة التي يُرسلها وكيلك والاستجابة التي
يُعيدها النموذج.
guardrail_blockedيُعيد HTTP 400guardrail_blockedولا يكلّف رصيداً. - جدار الحماية يحكم الإجراءات — الأدوات التي يستدعيها الوكيل وخوادم MCP
التي يصل إليها والوجهات الشبكية التي يُبلّغ عنها. الرفض يُعيد HTTP 400
firewall_blockedعلى سطح inbound، أو خطأ أداة على سطح MCP، حتى يرى النموذج الرفض ويتمكن من التفكير فيه.
https://api.orcarouter.ai/v1 تماماً كما كان.
2. أسطح التطبيق الأربعة
يُقيَّم جدار الحماية كل استدعاء أداة مقابل سطح واحد بالضبط — النقطة في دورة حياة الاستدعاء التي تراه فيها البوابة.| السطح | ما ترى البوابة |
|---|---|
inbound | الأدوات التي يُعلن عنها وكيلك للنموذج على الطلب — تعريفات الأدوات. الحجب هنا يمنع النموذج من اختيار أداة خطرة قط. |
response | tool_calls التي يُصدرها النموذج في رده — الإجراءات المختارة من النموذج قبل إرسالها. |
mcp | tools/call مُرسَل عبر بوابة Firewall MCP أو مُقيَّم عبر خطّاف SDK — الاستدعاء في لحظة الإرسال. |
egress | وجهة شبكية صادرة (host / IP / CIDR) تُبلّغ عنها أداة — سطح SSRF وتسريب البيانات. |
input (مطالبة الطلب والرسائل) وoutput (نص استجابة النموذج). طلب واحد
يمكن أن يمر عبر جميعها.
3. الكشف عند الاستخدام الأول
يحدث الكشف على البوابة، عند الاستخدام الأول — وليس وقت التثبيت.
أداة أو خادم MCP أو مهارة يثبّتها الوكيل ذاتياً يُلتقط أول مرة يعبر
فيها استدعاؤه البوابة. هذا مقصود: البوابة هي نقطة الاختناق الوحيدة التي
ترى كل مزود وكل وكيل وكل استدعاء بصرف النظر عن كيفية وصول القدرة إلى هناك.
انتظار كشف وقت التثبيت سيفوّت القدرات المحمّلة في وقت التشغيل.
4. ما لا تستطيع البوابة رؤيته
ضمان الفحص يغطي الاستدعاءات التي تعبر البوابة. لا يمتد إلى أداة يشغّلها وكيلك بالكامل داخل عمليته الخاصة — أداة تقرأ ملف محلي، أو تستدعي وظيفة مكتبة، أو تنفّذ عملية فرعية دون إرسال رسالة للبوابة قط. هذا حد صادق، وليس عيب تصميم. هدف التصميم هو جعل البوابة المسار المدقَّق للاستدعاءات المهمة — تلك ذات العواقب في العالم الحقيقي:| أين تعمل | هل تراها البوابة؟ | كيف تسد الثغرة |
|---|---|---|
استدعاء أداة بوساطة النموذج (النموذج يُصدر tool_calls) | نعم — سطح response | لا إجراء مطلوب؛ محكومة بالفعل. |
| إرسال MCP عبر بوابة Firewall MCP | نعم — سطح mcp | لا إجراء مطلوب؛ محكومة بالفعل. |
وكيلك يستدعي POST /api/v1/firewall/evaluate قبل الإرسال | نعم — مُقيَّمة مضمّناً | محكومة بالفعل عبر خطّاف التقييم. |
| الأداة تعمل في العملية، لا تتصل بالبوابة | لا | وجّه إرسال MCP والأدوات التي تستدعي الشبكة عبر البوابة بدلاً من استدعائها مباشرة من عملية الوكيل. |
5. التبويب حسب الدور على بيانات الفحص
الوصول إلى أسطح الفحص يخضع للنطاق حسب الدور داخل مساحة عملك:| القدرة | الدور الأدنى |
|---|---|
| قراءة تطابقات حواجز الحماية وسياسات جدار الحماية والأدوات المكتشفة | Member |
| قراءة تغذيتَي Events وRuns لجدار الحماية | Developer |
| إنشاء أو تغيير حواجز الحماية وسياسات جدار الحماية والقواعد | Developer |
تصديرات الامتثال ونص مفتاح البوابة الصريح وعلامة المفتاح is_firewall_gateway | Admin |
رمز ضمن نطاق بوابة جدار الحماية (المفتاح المستخدم لاستدعاء
/api/v1/firewall/evaluate وبوابة MCP) يتطلب دور Admin للإنشاء. مفتاح
API عادي يُعيد 403 على تلك المسارات.6. إلى أين تذهب بعد ذلك
مجموعة التحكم
مسار الطلب الكامل — المفتاح وحواجز الحماية والنموذج وجدار الحماية
والتدقيق — في مخطط واحد.
المسؤولية المشتركة
ما تؤمنه البوابة وما يبقى في تطبيقك.
جدار الحماية للوكيل
تأليف السياسات وضبط الأسطح وحكم استدعاءات الأدوات بعمق.
