تخطَّ إلى المحتوى

مقالة

أمن الذكاء الاصطناعي الوكيلي: MCP OAuth وVPN وعقود HashiCorp Vault

مرجع مؤسسي: MCP OAuth 2.1 + EMA، تكامل VPN، أسرار Vault الديناميكية، التدوير التلقائي، إلغاء العقد، ومصفوفة إعداد الموردين

  • قراءة في 7 دقيقة
  • الذكاء الاصطناعي
  • الأمن
  • DevOps

يغطي هذا الموجز التقني من TenthMatrix أمن ومصادقة الذكاء الاصطناعي الوكيلي: تأمين الوكلاء المؤسسيين الذين يستدعون الأدوات عبر MCP (Model Context Protocol) باستخدام OAuth 2.1، ووضع نقاط نهاية MCP عالية المخاطر خلف VPN / الشبكات الخاصة، وإدارة بيانات اعتماد الأدوات باستخدام HashiCorp Vault — الأسرار الديناميكية، والعقود، والتدوير التلقائي، والإلغاء الفوري. ويوصي بإعدادات متوافقة مع الصناعة لـ Claude وOpenAI وCursor.

أمن الذكاء الاصطناعي الوكيلي: MCP OAuth وVPN وعقود Vault

التنقل. مدونة مرافقة: ملخص قصير. ذات صلة: أنظمة التعلم العميق، وكلاء Bedrock، فرق متعددة الوكلاء.
Related reading. Edge WAF on the same live-config OpenResty proxy: WSL Proxy WAF blog · explainable edge WAF article · product overview · wslproxy.org/waf · tour youtu.be/r10XSonA5JE.
ملخص الوكيل (قابل للقراءة آليًا).
  • المشكلة: وكلاء بمفاتيح أدوات ثابتة طويلة الأمد + MCP عام = انتشار بيانات الاعتماد والحركة الجانبية.
  • المصادقة: MCP عن بُعد = خادم موارد OAuth 2.1 + RFC 9728 PRM + جمهور RFC 8707؛ PKCE إلزامي.
  • المؤسسات: يُفضَّل MCP Enterprise-Managed Authorization (EMA / ID-JAG) عبر IdP المؤسسي.
  • الشبكة: MCP الداخلي وVault على VPN/رابط خاص؛ قوائم سماح للخروج لكل أداة.
  • الأسرار: أسرار Vault الديناميكية + مدة عقد TTL؛ تدوير الأدوار الثابتة تلقائيًا؛ إلغاء عند انتهاء الجلسة.
  • الفصل: مفاتيح واجهة برمجة تطبيقات مزوّد LLM != رموز وصول MCP != أسرار أدوات الخلفية.

المصادر: MCP Authorization، عقود Vault، نمط Vault المعتمد لوكيل الذكاء الاصطناعي، مصادقة موصل Claude. تحقق من وثائق المورد الحالية قبل الطرح الإنتاجي.

1. نموذج التهديد لوكلاء المؤسسات

الوكيل هو جهة أتمتة ذات امتيازات. أنماط الفشل الشائعة:

  • انتشار الأسرار — مفاتيح API في JSON الخاص بـ MCP، أو .env مُودَع في git، أو لصقها في المطالبات.
  • استبدال الرمز — رمز وصول مُصدَر للخادم A يقبله الخادم B (غياب ربط الجمهور).
  • أدوات ذات نطاق مفرط — MCP واحد يمكنه الكتابة في قواعد بيانات الإنتاج وفتح الجدران النارية بنفس الجلسة.
  • OBO غير مدقق — الوكيل يتصرف دون ربط الإجراءات بهوية بشرية.
  • MCP عام — أدوات داخلية قابلة للوصول من الإنترنت دون VPN أو رابط خاص.

يجب أن تغطي الضوابط الهوية (من)، والتفويض (أي أدوات)، والأسرار (بأي بيانات اعتماد)، والشبكة (من أين).

2. مصادقة MCP: المعيار الصناعي

بالنسبة لـ MCP عن بُعد المستند إلى HTTP، تتوافق المواصفة مع OAuth 2.1:

  • خادم MCP = خادم موارد OAuth؛ يرسل العملاء Authorization: Bearer.
  • PKCE إلزامي؛ منح implicit محظور.
  • يجب على الخوادم MUST نشر Protected Resource Metadata (RFC 9728) حتى يكتشف العملاء خادم التفويض.
  • استخدم Resource Indicators (RFC 8707) لربط الرموز بجمهور ذلك خادم MCP.
  • Authorization Server Metadata (RFC 8414) و/أو اكتشاف OIDC لقدرات AS.
  • Dynamic Client Registration (RFC 7591) موصى به حيث يجب تسجيل العملاء دون معرفات عميل يدوية.
