العودة إلى المكتبة
MCP

معيار كود وحدات MCP

آخر تحديث: 2026年7月11日

تحديث — 2026-08-18: CoSAI لتبادل الرموز، MCP Project sandboxing baseline، OWASP GenAI baseline، أخطاء Ruby SDK — نمط التفويض وأساس النشر

أربعة تطورات توفر نمط التفويض وأساس النشر الذي احتاجه معيار الكود هذا.

  1. CoSAI لتبادل الرموز (18 أغسطس) — نمط التفويض. يجب أن تبدل كل وحدة MCP رمزًا عند حدود الثقة، ولا تحمل اعتمادات دائمة. الرمز ينتهي خلال دقائق مع إلغاء فوري.

  2. MCP Project Sandboxing Baseline (16 أغسطس) — أساس النشر. يجب أن يتضمن كل نشر لوحدة MCP عزلًا على مستوى نظام التشغيل (Landlock/Seatbelt/Windows ACL).

  3. OWASP GenAI MCP Server Security Baseline (18 أغسطس) — مرجع التطوير. بنية الدليل وتسجيل الأدوات ومعالجة الأخطاء في هذا المعيار تتطابق مع ضوابط تطوير OWASP GenAI.

  4. أخطاء MCP Ruby SDK (16 أغسطس) — فئات CVE جديدة تؤكد الموقف الدفاعي. DoS في Ruby SDK يوسع متطلبات تحديد المعدل؛ اجتياز الدليل يوسع متطلبات التحقق من المدخلات. راجع قائمة تحسين أمان MCP.

تحديث — 2026-08-15: DeepSeek Harness — "كل شيء إضافة" يتحقق من نمط الوحدات

فتحت DeepSeek مصدر DeepSeek Harness في 13-14 أغسطس 2026 — بيئة تشغيل MIT مبنية على إطار Cordis الفوقي. المبدأ: "كل شيء إضافة." أكثر من 33,000 نجمة على GitHub خلال ساعات. أقوى تحقق صناعي لنمط الإضافات/الوحدات الذي يصفه هذا المعيار.

لماذا يهم معيار الكود

كل موصل نُسلِّمه يبدو بالشكل ذاته. هذا ليس مصادفة — بل انضباط. عندما يصل تكامل ثانٍ، تصبح قدرات الوكيل أسهل في الاختبار والتدقيق والاستبدال لأن كل وحدة MCP تتبع البنية والتسمية وعقد الأخطاء ذاتها.

يحدّد هذا المستند المعيار لجميع وحدات MCP في الهيكل الأساسي لتنسيق IdeaBosque. ويغطي تخطيط الدليل، وتسجيل الأدوات، ومخططات الإدخال/الإخراج، ومعالجة الأخطاء، وتحديد المعدل، وتسجيل التدقيق، ومعالجة حدود PII.

بنية الدليل

تعيش كل وحدة MCP في دليلها الخاص تحت app/mcp_modules/ بتخطيط متّسق:

app/mcp_modules//
  __init__.py
  module.py          # تسجيل الأدوات + المعالجات
  schemas.py         # نماذج Pydantic للإدخال/الإخراج
  tests/
    test_module.py
  README.md

تسجيل الأدوات

تُسجِّل كل وحدة أدواتها عبر واجهة قياسية. يكتشف الهيكل الأساسي للتنسيق الأدوات بمسح نقطة الدخول register_tools() — دون توصيل يدوي.

def register_tools(registrar):
    """تسجيل جميع الأدوات التي توفّرها هذه الوحدة."""
    registrar.tool(
        name="search_catalog",
        description="بحث في كتالوج المورّدين حسب SKU أو الاسم",
        input_schema=SearchCatalogInput,
        output_schema=SearchCatalogOutput,
        rate_limit=120,  # استدعاءات في الدقيقة
    )

معالجة الأخطاء

يجب أن تُطلق الوحدات استثناءات مُنمّطة، لا سلاسل نصية مجردة. يلتقط الهيكل الأساسي الفئات الفرعية لـ MCPToolError ويحوّلها إلى استجابات منظّمة يستطيع الوكيل التفكير فيها:

  • MCPAuthError — بيانات الاعتماد مفقودة أو منتهية
  • MCPRateLimitError — بلوغ حد المعدل في النظام العلوي
  • MCPTimeoutError — تجاوز الاستدعاء للنظام العلوي المهلة المُهيّأة
  • MCPValidationError — الإدخال لم يجتز التحقق من المخطط
  • MCPUpstreamError — أعاد النظام العلوي حالة خطأ

