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

1. ما هي “المهارة” هنا

سجل المهارة هو قدرة وكيل واحدة قابلة للتثبيت. نموذج واحد يعمّم ثلاثة أنواع بحيث يحكم مستوى فحص وتسجيل وموافقة واحد كل ما يثبّته الوكيل ذاتياً:
النوعما هو
skillقدرة محزّمة — بيان مع مجموعة أدوات وجزء من مطالبة النظام.
mcp_serverخادم MCP من نوع أحضِر-خادمك مسجّل كقطعة محكومة.
pluginامتداد بأسلوب الإضافة.
كل سجل له أيضاً مصدرbuiltin، أو registry، أو private، أو byo_mcp، أو auto_detected — يغذّي تقييم الثقة.

2. الماسح

عند التسجيل (وعند الطلب)، يشغّل الماسح مجموعة من التمريرات الحتمية الخالية من التبعيات على البيان والنطاقات المعلَنة. كل تمريرة تُصدِر اكتشافات بخطورة info أو warn أو error:
التمريرةتعلّمالخطورة
prompt_injectionنص البيان الذي يحاول تجاوز التعليمات (ignore previous instructions، you are now، system: بادئ…).warn
tool_creepأسماء الأدوات التي يستخدمها البيان لكنه لم يعلنها في allowed_tools.error
network_egressمضيفو HTTP(S) في البيان غير المعتمَدين في نطاقات شبكة المهارة.warn
fs_write_unsafeنطاق نظام ملفات بوضع كتابة على مسار خارج /tmp (آمن من الاجتياز).error
data_scopeنطاقات بيانات حساسة (pii، financial، customer).info
unsignedمهارة registry بلا توقيع.warn
تتجمّع الاكتشافات في حكم فحص: أي errorblocked؛ وإلا أي warnflagged؛ وإلا clean.

3. درجة المخاطرة والنطاقات

نفس الاكتشافات تغذّي درجة مخاطرة حتمية (0–100، تراكمية مع سقوف لكل فئة). أثقل المساهمين هي القدرات الخطرة:
القدرةالوزن
تنفيذ shell+30
تقييم كود اعتباطي+30
كتابة نظام ملفات خارج /tmp+25
قراءة الأسرار+25
egress شبكي خارجي+20
اكتشافات tool-creep، وحقن المطالبات، وegress، ونطاق البيانات تُضاف فوق ذلك (كل منها مسقوف)، ومهارة سجل غير موقّعة تضيف +15، والتخفيفات تطرح — مهارة موقّعة −10، وبيان بلا اكتشافات error −5. تُحوَّل الدرجة إلى نطاق:
النطاقالدرجة
low0–25
medium26–50
high51–75
critical76–100
هذه الأوزان مثبّتة باختبار حارس انجراف — لا تتحرك بدون تغيير متعمّد في المواصفة، فالنطاق يعني الشيء نفسه عبر كل مساحة عمل.

4. وضع الفرض

النطاق والحكم معاً يشتقّان وضع فرض — ما يفعله جدار الحماية فعلاً عندما تُستدعى أداة مملوكة لهذه المهارة:
الوضعالأثر وقت التشغيل
allowلا تفرض المهارة شيئاً من عندها؛ أحكام القواعد تقرر.
quarantineتصعيد أي شيء دون deny إلى pending_approval — تعمل أدوات المهارة فقط بعد موافقة إنسان.
blockفرض deny على أدوات المهارة.
يأخذ الاشتقاق الأشدّ من إشارتين: النطاق (low/medium ← allow، high ← quarantine، critical ← block) وحكم الفحص (blocked ← block، flagged ← quarantine). اكتشاف error واحد يجعل الحكم blocked سيحجز أو يحجب حتى عندما يكون النطاق العددي low — الاتجاه الحذِر. يمكن لمشغّل ضبط الوضع صراحةً؛ وعند إعادة الفحص لا يتشدّد الوضع إلا أكثر، ولا يخفّف أبداً حجباً أو حجراً صحياً ضبطته.

5. إشارات الثقة

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

6. القدرات المكتشفة تلقائياً

لا يعمل الماسح فقط عندما تسجّل شيئاً يدوياً. عندما يثبّت وكيل قدرة ذاتياً وتعبر أدواتها البوابة أول مرة، يكتشفها جدار الحماية تلقائياً (خارج المسار الساخن، بشكل غير متزامن)، يصطنع بياناً مما لاحظه، ويشغّل نفس الفحص، والتسجيل، واشتقاق الوضع — بـ source = auto_detected.
القدرات المكتشفة تلقائياً محجوزة في الحجر الصحي حتى تُراجَع. أي شيء مكتشف تلقائياً كان سيُحَل خلاف ذلك إلى allow يُحدَّد أرضيةً عند quarantinecritical يبقى block) حتى يراجعه إنسان. القدرة التي لم يوافق عليها أحد لا تحصل على تصريح مجاني لمجرد أنها فُحصت حميدةً — تعمل فقط بعد أن تكون نظرت إليها.

7. الفرض وقت التشغيل

