الانتقال إلى المحتوى الرئيسي
تبدأ كل قاعدة جدار حماية بالإجابة عن على أي استدعاءات أدوات أنطبق؟ النصف الأول من تلك الإجابة هو glob اسم الأداة — حقل tool_name_glob على قاعدة. إنه قواعد صغيرة عمداً وحسّاسة لحالة الأحرف (لا regex، لا تراجع) فتُقرأ القاعدة بنفس الطريقة التي ستكتب بها اسم أداة من تبويب الأدوات المكتشفة، وتبقى المطابقة خطّية الزمن على مسار الترحيل الساخن. هذه الصفحة هي المرجع المركّز لقواعد ذلك الحقل الواحد. لمكان جلوس glob داخل قاعدة كاملة — السطح، عبارات الوسائط، قوائم egress، الحكم — انظر مخطط القاعدة ومرجع المحرك العميق في قواعد جدار الحماية.

1. لماذا glob اسم أداة بدلاً من regex

تُسمّى الأدوات اصطلاحاً بنطاق server.tool أو category.action (shell.exec، db.query، community.http_fetch). يتيح glob لقاعدة واحدة اصطياد عائلة كاملة — shell.* لكل فعل shell، و*.delete لفعل عبر الخوادم — دون مزالق regex على مسار يعمل على كل استدعاء أداة.
القواعد صغيرة عمداً. المطابقة حسّاسة لحالة الأحرف — أسماء أدوات MCP اصطلاحاً حروف صغيرة بنقاط، فطيّ الحالة سيفاجئ مؤلّفاً ينسخ-يلصق اسماً مباشرةً من عرض الأدوات المكتشفة. لا يوجد تراجع كارثي لأنه لا يوجد محرك regex خلفه؛ كل نمط أدناه حفنة من عمليات السلاسل.

2. أشكال النمط الخمسة

glob اسم الأداة هو واحد بالضبط من هذه الأشكال. أي شيء لا يلائم أشكال أحرف البدل يُعامَل كحرف، مطابقة دقيقة.
النمطالشكليطابق
"" أو *أيكل استدعاء أداة.
foo.*بادئةfoo.bar، foo.execوليس foo المجرّد.
*.execلاحقةshell.exec، db.exec، و exec المجرّد.
*.shell.*داخليlocal.shell.exec، byo.shell.run.
shell.execدقيقفقط السلسلة الحرفية shell.exec.
اقرأ الأقسام التالية للحافة الواحدة في كل شكل التي تعثّر الناس.

3. البادئة — foo.*

تطابق أي أداة يبدأ اسمها بـ foo. ولها حرف واحد على الأقل أكثر بعد النقطة.

يطابق

shell.exec، shell.run، shell.rm للنمط shell.*

لا يطابق

shell المجرّد (تتطلب البادئة النقطة اللاحقة و شيئاً بعدها)
استخدم glob بادئة لحكم خادم أو فئة كاملة دفعةً واحدة — deny واحد shell.* يغطّي كل فعل shell قد يضيفه خادم لاحقاً.

4. اللاحقة — *.exec

تطابق أي أداة ينتهي اسمها بـ .exec، مثبَّتة عند نقطة — و تطابق أيضاً الفعل المجرّد غير المُسمّى بنطاق exec بمفرده.
مطابقة الفعل المجرّد متعمّدة. استدعاءات الدوال الأصلية للمزود وخوادم MCP التي لا تستخدم النطاقات تكشف أداة تحت فعلها المجرّد (فقط exec، وليس shell.exec). قاعدة *.exec تغطّي كلا الشكلين فلا تُفوَّت أداة لا تستخدم النطاقات صامتاً.
تبقى اللاحقة مثبَّتة — لن تطابق كلمة جزئية:
النمطshell.execexec المجرّدshell.execute
*.execيطابقيطابقلا مطابقة
*.execute سيكون مطلوباً لـ shell.execute؛ تُطلق اللاحقة فقط عند حدّ نقطة أو بداية السلسلة، وليس أبداً في منتصف الكلمة.

5. الداخلي — *.shell.*