تحديد المعدل

تُعلن كل أداة عن حد المعدل الخاص بها في استدعاء التسجيل. يفرض الهيكل الأساسي هذه الحدود لكل وكيل، ولكل أداة، ولكل نافذة زمنية. عند بلوغ حد، يستقبل الوكيل استجابة 429 مع ترويسة Retry-After — ولا يتعطّل ولا يُعيد المحاولة بشكل أعمى.

تسجيل التدقيق

تُسجَّل كل استدعاء أداة مع: الطابع الزمني، ومُعرّف الوكيل، واسم الأداة، وتجزئة الإدخال (لا الإدخال الخام — حد PII)، وحالة الإخراج، والمدة، والنظام العلوي. تُكتب السجلات بصيغة JSON منظّمة وتُرسَل إلى خط أنابيب المراقبة.

"كل استدعاء أداة مُسجّل وقابل للتدقيق" ليس ميزة نضيفها لاحقًا. إنه أوّل ما يطلبه المعيار.

معالجة حدود PII

يجب أن تُعلن الوحدات عن حقول الإدخال التي تحتوي على PII. يُجزّئ الهيكل الأساسي هذه الحقول قبل تسجيلها ولا يُرسل PII خامًا إلى خط أنابيب التدقيق. تُعلَّم حقول PII في المخطط:

class SearchCatalogInput(BaseModel):
    sku: str
    customer_name: str = Field(..., pii=True)
    region: str

عند ضبط pii=True، يستبدل مسجّل التدقيق القيمة بتجزئة SHA-256. لا يزال مُعالِج الأداة يستقبل القيمة الخام — تُطبَّق معالجة PII عند حد التسجيل، لا داخل منطق العمل.

Update — 2026-08-06: Transport-mode security — the stateful streamable-HTTP attack surface

CVE-2026-16496 (CVSS 10.0, patched in Terraform MCP Server on August 5, 2026) is the first maximum-severity CVE in the MCP ecosystem and the first production evidence that the transport mode is a security dimension, not just an operational one. The vulnerability is a session-hijacking authorization bypass in the streamable-HTTP stateful transport mode: a user who obtains another user's MCP session ID can have their tool calls executed using that user's Terraform credentials. HashiCorp also patched CVE-2026-16498 (tenant isolation break) and CVE-2026-14869 (SSRF) in the same release. (The Hacker News, SentinelOne vulnerability database)

This adds a transport-mode-security rule to the deployment-hardening standard:

5. Prefer stateless transport; treat stateful streamable-HTTP as a security risk. The MCP 2026-07-28 specification moved to a stateless protocol core — the initialize/initialized handshake and Mcp-Session-Id header are removed, and stateful workflows use explicit handles instead of server-side sessions. The stateless design eliminates the session-hijacking attack class at the architecture level: a stateless server has no session to steal. The stateful streamable-HTTP transport mode that CVE-2026-16496 exploits is the mode the stateless core is designed to replace. If a module must run stateful streamable-HTTP (for compatibility with a client that has not migrated), treat it as a known-vulnerable configuration: bind it to a private network, require authentication on every session, and plan the migration to stateless transport on the same 12-month clock as the SSE deprecation. A module that exposes stateful streamable-HTTP on a public interface without authentication is in the same risk class as the 1,467 servers Trend Micro found with zero auth — plus the session-hijacking vector.

The OX Security advisory also expanded with additional CVEs beyond the original four exploit families: CVE-2026-30618, CVE-2026-33224, CVE-2026-30617 (Family 1 — STDIO command injection), CVE-2026-30625 (Family 2 — Upsonic allowlist bypass), CVE-2026-30615 (Family 3 — Windsurf prompt injection), CVE-2026-26015 (Family 4 — SSRF), plus CVE-2025-65720 (GPT Researcher RCE), CVE-2026-30623 (LiteLLM RCE), CVE-2026-30624 (Agent Zero RCE), and CVE-2026-54449 (LangBot RCE). The expanded inventory extends the supply-chain risk beyond MCP servers to the agent frameworks and orchestration layers that wrap them — signed provenance, pinned versions, and AIBOM manifests (the dependency control for MCP) are what make the expanded inventory detectable before it fires.

