اختبار اختراق MCP المنهجية وتوثيق الأدلة

نفحص عمليات نشر MCP بشكل منظّم وفق OWASP MCP Top 10 – من الحصر (Enumeration) مرورًا بتنفيذ الاختبارات وحتى توثيق أدلة متينة. وتتوفر القائمة كإصدار v0.1 (Beta) وتُستخدم كإطار هيكلي، لا كمعيار فحص يتضمن بيانًا بالمطابقة.

آخر تحديث: أغسطس 2026 · Valeri Milke, Lead Auditor لمعياري ISO 27001 وISO 42001

لا يفحص اختبار اختراق MCP نقطة نهاية واحدة، بل منظومة متكاملة: خادم MCP، والعميل أو المضيف، والبوابة (Gateway) بينهما. تفترض اختبارات API وتطبيقات الويب التقليدية سلوكًا حتميًا – المدخل نفسه يعطي المخرج نفسه. ويكسر MCP هذا الافتراض، لأن الأدوات وفق المواصفة يتحكم بها النموذج، وتعمل بصلاحيات مفوّضة من المستخدم، وتفتح صراحةً مسارات عشوائية للوصول إلى البيانات والتنفيذ. ووجدت دراسة تجريبية شملت 1,899 خادم MCP مفتوح المصدر ثماني فئات واضحة من الثغرات الأمنية، ثلاث منها فقط تتداخل مع ثغرات البرمجيات التقليدية – فالأدوات وحالات الاختبار المألوفة وحدها لا تكفي هنا.

أهم النقاط في لمحة

01

تحديد النطاق والحصر

تبدأ العملية بتحديد موضوع الفحص: النقل (stdio أو Streamable HTTP أو مسار HTTP+SSE الملغى)، ومراجعة البروتوكول، والأطراف الثلاثة: الخادم والعميل/المضيف والبوابة. فالمراجعة وحدها هي التي تحدد أيّ فئات الهجوم موجودة أصلًا – فاختطاف الجلسات عبر ترويسة Mcp-Session-Id مثلًا لم يعد موجودًا في المراجعة ⁦2026-07-28⁩، وفي المقابل تُضاف State-Handles والتحقق من تطابق الترويسة مع المتن (Header-Body). نحصر كل خادم وكل أداة مع تعريفها الكامل وكل بيانات اعتماد وكل نظام هدف يمكن الوصول إليه عبرها، ونحدد مسبقًا كتابيًا بأيّ هويات اختبار ونطاقات (Scopes) سنعمل، لأن tools/list قد يختلف بحسب التفويض المقدَّم. وتنتمي أدوات الفحص أيضًا إلى تحديد النطاق: فقد كان MCP Inspector – أداة الاختبار الرسمية للمشروع – نفسه موضوع ثغرة أمنية حرجة هي CVE-2025-49596، لم تُعالَج إلا في الإصدار 0.14.1؛ لذا يجب توثيق إصداره وإيراده في التقرير.

02

الهوية والصلاحيات (MCP07، MCP02)

نفحص هنا وفق متطلبات معيارية لا وفق الذوق: يجب أن ينتهي استدعاء أداة دون رمز أو برمز غير صالح بالرمز 401 مع ترويسة WWW-Authenticate صحيحة، ويجب أن تكون سلسلة الاكتشاف (Discovery) موجودة ومربوطة بشكل صحيح. ويجب التمييز هنا: فبيانات Protected Resource Metadata وفق RFC 9728 إلزامية لخوادم MCP، أما لخادم التفويض فيكفي اختياريًا RFC 8414 أو OpenID Connect Discovery 1.0 – ومن يفحص وفق RFC 8414 فقط ينتج نتيجة خاطئة مع خوادم OIDC. وتتوقع المواصفة لعناوين OAuth استخدام HTTPS خارج عناوين Loopback. وحالة الاختبار المحورية هي فحص الجمهور (Audience)، لأن المواصفة تحظر صراحةً تمرير الرموز (Token-Passthrough) – فلا يجوز للخادم قبول رموز لم تُصدر له. وفي البنى القائمة على الوكيل (Proxy) يُضاف مسار Confused Deputy: صفحة موافقة مستقلة لكل عميل، ومقارنة نصية دقيقة لـ redirect_uri دون أحرف بدل (Wildcards)، ومعامل state مُولَّد تشفيريًا ويُستخدم مرة واحدة. ونفحص كذلك تقليل النطاقات: نطاقات Wildcard أو Omnibus، والصلاحيات المجمّعة، والخوادم التي تثق في ادعاء Scope داخل الرمز دون أن تجري التفويض بنفسها.

