Skip to content

اختيار مستويات التصنيف

كل قناة وخادم MCP وتكامل و plugin في Triggerfish يجب أن يكون لديه مستوى تصنيف. تساعدك هذه الصفحة في اختيار المستوى المناسب.

المستويات الأربعة

المستوىما يعنيهالبيانات تتدفق إلى...
PUBLICآمن لأي شخص لرؤيتهأي مكان
INTERNALلعينيك فقط — ليس حساساً، لكن ليس عاماًINTERNAL, CONFIDENTIAL, RESTRICTED
CONFIDENTIALيحتوي بيانات حساسة لا تريد تسريبها أبداًCONFIDENTIAL, RESTRICTED
RESTRICTEDالأكثر حساسية — قانوني، طبي، مالي، PIIRESTRICTED فقط

يمكن للبيانات أن تتدفق للأعلى أو جانبياً فقط، وليس للأسفل. هذه هي قاعدة منع الكتابة للأسفل ولا يمكن تجاوزها.

سؤالان يجب طرحهما

لأي تكامل تُكوّنه، اسأل:

1. ما أكثر البيانات حساسية التي يمكن أن يُعيدها هذا المصدر؟

هذا يحدد مستوى التصنيف الأدنى. إذا كان خادم MCP يمكنه إعادة بيانات مالية، يجب أن يكون على الأقل CONFIDENTIAL — حتى لو كانت معظم أدواته تُعيد بيانات وصفية غير ضارة.

2. هل سأكون مرتاحاً إذا تدفقت بيانات الجلسة إلى هذه الوجهة؟

هذا يحدد مستوى التصنيف الأقصى الذي تريد تعيينه.

التصنيف حسب نوع البيانات

نوع البياناتالمستوى الموصىلماذا
الطقس، صفحات الويب العامة، المناطق الزمنيةPUBLICمتاحة بحرية لأي شخص
ملاحظاتك الشخصية، الإشارات المرجعيةINTERNALخاصة لكن ليست ضارة إذا كُشفت
البريد، أحداث التقويم، جهات الاتصالCONFIDENTIALتحتوي أسماء وجداول وعلاقات
بيانات CRM، خط المبيعات، سجلات العملاءCONFIDENTIALحساسة تجارياً، بيانات عملاء
السجلات الطبية أو الصحيةRESTRICTEDمحمية قانونياً (HIPAA، إلخ.)
أرقام الهوية الحكومية، SSN، جوازات السفرRESTRICTEDخطر سرقة الهوية

خوادم MCP

عند إضافة خادم MCP إلى triggerfish.yaml، يحدد التصنيف شيئين:

  1. Taint الجلسة — استدعاء أي أداة على هذا الخادم يُصعد الجلسة لهذا المستوى
  2. منع الكتابة للأسفل — جلسة ملوثة فوق هذا المستوى لا يمكنها إرسال بيانات إلى هذا الخادم
yaml
mcp_servers:
  # PUBLIC — بيانات مفتوحة، بدون حساسية
  weather:
    command: npx
    args: ["-y", "@mcp/server-weather"]
    classification: PUBLIC

  # INTERNAL — نظام ملفاتك، خاص لكن ليس أسراراً
  filesystem:
    command: npx
    args: ["-y", "@modelcontextprotocol/server-filesystem", "/home/you/docs"]
    classification: INTERNAL

  # CONFIDENTIAL — يصل لمستودعات خاصة، مشكلات العملاء
  github:
    command: npx
    args: ["-y", "@modelcontextprotocol/server-github"]
    env:
      GITHUB_PERSONAL_ACCESS_TOKEN: "keychain:github-pat"
    classification: CONFIDENTIAL

  # RESTRICTED — قاعدة بيانات مع PII، سجلات طبية، وثائق قانونية
  postgres:
    command: npx
    args: ["-y", "@mcp/server-postgres"]
    env:
      DATABASE_URL: "keychain:prod-db-url"
    classification: RESTRICTED

DEFAULT DENY إذا حذفت classification، يُسجل الخادم كـ

UNTRUSTED و gateway يرفض جميع استدعاءات الأدوات. يجب اختيار مستوى صراحةً. :::

القنوات

تصنيف القناة يحدد السقف — أقصى حساسية للبيانات التي يمكن تسليمها لتلك القناة.

yaml
channels:
  cli:
    classification: INTERNAL # طرفيتك المحلية — آمنة للبيانات الداخلية
  telegram:
    classification: INTERNAL # بوتك الخاص — نفس CLI للمالك
  webchat:
    classification: PUBLIC # زوار مجهولون — بيانات عامة فقط
  email:
    classification: CONFIDENTIAL # البريد خاص لكن يمكن تحويله

المالك مقابل غير المالك بالنسبة للمالك، جميع القنوات لها نفس مستوى

الثقة — أنت أنت، بغض النظر عن التطبيق الذي تستخدمه. تصنيف القناة يهم أكثر للمستخدمين غير المالكين (زوار على webchat، أعضاء في قناة Slack، إلخ.) حيث يحد من البيانات التي يمكن أن تتدفق إليهم. :::

ماذا يحدث عند الخطأ

منخفض جداً (مثل خادم CONFIDENTIAL مُعلم PUBLIC):

  • البيانات من هذا الخادم لن تُصعد taint الجلسة
  • يمكن للجلسة أن تُسرب بيانات مصنفة إلى قنوات عامة — خطر تسرب بيانات
  • هذا الاتجاه الخطير

مرتفع جداً (مثل خادم PUBLIC مُعلم CONFIDENTIAL):

  • Taint الجلسة يتصاعد بلا داعٍ عند استخدام هذا الخادم
  • ستُحظر من الإرسال إلى قنوات أقل تصنيفاً بعد ذلك
  • مزعج لكن آمن — خطأ في جانب المبالغة

عند الشك، صنّف أعلى. يمكنك دائماً خفضه لاحقاً بعد مراجعة البيانات

التي يُعيدها الخادم فعلاً. التصنيف المنخفض خطر أمني؛ التصنيف المرتفع مجرد إزعاج. :::

سلسلة Taint

فهم التأثير العملي يساعدك على الاختيار بحكمة:

1. الجلسة تبدأ بـ PUBLIC
2. تسأل عن الطقس (خادم PUBLIC)      → taint يبقى PUBLIC
3. تفحص ملاحظاتك (filesystem INTERNAL) → taint يتصاعد لـ INTERNAL
4. تستعلم مشكلات GitHub (CONFIDENTIAL)  → taint يتصاعد لـ CONFIDENTIAL
5. تحاول النشر على webchat (قناة PUBLIC) → محظور (انتهاك كتابة للأسفل)
6. تُعيد تعيين الجلسة                    → taint يعود لـ PUBLIC
7. تنشر على webchat                     → مسموح

صفحات ذات صلة