تحصين النشر: لا تُعرِض خوادم MCP أبدًا دون مصادقة

تتناول قواعد تحصين STDIO الثغرات على مستوى الكود. بُعد تعرّض منفصل ظهر في يوليو 2026، وقد هبط في التطبيق المرجعي نفسه. بين 11 و21 يوليو 2026، قُدمت ثلاث ثغرات CVE ضد MCP Python SDK الرسمي — التطبيق المرجعي الذي يرث منه كل خادم MCP بلغة Python:

  • CVE-2026-59950 — غياب التحقق من Host/Origin. يمكن لصفحة ويب يزورها الضحية أن تقود خادم MCP المحلي الخاص به عبر DNS rebinding وCSRF. يصبح المتصفح وسيطاً للمهاجم نحو خادم loopback اعتقد المشغل أنه خاص.
  • CVE-2026-52869 — طلبات الجلسة غير المتحقق منها. يخدم نقل HTTP طلبات الجلسة دون التحقق من الجلسة، مما يتيح وصولاً غير مصدق عليه.
  • CVE-2026-52870 — معالجات المهام المفتوحة. تتيح معالجات المهام التجريبية لأي عميل الوصول إلى مهمة عميل آخر.

أصابت ثغرات إضافية خوادم شائعة في نفس الأسبوعين: meta-ads-mcp (CVE-2026-54547 / -54549، إعادة استخدام auth-token + SSRF)، LangBot (CVE-2026-54449، RCE مصدق عليه)، ToolHive (CVE-2026-58196، SSRF)، وmcp-atlassian (GHSA-g5r6-gv6m-f5jv، قراءة عشوائية للملفات). النمط على مستوى الفئة، وليس معزولاً: صُمم MCP لـ loopback على localhost، ونشرته الفرق على الإنترنت، وتم تخطي أساسيات الأمان — المصادقة، التحقق من الأصل، فحص المدخلات. قيام التطبيق المرجعي بشحن نفس فئة العيب التي تشحنها خوادم المجتمع هو دليل تحصين النشر الذي يعالجه هذا المعيار: قواعد المصادقة والتحقق من الأصل أدناه ليست طموحة — بل تغلق السبب الجذري وراء CVE-2026-59950 وCVE-2026-52869.

وجد مسح المتابعة المُصحح من Trend Micro 1,467 خادم MCP قابل للوصول publicly دون مصادقة أو تشفير — ثلاثة أضعاف تقريباً من 492 الأصلية، وليس "~2,000" المُستشهد بها سابقاً. التصعيد ليس في العدد فقط: 1,227 من 1,467 تشغل نقل SSE المُهمَش (المجموعة الأكثر تأثراً بكل من هجرة المواصفات في 28 يوليو والتعرض الأمني)، تظهر أداة execute_sql على 70 مضيفاً، "Graphiti Agent Memory" (خادم MCP agentic) على 39 مضيفاً — هدف رئيسي لاستخراج البيانات المقيمة في الذاكرة — وما لا يقل عن ثلاثة خوادم تكشف سجلات المرضى عبر أداة "progress_note". اتسعت التهديد من تكوينات STDIO المحلية إلى خوادم MCP مُنشَرة في السحابة قابلة للوصول من الإنترنت. كثير من هذه الخوادم كشفت بيانات اعتماد مُضمَّنة في الكود، ونقاط نهاية الأدوات، ووصول النظام لأي شخص يستطيع بلوغ المنفذ.