# Protected Resource Metadata (conceptual)
{
  "resource": "https://mcp.internal.example/mcp",
  "authorization_servers": ["https://auth.example.com"],
  "scopes_supported": ["mcp:tools", "mcp:resources"]
}

STDIO / MCP المحلي مختلف: فضّل بيانات اعتماد البيئة المحقونة بواسطة Vault Agent — لا تفرض OAuth عبر المتصفح على كل أداة سطح مكتب. يجب أن ينفّذ MCP عن بُعد/العام OAuth 2.1.

2.1 Enterprise-Managed Authorization (بدون تدخل)

امتداد MCP Enterprise-Managed Authorization يتيح لـ IdP المؤسسي (Okta وEntra ID وغيرهما) منح الوصول إلى خوادم MCP المعتمدة عند SSO باستخدام ID-JAG (Identity Assertion JWT Authorization Grant)، مما يتجنب إرهاق الموافقة لكل خادم. اعتمد EMA لأساطيل Claude / IDE / الوكلاء على مستوى المؤسسة.

3. تكامل VPN وMCP الخاص

OAuth يصادق العميل؛ ولا يحل محل عزل الشبكة.

  • استضف خوادم MCP الداخلية وVault على CIDR خاص (VPN أو PrivateLink أو شبكة Tailscale/WireGuard أو mTLS لشبكة الخدمات).
  • اربط مستمعي MCP بالواجهات الخاصة؛ احظر المنفذ العام 443 ما لم يكن المنتج موجّهًا للإنترنت عمدًا.
  • طبّق قوائم سماح الخروج من وقت تشغيل الوكيل: واجهات برمجة التطبيقات / مضيفات MCP المعتمدة فقط.
  • افصل المستويات: أجهزة المطورين على VPN الشركة لـ Cursor؛ وكلاء من جانب الخادم في VPC دون MCP إنترنت إلا SaaS المعتمد.

النمط: VPN للوصول + OAuth للتفويض + Vault للأسرار.

الشكل أ: بنية IdP وMCP وVault وVPN

4. HashiCorp Vault لأسرار الوكلاء

مفاتيح الأدوات الثابتة طويلة الأمد لا تتوافق مع نطاق تأثير الوكيل. يوفر Vault:

4.1 الأسرار الديناميكية + العقود

كل سر ديناميكي يعيد lease_id وTTL. يجب على المستهلك التجديد (إن سُمح) أو طلب بديل قبل الانتهاء. عند انتهاء العقد، يمكن لـ Vault إلغاء بيانات الاعتماد لدى المزوّد. يفرض ذلك الإرجاع، ويحسّن سجلات التدقيق، ويقلّص نوافذ التعرض.

4.2 التدوير التلقائي

للأدوار الثابتة (مثل كلمة مرور قاعدة بيانات مع rotation_period)، يدوّر Vault وفق جدول. قوالب Vault Agent تعيد الجلب قرب نهاية العمر (الافتراضي lease_renewal_threshold ~0.9 من TTL) ويمكنها إعادة تشغيل عملية فرعية عند تغيّر بيانات الاعتماد.

4.3 مدد TTL الموصى بها للوكلاء

فئة المخاطر مثال إرشاد TTL
كتابة حرجةتعديل قاعدة بيانات الإنتاج، إدارة IAM5-15 دقيقة؛ إلغاء عند انتهاء الأداة
قراءة / بيئة تجريبيةنسخ قراءة، واجهات برمجة التطبيقات للتذاكر30-60 دقيقة
مفتاح مزوّد LLMمفتاح مؤسسة OpenAI / Anthropicمدار بواسطة Vault؛ تدوير وفق جدول؛ لا يُوضع أبدًا في JSON الخاص بـ MCP

الشكل ب: دورة حياة عقد Vault

4.4 Vault + إسناد المستخدم (نمط معتمد)

النمط المعتمد من HashiCorp: يصادق المستخدم؛ يتلقى الوكيل رمزًا نيابةً عن (OBO)؛ تصادق الأدوات على Vault بـ JWT؛ يربط Vault المطالبات بالسياسات ويصدر أسرارًا ديناميكية محدودة النطاق. تربط مسارات التدقيق إصدار الأسرار بالإنسان، وليس بحساب روبوت مشترك.

يضيف Vault Enterprise ملفات تعريف Agent Registry وخادم موارد OAuth بحيث تقدّم الوكلاء المسجّلة JWTs من OAuth دون خطوة تسجيل دخول منفصلة إلى Vault — مع قيود خاصة بالوكيل للتفويض / OBO.

# Conceptual agent tool hook (do not ship secrets to the model)
vault_token = login_jwt(obo_token)           # Vault auth
secret = vault.read("database/creds/agent-ro")
lease_id, ttl = secret["lease_id"], secret["lease_duration"]
try:
    run_tool(db_url=secret["data"])          # use within TTL