عندما يصل استدعاء أداة إلى محرك جدار الحماية، يُنسَب إلى مهارة مالكة، ثم يُطبَّق وضع المهارة فوق حكم القاعدة:
  1. النسبة. يُطابَق الاستدعاء إلى مهارة بـ allowed_tools المعلَنة، ثم ببادئة مساحة أسماء mcp_server، ثم بتراجع فارض الأكثر تقييداً على مستوى مساحة العمل.
  2. حكم القاعدة. تعمل قواعد السياسة كالمعتاد — و skill_name_glob للقاعدة يتيح لك قصر قاعدة على مهارات محددة.
  3. تجاوز الوضع. مهارة block تفرض deny؛ ومهارة quarantine تصعّد أي شيء دون deny إلى pending_approval؛ وallow يترك الحكم دون مساس.
نسبة المهارة تفشل مغلقةً. إذا تعذّرت نسبة أداة (خطأ في قاعدة البيانات بلا ذاكرة مؤقتة، أو أداة غير معلَنة تحت مصدر منسَّق)، يُعلَّق الاستدعاء للمراجعة بدلاً من السماح به. ووضع المهارة مستقل عن وضع الظل — مهارة محجوزة في الحجر الصحي أو محجوبة لا تزال مفروضة حتى أثناء طرح سياسة في وضع الظل.

8. دورة الحياة

  • التسجيلPOST /skills يتحقّق ويفحص بشكل متزامن، معيداً المهارة مع اكتشافاتها وحكمها. يُشتقّ الوضع (أو يُحترَم وضعك الصريح).
  • التحديث — يعيد فحص البيان الجديد؛ يتشدّد الوضع أكثر على فحص أسوأ لكنه لا يخفّف أبداً حجبك/حجرك المخزّن.
  • إعادة الفحصPOST /skills/:id/rescan يعيد تشغيل الفحص؛ إذا تدهور حديثاً الحكم إلى flagged أو blocked يُصدِر حدث جدار حماية بحيث يظهر الانجراف في تغذيتك.
  • الحذف — حذف ناعم ويحرّر خانة الاسم لإعادة التسجيل.

مرجع API

ضمن نطاق مساحة العمل؛ قراءات القوائم مفتوحة لأي عضو (وتنقّح الحقول الحاملة للأسرار)، وكل شيء آخر يتطلب Developer+.
الطريقة والمسارالدورالغرض
GET /api/workspace/firewall/skillsMemberقائمة المهارات (منقّحة؛ صفِّ بـ ?kind= و?source=).
GET /api/workspace/firewall/skills/:idDeveloper+سجل المهارة الكامل.
POST /api/workspace/firewall/skillsDeveloper+تسجيل + فحص (409 على الاسم المكرّر).
PUT /api/workspace/firewall/skills/:idDeveloper+تحديث + إعادة فحص.
POST /api/workspace/firewall/skills/:id/rescanDeveloper+إعادة فحص؛ يُصدِر حدثاً عند التدهور.
DELETE /api/workspace/firewall/skills/:idDeveloper+حذف ناعم.
تسجيل/تحديث/إعادة فحص يعيد:
{
  "skill": { "id": 7, "name": "creepy", "risk_band": "high", "mode": "quarantine", "...": "..." },
  "findings": [
    { "kind": "tool_creep", "target": "shell.exec", "severity": "error" }
  ],
  "scan_verdict": "blocked"
}
الأسماء فريدة لكل مساحة عمل عبر الأنواع — مهارة skill اسمها github وmcp_server اسمه github يتصادمان في نفس مساحة العمل. اختر أسماء متمايزة لكل قطعة.

الأسئلة الشائعة

القواعد تحكم استدعاءات الأدوات بالاسم والوسائط. والمهارات تحكم القدرات التي يحمّلها الوكيل — الحزمة، وبيانها، وصلاحياتها المطلوبة — قبل أن تعمل أي من أدواتها. ثم يركب وضع المهارة فوق أي شيء تقرره القواعد، فيتركّب الاثنان: يمكن لقاعدة allow لـ http.fetch عموماً بينما مهارة محجوزة في الحجر الصحي تملكها لا تزال تُعلَّق.
عدة أشياء. كشف tool-creep يعلّم الأدوات المستخدَمة لكن غير المعلَنة؛ والاكتشاف التلقائي يعيد الفحص مما عبر البوابة فعلاً، لا مجرد البيان المزعوم؛ ويتشدّد الوضع أكثر (لا أقل) عند إعادة الفحص؛ وسمعة المورد تنجرف بالقطعة المسيئة نحو الحجر الصحي عبر الزمن؛ والنسبة تفشل مغلقةً عندما لا يمكن ربط أداة بمهارة معلَنة.
لا. سجّل تلك التي تريد الموافقة عليها مسبقاً؛ والبقية تُكتشَف تلقائياً عند أول استخدام وتُحجَز في الحجر الصحي حتى تراجعها. فعّل وضع observe لإبراز كل ما يثبّته الوكيل دون حجب، ثم تشدّد من البيانات الحقيقية.

انظر أيضاً

تتعمّق أكثر في أمان الوكلاء؟ تضع أدلة أمّن وكلاءك - الثقة الصفرية هذه الميزة ضمن سير عمل قائم على الثقة الصفرية.

الأساس المرجعي لأمان الوكلاء

طبّق موقفاً قائماً على الثقة الصفرية على كل قدرة من قدرات الوكيل بمفتاح واحد.

حواجز حماية الوكلاء

حواجز حماية مبنية للوكلاء المستقلين الذين يستخدمون الأدوات.