BlueRock Security: 36.7% \u0645\u0646 \u0623\u0643\u062b\u0631 \u0645\u0646 7,000 \u062e\u0627\u062f\u0645 MCP \u0639\u0631\u0636\u0629 \u0644\u0644\u0625\u0635\u0627\u0628\u0629 \u0628\u0640 SSRF. \u062d\u0644\u0644 BlueRock Security \u0623\u0643\u062b\u0631 \u0645\u0646 7,000 \u062e\u0627\u062f\u0645 MCP \u0648\u0648\u062c\u062f \u0623\u0646 36.7% \u0639\u0631\u0636\u0629 \u0644\u0644\u0625\u0635\u0627\u0628\u0629 \u0628\u0640 Server-Side Request Forgery \u2014 \u0645\u062c\u0645\u0648\u0639\u0629 \u0623\u0643\u0628\u0631 \u0645\u0646 \u0645\u0633\u062d Trend Micro \u0644\u0640 1,467 \u062e\u0627\u062f\u0645 \u0645\u0643\u0634\u0648\u0641\u060c \u0648\u0641\u0626\u0629 \u062b\u063a\u0631\u0627\u062a \u0645\u062e\u062a\u0644\u0641\u0629. SSRF \u064a\u0633\u0645\u062d \u0644\u0644\u0645\u0647\u0627\u062c\u0645 \u0628\u0625\u062c\u0628\u0627\u0631 \u062e\u0627\u062f\u0645 MCP \u0639\u0644\u0649 \u0625\u0631\u0633\u0627\u0644 \u0637\u0644\u0628\u0627\u062a \u0625\u0644\u0649 \u0645\u0648\u0627\u0631\u062f \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u062f\u0627\u062e\u0644\u064a\u0629 \u0627\u0644\u062a\u064a \u064a\u0645\u0643\u0646 \u0627\u0644\u062e\u0627\u062f\u0645 \u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u064a\u0647\u0627 \u0644\u0643\u0646 \u0627\u0644\u0645\u0647\u0627\u062c\u0645 \u0644\u0627 \u064a\u0633\u062a\u0637\u064a\u0639 \u2014 \u0646\u0642\u0627\u0637 \u0646\u0647\u0627\u064a\u0629 \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0633\u062d\u0627\u0628\u0629\u060c \u0648\u0627\u0642\u0639\u0627\u062a API \u0627\u0644\u062f\u0627\u062e\u0644\u064a\u0629\u060c \u0642\u0648\u0627\u0639\u062f \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a. 36.7% \u0647\u0648 \u0627\u0644\u0625\u062d\u0635\u0627\u0621 \u0627\u0644\u062c\u062f\u064a\u062f \u0627\u0644\u0645\u062c\u0645\u0639 \u0644\u0644\u062b\u063a\u0631\u0627\u062a: \u0623\u0643\u062b\u0631 \u0645\u0646 \u0648\u0627\u062d\u062f \u0645\u0646 \u0643\u0644 \u062b\u0644\u0627\u062b\u0629 \u062e\u0648\u0627\u062f\u0645 MCP \u064a\u0645\u0643\u0646 \u062e\u062f\u0627\u0639\u0647\u0627 \u0644\u0627\u0633\u062a\u0643\u0634\u0627\u0641 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u062f\u0627\u062e\u0644\u064a\u0629. \u0644\u0646\u0634\u0631\u0627\u062a B2B\u060c \u0645\u062e\u0627\u0637\u0631 SSRF \u062d\u0627\u062f\u0629 \u0644\u0623\u0646 \u062e\u0648\u0627\u062f\u0645 MCP \u062a\u062a\u0645\u0644\u0643 \u0639\u0627\u062f\u0629 \u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u0623\u0646\u0638\u0645\u0629 \u062f\u0627\u062e\u0644\u064a\u0629 (ERP\u060c CRM\u060c \u0642\u0648\u0627\u0639\u062f \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0645\u062e\u0632\u0648\u0646) \u2014 \u062e\u0627\u062f\u0645 \u064a\u062c\u0644\u0628 \u0643\u062a\u0627\u0644\u0648\u063a \u0627\u0644\u0645\u0648\u0631\u062f\u064a\u0646 \u064a\u0645\u0643\u0646 \u0625\u0639\u0627\u062f\u0629 \u062a\u0648\u062c\u064a\u0647\u0647 \u0644\u062c\u0644\u0628 \u0646\u0642\u0637\u0629 \u0646\u0647\u0627\u064a\u0629 \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0633\u062d\u0627\u0628\u0629 \u0648\u062a\u0633\u0631\u064a\u0628 \u0627\u0644\u0627\u0639\u062a\u0645\u0627\u062f\u0627\u062a.