finally:
    vault.lease.revoke(lease_id)             # or let TTL expire

5. الإعدادات الموصى بها حسب المورد

الشكل ج: أنماط Claude وOpenAI وCursor

5.1 Claude (Anthropic)

  • فضّل OAuth لموصلات MCP عن بُعد؛ أعد 401 مع WWW-Authenticate يشير إلى PRM حتى يكتشف العملاء المصادقة.
  • لا تضع أبدًا الرموز/مفاتيح API في سلاسل استعلام URL للموصل (تُسجَّل وتُخزَّن مؤقتًا ومحظورة بقواعد رموز MCP).
  • Claude Code: OAuth محلي مع مخزن رموز آمن وتجديد؛ يجب ألا تقرأ الإضافات الرموز.
  • Claude المستضاف: بيانات اعتماد عميل تديرها Anthropic للمستخدمين الموافقين؛ مع ذلك احتفظ بأسرار الأدوات في Vault خلف MCP الخاص بك.
  • المؤسسات: وافق IdP مع MCP EMA للوصول إلى الخوادم بدون تدخل.

5.2 OpenAI (الوكلاء / الأدوات)

  • افصل مفاتيح واجهة برمجة تطبيقات النموذج عن بيانات اعتماد الأدوات؛ تدوير ونطاق تأثير مختلفان.
  • شغّل أوقات تشغيل الوكلاء في VPC؛ استدعِ MCP الخاص عبر الشبكات الخاصة.
  • مرّر رموزًا منسوبة للمستخدم إلى الأدوات؛ صادق على Vault بـ JWT؛ اصدر أسرارًا ديناميكية لكل استدعاء.
  • سجّل كل استدعاء أداة مع المستخدم + الوكيل + lease_id للامتثال.

5.3 Cursor

  • إعداد خادم MCP: أشر إلى متغيرات البيئة فقط — لا تُضمّن الأسرار في mcp.json.
  • خوادم STDIO: شغّلها تحت Vault Agent (قالب أو بيئة) بحيث تدور العقود دون نسخ المطورين لكلمات المرور.
  • MCP عن بُعد: OAuth عندما يدعمه الخادم؛ وإلا VPN الشركة + حامل قصير الأمد من Vault.
  • سياسة الفريق: قائمة سماح لخوادم MCP المعتمدة؛ احظر MCP المجتمع غير الموثوق على قواعد الإنتاج.
  • أبقِ ملفات .env / الأسرار خارج السياق عبر قواعد التجاهل؛ قواعد المشروع: امنع لصق الأسرار في الدردشة.

6. مصفوفة الضوابط المرجعية

الطبقة الضابط نمط مضاد
الهويةSSO IdP + EMA / OAuth PKCEكلمة مرور روبوت مشتركة
MCPPRM + رموز مربوطة بالجمهوررموز في URL؛ بلا انتهاء
الشبكةVPN / PrivateLink + ACL للخروجMCP عام لأدوات الإنتاج
الأسرارعقد Vault + تدوير + إلغاءمفاتيح لعام كامل في mcp.json
العملياتتدقيق IdP+MCP+Vault؛ بوابات بشريةنشر إنتاج / مدفوعات بلا بوابة

7. قائمة تنفيذ

  1. جرد كل خادم MCP وصنّفه عامًا مقابل خاصًا.
  2. نفّذ OAuth 2.1 + PRM على كل MCP عن بُعد؛ فعّل EMA مع IdP المؤسسي.
  3. انقل MCP + Vault خلف VPN/الشبكات الخاصة؛ وثّق كيف ينضم Cursor/Claude إلى الشبكة.
  4. استبدل مفاتيح الأدوات الثابتة بأسرار Vault الديناميكية؛ عيّن TTL حسب فئة المخاطر.
  5. اربط Vault Agent (أو تجديد/إلغاء SDK) بأوقات تشغيل الوكلاء؛ ألغِ العقود عند انتهاء الجلسة.
  6. افصل مفاتيح مزوّد LLM؛ خزّنها ودوّرها في Vault — لا في المطالبات أو إعداد MCP.
  7. أضف بوابات موافقة بشرية للمال وتغييرات الهوية ونشر الإنتاج.
  8. اختبر: العقد المنتهي يفشل مغلقًا؛ رمز الجمهور الخاطئ يُرفض؛ المسار العام محظور.
قاعدة توجيه TenthMatrix. الباب الأمامي = MCP OAuth (من يجوز استدعاء الأدوات). باب الشبكة = VPN/mesh (من أين). باب الأسرار = عقود Vault (بماذا). إذا تُرك أي باب مفتوحًا بمفتاح ثابت، عالجه كحادث ينتظر الحدوث.

نُشر بواسطة TenthMatrix — أتمتة المؤسسات، ومنصات متعددة الوكلاء، والتسليم الآمن على Kubernetes.