يطابق أي اسم أداة يحتوي .shell. كداخلي، بـ حرف واحد على الأقل على كل جانب. هكذا تغطّي قاعدة واحدة فعلاً أينما صادف خادم BYO-MCP أن يُسمّيه بنطاق.
{
  "label": "gate every shell tool, any server",
  "tool_name_glob": "*.shell.*",
  "verdict": "deny"
}
تلك القاعدة تطابق local.shell.exec وbyo.shell.run وأي شكل آخر <server>.shell.<verb>. إنها لا تطابق shell المجرّد أو .shell. مجرّداً بلا شيء حوله — متطلّب الحرف-على-كل-جانب يبقي الداخلي صادقاً.
الشكل الداخلي هو فقط الشكل المتماثل *.X.*. نمط بنجمة في المنتصفfoo.*.barليس glob داخلياً؛ بل يسقط إلى مطابقة سلسلة دقيقة (يطابق فقط أداة مسمّاة حرفياً foo.*.bar، التي لن توجد). لمطابقة “يبدأ بـ foo.، ينتهي بـ .bar” تحتاج قاعدتين أو عبارة وسائط، وليس glob واحداً.

6. الدقيق — shell.exec

أي شيء ليس واحداً من أشكال أحرف البدل أعلاه هو مطابقة سلسلة حرفية. shell.exec يطابق shell.exec ولا شيء آخر. هذا الخيار الصحيح عندما تريد تسمية أداة محددة واحدة — اقرنه بـ عبارة وسائط لتضييق أكثر (“احجب shell.exec فقط عندما يكون الأمر rm -rf”).

7. مثال ملموس واحد

لنقل إنك تريد رفض كل فعل shell مدمّر بغض النظر عن كيفية تسمية خادم MCP له بنطاق، بينما تدع كل شيء آخر يُدقَّق. في محرر القواعد بوحدة التحكم (الكتابات تتطلب Developer+)، نصف المطابقة من القاعدة هو glob داخلي واحد:
{
  "label": "deny shell across servers",
  "stage": "response",
  "tool_name_glob": "*.shell.*",
  "verdict": "deny"
}
اربط مفتاحاً بالسياسة (firewall_policy_id على المفتاح)، والآن تصطاد القاعدة local.shell.exec وbyo.shell.run وacme.shell.rm — ثلاثة خوادم، glob واحد. تريد تأكيد أنها تُطلق على ما تتوقعه قبل أن تعتمد عليها؟ استخدم اختبار القواعد — يعيد الحكم، والقاعدة المطابقة، والسبب دون إرسال أي شيء.
glob يضيّق أي أداة. لتضييق بأي وسائط، ادمج بـ AND عبارة وسائط على نفس القاعدة؛ لحكم أداة فقط عندما تملكها مهارة معيّنة، أضف glob اسم مهارة (نفس القواعد، مطابقة على المهارة المالكة). كلاهما مغطّى في قواعد جدار الحماية.

8. مرجع سريع

نعم. *.exec يطابق shell.exec وdb.exec و exec المجرّد غير المُسمّى بنطاق. globs البادئة (foo.*) لا تطابق النطاق المجرّد foo — فقط الأسماء التي بها شيء بعد النقطة.
لا. الشكل الوحيد بحرف بدل في المنتصف الذي يفهمه المحرك هو الداخلي المتماثل *.X.*. foo.*.bar يسقط إلى مطابقة حرفية دقيقة. استخدم قاعدتين أو عبارة وسائط بدلاً من ذلك.
نعم. Shell.Exec وshell.exec أداتان مختلفتان. انسخ الأسماء حرفياً من تبويب الأدوات المكتشفة.
أي شكل ليس واحداً من الخمسة أعلاه يُعامَل كمطابقة دقيقة — ببساطة لن يطابق اسم أداة حقيقياً، فلا تُطلق القاعدة أبداً بدلاً من مطابقة شيء غير متوقع. تتحقق وحدة التحكم من القواعد عند الحفظ.

ذات صلة

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

استخدم globs للسماح بمجموعة معروفة ورفض البقية.

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

ادمج بـ AND عبارة وسائط JSONPath على glob.

مخطط القاعدة

كل حقل من قاعدة، في مكان واحد.
للغة المطابقة الكاملة — الأحكام، الأسطح، قوائم egress، والتسلسلات — انظر قواعد جدار الحماية. جديد على المستوى؟ ابدأ من نظرة عامة على جدار الحماية.