\u0638\u0647\u0631\u062a \u062b\u0644\u0627\u062b CVEs \u0625\u0636\u0627\u0641\u064a\u0629 \u0641\u064a \u0645\u0648\u062c\u0629 \u064a\u0648\u0644\u064a\u0648 2026\u060c \u0645\u0645\u0627 \u0648\u0633\u0639 \u062c\u062f\u0648\u0644 CVEs \u0625\u0644\u0649 \u0645\u0627 \u0648\u0631\u0627\u0621 \u062b\u063a\u0631\u0627\u062a SDK \u0627\u0644\u0631\u0633\u0645\u064a\u0629:

  • CVE-2025-68143 \u2014 \u0627\u062e\u062a\u0631\u0627\u0642 \u0627\u0644\u0645\u0633\u0627\u0631. \u062e\u0627\u062f\u0645 MCP \u064a\u0633\u0645\u062d \u0628\u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u062e\u0627\u0631\u062c \u0627\u0644\u062f\u0644\u064a\u0644 \u0627\u0644\u0645\u062a\u0648\u0642\u0639 \u0639\u0628\u0631 \u0645\u0639\u062a\u0645\u0627\u062a \u0645\u0633\u0627\u0631 \u0645\u0635\u0646\u0648\u0639\u0629\u060c \u0645\u0645\u0627 \u064a\u062a\u064a\u062d \u0642\u0631\u0627\u0621\u0629 \u0645\u0644\u0641\u0627\u062a \u0639\u0634\u0648\u0627\u0626\u064a\u0629 \u0639\u0644\u0649 \u0645\u0636\u064a\u0641 \u0627\u0644\u0648\u0643\u064a\u0644.
  • CVE-2025-68144 \u2014 \u062d\u0642\u0646 \u0627\u0644\u0648\u0633\u0627\u0626\u0637. \u0623\u062f\u0627\u0629 \u062a\u0642\u0628\u0644 \u0648\u0633\u0627\u0626\u0637 \u0633\u0637\u0631 \u0627\u0644\u0623\u0648\u0627\u0645\u0631 \u064a\u0645\u0643\u0646 \u0625\u062c\u0628\u0627\u0631\u0647\u0627 \u0639\u0644\u0649 \u062a\u0646\u0641\u064a\u0630 \u0627\u0644\u0639\u0644\u0627\u0645\u0627\u062a \u0627\u0644\u0625\u0636\u0627\u0641\u064a\u0629 \u0627\u0644\u062a\u064a \u0644\u0645 \u064a\u0642\u0635\u062f\u0647\u0627 \u0627\u0644\u0645\u0634\u063a\u0644\u060c \u0628\u0627\u0644\u062a\u062d\u0627\u0644\u0641 \u0639\u0645\u0644 allowlist STDIO \u0627\u0644\u0645\u0648\u062b\u0642 \u0641\u064a \u0645\u0639\u064a\u0627\u0631 OX Security \u0630\u064a \u0627\u0644\u0623\u0631\u0628\u0639\u0629 \u0642\u0648\u0627\u0639\u062f \u0623\u0639\u0644\u0627\u0647.
  • CVE-2025-68145 \u2014 \u0627\u0644\u062a\u0641\u0627\u0641\u064a \u0639\u0644\u0649 \u0646\u0637\u0627\u0642 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639\u0627\u062a. \u062e\u0627\u062f\u0645 \u064a\u062c\u0628 \u0623\u0646 \u064a\u0643\u0648\u0646 \u0645\u0642\u0635\u0648\u0631\u064b\u0627 \u0639\u0644\u0649 \u0645\u0633\u062a\u0648\u062f\u0639 \u0648\u0627\u062d\u062f \u064a\u0645\u0643\u0646\u0647 \u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u0645\u0633\u062a\u0648\u062f\u0639\u0627\u062a \u062e\u0627\u0631\u062c \u0646\u0637\u0627\u0642\u0647 \u0627\u0644\u0645\u0639\u0644\u0646\u060c \u0645\u0645\u0627 \u064a\u0643\u0634\u0641 \u0627\u0644\u0643\u0648\u062f \u0627\u0644\u062e\u0627\u0635 \u0648\u0627\u0644\u0623\u0633\u0631\u0627\u0631.