03

تعريفات الأدوات: Poisoning وShadowing وRug Pull (MCP03)

أوصاف الأدوات وتوثيق المعاملات ومخططات JSON هي قناة تعليمات يقرؤها النموذج باعتبارها موثوقة، ولا يراها الإنسان في الواجهة كاملةً في العادة. ننشئ أولًا خط أساس: إذ يُحسب لكل تعريف من tools/list وresources/list وprompts/list تجزئة (Hash) لكل حقل على حدة، ويُستخدم كمرجع للمقارنات اللاحقة. تليها ثلاثة فحوص – مقارنة النص الظاهر في العميل بالوصف الفعلي المُمرَّر إلى النموذج، واختبار Rug Pull المضبوط في بيئة الاختبار (إذا تغيّر تعريف سبقت الموافقة عليه، يجب على المضيف طلب الموافقة مجددًا أو الإبلاغ عن التغيير)، واختبار Shadowing بخادمين متصلين بالتوازي يقدّمان أدوات بالاسم نفسه أو متداخلة وظيفيًا. وهذه الفئة مثبتة عمليًا: ففي CVE-2025-54136 في Cursor أصبحت التغييرات على إعدادات MCP سبقت الموافقة عليها سارية دون موافقة جديدة.

04

حقن الموجّهات غير المباشر عبر مخرجات الأدوات (MCP06)

ليس الوصف وحده، بل جانب الإرجاع أيضًا سطح هجوم: إذ تُلزم المواصفة الخوادم صراحةً بتنقية مخرجات الأدوات (MUST)، وتوصي العملاء بالتحقق من نتائج الأدوات قبل تمريرها إلى النموذج (SHOULD) – ويجب أن تعكس صياغة النتيجة المتطلب الأضعف على جانب العميل. نحصر أولًا جميع القنوات التي يصل عبرها محتوى خارجي إلى السياق – ردود الأدوات، والصفحات والمستندات المسترجعة، ومحتويات المستودعات، والتذاكر، وصناديق البريد، والذاكرة المحفوظة – وندرج في كل قناة علامة غير ضارة يمكن تتبعها بوضوح، لملاحظة ما إذا كان الوكيل يعاملها كتعليمات أم كبيانات. ويُفحص في ذلك سؤال معماري جوهري: هل يوجد فصل في المصدر بين التعليمات والبيانات، أم ينتهي الاثنان في نافذة السياق نفسها؟ وإذا اجتمع لدى وكيل في آن واحد الوصول إلى بيانات حساسة ومعالجة محتوى غير موثوق وإمكانية التواصل الخارجي – أي Lethal Trifecta وفق Simon Willison –، فإن النتيجة تكون مبرَّرة معماريًا بالفعل، حتى دون عرض توضيحي ناجح منفرد.

05

النقل والتنفيذ وسلسلة التوريد (MCP05، MCP04، MCP09)

تسري على النقل متطلبات صارمة: يجب على الخوادم التحقق من ترويسة Origin للاتصالات الواردة، وينبغي أن ترتبط النسخ العاملة محليًا بـ 127.0.0.1 بدلًا من 0.0.0.0 – وإلا تكفي زيارة صفحة ويب للتواصل مع خادم محلي عبر DNS-Rebinding. نفحص التحقق من جانب الخادم مقابل المخطط المُعلَن، والتعامل مع العناوين في مسار OAuth-Discovery (النطاقات الخاصة وLink-Local، وسلاسل إعادة التوجيه، وDNS-Rebinding كسيناريو TOCTOU)، إضافةً إلى العزل (Sandboxing) والتحكم في حركة الخروج (Egress) لتنفيذ الأدوات؛ فمجرد إثبات أن مُدخلًا يصل إلى مفسّر دون فحص يُعدّ نتيجة بحد ذاته. وعلى جانب سلسلة التوريد نطابق بين إدخال السجل (Registry) والمستودع والمشرف (Maintainer)، ونفحص تثبيت الإصدارات (Version-Pinning) والتواقيع وبوابات الموافقة على التحديثات – فتسميات مثل «official» أو «verified» ليست دليلًا على الثقة، كما أظهرت CVE-2025-6514 في الحزمة الواسعة الانتشار mcp-remote (الإصدارات المتأثرة من 0.0.5 حتى 0.1.15، والمعالجة في 0.1.16). ويُضاف إلى ذلك البحث عن الخوادم الخفية (Shadow Servers) عبر فحوص المستودعات ونقاط النهاية، وفحوص شبكية متكررة مع تقرير بالفروقات، والتحليل عند البوابة، لأن هناك يُقاس أيّ الخوادم يتصل بها الوكيل فعليًا – وليس فقط أيّها مذكور في الإعدادات.