cyberdesserts.com \u0623\u0643\u062f \u0623\u0646 \u0645\u0631\u0627\u062c\u0639\u0629 \u0627\u0644\u0628\u0631\u0648\u062a\u0648\u0643\u0648\u0644 \u0627\u0644\u0624\u0627\u062e\u0630\u0629 \u0641\u064a 28 \u064a\u0648\u0644\u064a\u0648 2026 \u0644\u0627 \u062a\u063a\u0644\u0642 \u062b\u063a\u0631\u0629 \u0646\u0645\u0648\u0630\u062c \u0627\u0644\u062a\u0641\u0648\u064a\u0636 \u2014 \u0627\u0644\u062b\u063a\u0631\u0629 \u0627\u0644\u0647\u064a\u0643\u0644\u064a\u0629 \u0627\u0644\u062a\u064a \u062a\u0633\u0645\u062d \u0644\u0648\u0635\u0641 \u0623\u062f\u0627\u0629 \u0645\u062e\u062a\u0631\u0642\u0629 \u0623\u0648 \u0645\u062e\u0631\u062c\u0627\u062a \u0628\u0627\u062e\u062a\u0637\u0627\u0641 \u0633\u0644\u0648\u0643 \u0627\u0644\u0648\u0643\u064a\u0644 \u062a\u0633\u062a\u0645\u0631 \u0641\u064a \u0627\u0644\u0645\u0648\u0627\u0635\u0641\u0629 \u0627\u0644\u0646\u0647\u0627\u0626\u064a\u0629. \u0627\u0644\u062a\u0635\u0645\u064a\u0645 \u0627\u0644\u0644\u0627 \u0648\u0637\u0646\u064a \u064a\u062d\u0633\u0646 \u0627\u0644\u0643\u0641\u0627\u0621\u0629 \u0627\u0644\u062a\u0634\u063a\u064a\u0644\u064a\u0629 \u0644\u0643\u0646 \u0644\u0627 \u064a\u0639\u0627\u0644\u062c MCP03 (tool poisoning) \u0623\u0648 MCP06 (intent flow subversion) \u0623\u0648 MCP10 (context over-sharing). \u0637\u0628\u0642\u0629 \u0627\u0644\u062d\u0648\u0643\u0645\u0629 \u0644\u0627 \u062a\u0632\u0627\u0644 \u0645\u0633\u0624\u0648\u0644\u064a\u0629 \u0627\u0644\u0645\u0634\u063a\u0644 \u2014 \u0648\u0647\u0630\u0627 \u0627\u0644\u0645\u0639\u064a\u0627\u0631 \u0647\u0648 \u0639\u0642\u062f \u062a\u0646\u0641\u064a\u0630 \u062a\u0644\u0643 \u0627\u0644\u0645\u0633\u0624\u0648\u0644\u064a\u0629.

\u0645\u0644\u0627\u062d\u0638\u0627\u062a \u0627\u0644\u062a\u062d\u0648\u064a\u0644 \u0625\u0644\u0649 \u0627\u0644\u0645\u0648\u0627\u0635\u0641\u0629 \u0627\u0644\u0646\u0647\u0627\u0626\u064a\u0629 (28 \u064a\u0648\u0644\u064a\u0648 2026). \u062a\u0645 \u0646\u0634\u0631 \u0645\u0648\u0627\u0635\u0641\u0629 MCP 2026-07-28 \u0643\u0646\u0647\u0627\u0626\u064a\u0629 \u0645\u0639 \u0633\u064a\u0627\u0633\u0629 \u0625\u0642\u0627\u0641\u0627\u062a SSE \u0644\u0640 12 \u0634\u0647\u0631\u064b\u0627: \u0646\u0642\u0644 SSE \u0645\u0647\u062f\u0631 \u0648\u064a\u062c\u0628 \u0627\u0644\u0647\u062c\u0631\u0629 \u0625\u0644\u064a\u0647 \u0625\u0644\u0649 \u0646\u0642\u0644 Streamable HTTP \u062e\u0644\u0627\u0644 12 \u0634\u0647\u0631\u064b\u0627. \u0623\u0631\u0628\u0639 \u0645\u062c\u0645\u0648\u0639\u0627\u062a SDK \u0645\u0646 Tier 1 (Python\u060c TypeScript\u060c Java\u060c Kotlin) \u0623\u0635\u062f\u0631\u062a \u0646\u0633\u062e\u064b\u0627 \u0645\u062a\u0648\u0627\u0641\u0642\u0629. \u064a\u062c\u0628 \u0647\u062c\u0631\u0629 \u0627\u0644\u0648\u062d\u062f\u0627\u062a \u0627\u0644\u062a\u064a \u062a\u0633\u062a\u062e\u062f\u0645 \u0646\u0642\u0644 SSE\u061b \u0627\u0644\u0648\u062d\u062f\u0627\u062a \u0627\u0644\u062a\u064a \u062a\u0633\u062a\u062e\u062f\u0645 STDIO \u063a\u064a\u0631 \u0645\u062a\u0623\u062b\u0631\u0629. \u0627\u0644\u0647\u062c\u0631\u0629 \u0647\u064a \u062a\u063a\u064a\u064a\u0631 \u0641\u064a \u0637\u0628\u0642\u0629 \u0627\u0644\u0646\u0642\u0644 \u2014 \u0642\u0648\u0627\u0639\u062f \u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u0623\u062f\u0648\u0627\u062a \u0648\u0627\u0644\u062a\u0639\u0627\u0645\u0644 \u0645\u0639 \u0627\u0644\u0623\u062e\u0637\u0627\u0621 \u0648\u062d\u062f \u0627\u0644\u0645\u0639\u062f\u0644 \u0648\u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062a\u062f\u0642\u064a\u0642 \u0641\u064a \u0647\u0630\u0627 \u0627\u0644\u0645\u0639\u064a\u0627\u0631 \u0644\u0627 \u062a\u0639\u062a\u0645\u062f \u0639\u0644\u0649 \u0627\u0644\u0646\u0642\u0644. \u0639\u0642\u062f \u0627\u0644\u0648\u062d\u062f\u0629 \u0644\u0627 \u064a\u062a\u063a\u064a\u0631\u061b \u0645\u0627 \u064a\u062a\u063a\u064a\u0631 \u0647\u0648 \u0631\u0628\u0637 \u0627\u0644\u0646\u0642\u0644 \u0641\u0642\u0637.

""" } }

Process MCP Module Code Standard

for loc, data in mcp_mod_translations.items(): filepath = os.path.join(base, loc, "mcp-module-code-standard.md") with open(filepath, 'r', encoding='utf-8') as f: content = f.read()

# Update lastUpdated
content = content.replace('lastUpdated: 2026-07-25', 'lastUpdated: 2026-07-29')

marker = data["marker"]
if marker in content:
    content = content.replace(marker, data["section"] + marker, 1)
    with open(filepath, 'w', encoding='utf-8') as f:
        f.write(content)
    print(f"MCPModStd {loc} updated")
else:
    print(f"MCPModStd {loc} MARKER NOT FOUND: {marker[:30]}")

print("\nDone with MCP Module Code Standard") قواعد تحصين النشر:

1. لا تُعرِض خادم MCP أبدًا على واجهة عامة دون مصادقة. كل خادم MCP — سواء نقل STDIO أو SSE أو HTTP — يجب أن يطلب مصادقة (OAuth 2.1 مع PKCE، أو مفتاح API، أو mTLS). خادم قابل للوصول على 0.0.0.0:3000 دون مصادقة هو سطح تنفيذ كود عن بُعد، لا تسهيل تطوير.

2. اربط بـ localhost أو شبكة خاصة. تُربط خوادم MCP الإنتاجية بـ 127.0.0.1 أو شبكة فرعية خاصة. إن لزم وصول خارجي، فامرِر عبر وكيل عكسي مع مصادقة وتحديد معدل وإنهاء TLS — لا تعريض المنفذ مباشرة.

3. لا تُضمِّن بيانات الاعتماد أبدًا في ملفات تكوين MCP. وجد مسح Trend Micro مفاتيح API مُضمَّنة في الكود، وكلمات مرور قواعد البيانات، وأسرار OAuth في تكوينات خوادم MCP قابلة للوصول علنًا. يجب أن تأتي بيانات الاعتماد من متغيرات البيئة أو مدير أسرار — لا أبدًا من ملف JSON يستطيع المهاجم قراءته.

4. شفِّر كل النقل. STDIO محلي فقط بحكم التعريف، لكن نقلَي SSE وHTTP يجب أن يستخدما TLS. خادم HTTP بنص عادي على شبكة عامة يعرّض كل استدعاء أداة — بما في ذلك رموز المصادقة وPII — للاعتراض على مستوى الشبكة.

مسح Trend Micro هو المكمل من جانب النشر لاستشارة OX Security: الثغرات على مستوى الكود (STDIO غير مُنظَّف، تجاوزات قائمة السماح، حقن التكوين) تصبح قابلة للاستغلال عن بُعد عندما يُعرَض الخادم نفسه دون مصادقة. تحصين الكود دون تحصين النشر هو باب مُقفَل على شرفة مفتوحة.

تحديث — 2026-08-07: قابلية اكتشاف وحوكمة خوادم MCP — بُعد منتجات Black Hat 2026

قائمة منتجات Black Hat 2026 الكاملة (crn.com، 4 أغسطس 2026) تضيف بُعدًا جديدًا إلى معيار كود MCP: قابلية اكتشاف وحوكمة خوادم MCP. ثلاثة منتجات أُطلقت في Black Hat USA 2026 تعالج مباشرةً الفجوة بين معيار الكود (الذي يحكم كيفية كتابة وحدة) وواقع النشر (الذي يحكم عدد الوحدات الموجودة ومن يعرف عنها).

  1. Cyera Agent Guardian — اكتشاف خوادم MCP الظلية. معيار الكود يفترض أن كل وحدة MCP مسجلة وموثقة وتتبع هيكل الدليل وعقد الخطأ. منتج Cyera يكشف عن الفجوة: خوادم MCP ظلية لا تتبع معيار الكود موجودة في معظم المؤسسات. معيار الكود يحكم الوحدات المعتمدة؛ Cyera يكتشف غير المعتمدة.

  2. SailPoint Identity Security — دورة حياة هوية خوادم MCP. معيار الكود يحكم كيفية مصادقة الوحدة. منتج SailPoint يضيف بُعد دورة الحياة: كل خادم MCP لديه هوية يجب تزويدها وإثباتها وإلغاؤها عبر تدفق حوكمة الهوية. الوحدة التي تُرمّز بيانات الاعتماد بشكل ثابت لا يمكن حوكمتها عبر دورة حياة الهوية؛ الوحدة التي تستخدم OAuth 2.1 مع بيانات اعتماد مُدارة يمكن ذلك.

  3. Check Point AI Network Firewall — مراقبة اتصالات MCP على مستوى الشبكة. معيار الكود يحكم ما تسجله الوحدة على مستوى التطبيق. منتج Check Point يضيف بُعد مستوى الشبكة: قناة اتصال MCP أصبحت الآن قابلة للمراقبة على مستوى الشبكة. الوحدة التي لا تسجل استدعاءات أدواتها على مستوى التطبيق يمكن مراقبتها على مستوى الشبكة، ولكن الوحدة التي تسجل على كلا المستويين هي التي تنتج مسار تدقيق كامل.

منتجات اكتشاف خوادم MCP في Black Hat 2026 تضيف بُعد "قابلية الاكتشاف والحوكمة" إلى معيار الكود: الوحدة التي تتبع هيكل الدليل وعقد الخطأ وقواعد الأمان هي وحدة مكتوبة جيدًا، ولكن الوحدة المسجلة أيضًا في منصة حوكمة الهوية (SailPoint)، والقابلة للاكتشاف بأداة كشف الخوادم الظلية (Cyera)، والمراقبة على مستوى الشبكة (Check Point) هي وحدة محوكمة جيدًا. معيار الكود هو الأساس؛ منتجات Black Hat 2026 هي طبقة الحوكمة فوقه.

تحديث — 2026-08-08: Skill/Plugin Security Scanning — تخفيف سلسلة التوريد من جانب المزوّد

أطلقت Anthropic خدمة Skill/Plugin Security Scanning في 6 أغسطس 2026 — أول تخفيف لسلسلة التوريد من جانب مزوّد النموذج لخوادم أدوات الطرف الثالث. يفحص المسح تحميلات Claude Code من الطرف الثالث (المهارات والإضافات) بحثاً عن محتوى ضار قبل وصولها إلى السوق. هذا هو المكمل من جانب المزوّد للمسح الذي يجريه المشغّل على تعريفات أدواته الخاصة: التحكم 10 (الدفاع ضد تسميم الأدوات) يحكم المسح الذي تجريه؛ Skill/Plugin Scanning يحكم ما يفعله مزوّد النموذج في سوقه.

هل تريد هذا مبنياً لأنظمتك؟

كل وثيقة هنا من عمل إنتاجي حقيقي. إذا كان لديك نظام مُستهدَف وسير عمل في الذهن، نستطيع تحديد نطاق بناء في أسبوع واحد.

اطلب بناءً محدد النطاق

اكتشاف مدته أسبوع واحد. تحصل على جرد للأنظمة وخريطة لسير العمل ونطاق ثابت — سواء بنيت معنا أم لا.