06

القياس عن بُعد وتوثيق الأدلة والتقرير (MCP08)

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

المعايير والمصادر

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

OWASP Foundation · 2026

OWASP Top 10 for Model Context Protocol، الإصدار v0.1 (Beta)

مشروع حاضنة في المرحلة 3 من خارطة الطريق («Beta Release and Pilot Testing»)، يُدار صراحةً كوثيقة حية (Living Document)، بترخيص CC BY-NC-SA 4.0. ليس مخططًا للاعتماد ولا دليلًا للاختبار: تقدّم القائمة أوصافًا للمخاطر، ونستمد منهجية الفحص من مصادر معيارية. ويُدرج MCP06 بحسب طريقة العرض باسم «Intent Flow Subversion» أو «Prompt Injection via Contextual Payloads».

Model Context Protocol · 2026

Model Context Protocol – Security Best Practices وAuthorization Specification

توفّر متطلبات MUST/SHOULD المعيارية التي نفحص على أساسها: Confused Deputy، وحظر Token-Passthrough، وSSRF عند اكتشاف بيانات OAuth الوصفية، والتعامل مع الجلسات وState-Handles، والتحقق من Origin، وتقليل النطاقات. المراجعة الحالية ⁦2026-07-28⁩؛ وتحمل المراجعات الأقدم فئات هجوم مختلفة ويجب تسميتها عند تحديد النطاق.

OWASP GenAI Security Project · 2026

دليل عملي لتطوير خوادم MCP آمنة (A Practical Guide for Secure MCP Server Development)

فبراير 2026. يتضمن قائمة المراجعة «MCP Security Minimum Bar» بخمسة مجالات: الهوية والمصادقة وفرض السياسات، والعزل الصارم والتحكم في دورة الحياة، والأدوات الموثوقة والمضبوطة، والتحقق القائم على المخططات، والنشر المُحصَّن مع المراقبة المستمرة. نستخدم قائمة المراجعة كمعيار مرجعي لنتائج الإعدادات والبنية.

وكالة الأمن القومي الأمريكية (NSA) · 2026

ورقة معلومات الأمن السيبراني – Model Context Protocol (MCP): اعتبارات التصميم الأمني للأتمتة المدفوعة بالذكاء الاصطناعي، الإصدار 1.0 (Cybersecurity Information Sheet)

مايو 2026، U/OO/6030316-26. تعتبر غياب سجلات التدقيق مشكلة أمنية مستقلة، وتطالب بتسجيل كل استدعاء للأدوات والنماذج مع المعاملات والهوية الكامنة وراءه وتمريره إلى نظام SIEM، وتوصي بفحص الشبكة بحثًا عن خوادم MCP مفتوحة لاكتشاف النسخ غير الموثّقة أو المعرّضة للثغرات أو غير المعتمدة قبل أن يجدها مهاجم.

Invariant Labs · 2025

إشعار أمني بشأن MCP: هجمات تسميم الأدوات (MCP Security Notification: Tool Poisoning Attacks)

أول وصف لـ Tool Poisoning وRug Pull وTool Shadowing، بما في ذلك عدم التماثل بين العرض في الواجهة والوصف الذي يتلقاه النموذج. والإجراء المضاد الموصى به – تثبيت الإصدارات مع مجاميع اختبارية (Checksums) لتعريفات الأدوات – هو في الوقت نفسه أساس منهجيتنا القائمة على خط الأساس والمقارنة (Baseline-and-Diff).

Wang et al. (arXiv) · 2025

MCPTox: معيار قياس لهجمات تسميم الأدوات على خوادم MCP حقيقية (arXiv:2508.14925)

معيار قياس يشمل 45 خادم MCP حقيقيًا و353 أداة فعلية و20 وكيل LLM: تتفاوت معدلات النجاح بشدة، بينما تبقى معدلات الرفض باستمرار دون ثلاثة بالمئة. وهو دليل على أن النتائج على مستوى الموجّهات يجب الإبلاغ عنها كنسبة نجاح عبر عدة تشغيلات لكل نموذج وعميل، بدلًا من تصنيف ثنائي «معرّض/غير معرّض».

افحصوا عمليات نشر MCP لديكم بأسلوب هجومي

نختبر خوادم MCP والعملاء والبوابات لديكم وفق OWASP MCP Top 10 والمتطلبات المعيارية للمواصفة – مع أدلة قابلة لإعادة الإنتاج وتصنيف حسب المستوى وإعادة اختبار. تواصلوا معنا لتحديد النطاق وتقدير الجهد.