MCP (نموذج بروتوكول السياق)النظام حاليًا في مرحلة التطوير المبكرة، والبيئة العامة فوضوية إلى حد ما، وطرق الهجوم المحتملة تظهر باستمرار، مما يجعل تصميم البروتوكولات والأدوات الحالية صعبًا في الدفاع الفعال. للمساعدة في تمكين المجتمع من فهم وتعزيز أمان MCP بشكل أفضل، قامت Slow Mist بفتح مصدر أداة MasterMCP، وتأمل من خلال تنفيذ هجمات فعلية أن تساعد في اكتشاف الثغرات الأمنية في تصميم المنتج، وبالتالي تعزيز مشروع MCP تدريجيًا.
ستأخذ هذه المقالة الجميع في عرض عملي للطرق الشائعة للهجمات ضمن نظام MCP، مثل تسميم المعلومات، وإخفاء التعليمات الضارة، وغيرها من الحالات الحقيقية. سيتم أيضًا فتح مصدر جميع نصوص العرض، بحيث يمكن للجميع إعادة إنتاج العملية بالكامل في بيئة آمنة، وحتى تطوير إضافات اختبار هجوم خاصة بهم بناءً على هذه النصوص.
نظرة عامة على الهيكل العام
هجوم الهدف MCP:Toolbox
smithery.ai هو واحد من أشهر مواقع ملحقات MCP الحالية، ويجمع عددًا كبيرًا من قوائم MCP والمستخدمين النشطين. من بينها @smithery/toolbox هو أداة إدارة MCP التي أطلقتها smithery.ai رسميًا.
اختيار Toolbox كهدف للاختبار، بناءً على النقاط التالية:
قاعدة المستخدمين كبيرة وتمثل.
يدعم التثبيت التلقائي لمكونات إضافية أخرى، ويكمل بعض وظائف العميل ( مثل Claude Desktop )
يحتوي على إعدادات حساسة ( مثل مفتاح API )، مما يسهل العرض
عرض الاستخدام الضار MCP: MasterMCP
MasterMCP هو أداة محاكاة خبيثة MCP تم تطويرها بواسطة SlowMist لاختبار الأمان، وتعتمد على تصميم هيكل إضافي، وتحتوي على الوحدات الرئيسية التالية:
خدمات الموقع المحلي المحاكية:
لإعادة تمثيل سيناريو الهجوم بشكل أكثر واقعية، يحتوي MasterMC على وحدة محاكاة خدمة المواقع المحلية. يقوم بسرعة بإنشاء خادم HTTP بسيط من خلال إطار عمل FastAPI، لمحاكاة بيئات الويب الشائعة. تبدو هذه الصفحات طبيعية على السطح، مثل عرض معلومات متجر الكعك أو إرجاع بيانات JSON قياسية، لكن في الحقيقة تحتوي شفرة الصفحة أو ردود الواجهة على حمولة خبيثة مصممة بعناية.
بنية MCP القابلة للتوصيل محليًا
يستخدم MasterMCP طريقة موديولية للتوسع، مما يسهل إضافة طرق هجوم جديدة بسرعة في المستقبل. بعد التشغيل، سيقوم MasterMCP بتشغيل خدمة FastAPI للوحدة السابقة في عملية فرعية. ( هنا توجد ثغرة أمنية - يمكن للمكونات الإضافية المحلية بدء عمليات فرعية غير متوقعة من MCP ).
عميل العرض
Cursor: واحدة من أكثر بيئات تطوير البرمجيات المساعدة بالذكاء الاصطناعي شعبية في العالم
كلود ديسكتوب: أنثروبيك ( بروتوكول MC المخصص ) العميل الرسمي
نموذج كبير للاستخدام التجريبي
كلود 3.7
اختر النسخة 3.7 من Claude، لأنها قد أحرزت بعض التحسينات في التعرف على العمليات الحساسة، بينما تمثل قدرة تشغيل قوية في النظام البيئي الحالي لـ MCP.
استدعاء خبيث عبر MCP
تتضمن هذه العرض محتويين: تسميم واستدعاء خبيث عبر Cross-MCP.
هجوم تسميم محتوى الويب
حقن السم بطريقة التعليق
يمكنك الوصول إلى موقع الاختبار المحلي بواسطة Cursor.
هذه صفحة "Delicious Cake World" التي تبدو غير ضارة، من خلال هذه التجربة، نعرض محاكاة لتأثير وصول عميل النموذج الكبير إلى موقع ويب ضار.
تنفيذ التعليمات:
احصل على محتوى
أظهرت النتائج أن Cursor لم يقرأ محتوى الصفحة فقط، بل أعاد أيضًا إرسال بيانات التكوين الحساسة المحلية إلى خادم الاختبار. في الكود المصدر، تم تضمين الكلمات الرئيسية الضارة على شكل تعليقات HTML.
على الرغم من أن أسلوب التعليق واضح نسبيًا وسهل التعرف عليه، إلا أنه يمكن أن يؤدي بالفعل إلى تنفيذ عمليات ضارة.
تسميم التعليقات من نوع التشفير
قم بزيارة صفحة /encode، وهي صفحة تبدو مشابهة للصفحة السابقة، ولكن تم تشفير الكلمات الدلالية الضارة فيها، مما يجعل عملية التسميم أكثر خفاءً، حتى عند زيارة شفرة المصدر للصفحة، قد يكون من الصعب اكتشافها بشكل مباشر.
حتى لو لم يحتوي الشيفرة المصدرية على كلمات تحذير واضحة، فإن الهجوم لا يزال ينفذ بنجاح.
معلومات عودة أداة MC
وفقًا لتعليمات كلمة التنبيه MasterMCP، أدخل الأمر المحاكي (، هذا الأمر ليس له معنى فعلي، ويهدف إلى تحفيز MCP الخبيث لإظهار خطواته التالية ):
احصل على الكثير من التفاح
يمكنك أن ترى أنه بعد تنفيذ الأمر، قام العميل باستدعاء Toolbox عبر MCP وأضف بنجاح خادم MCP جديد.
عند النظر في كود المكون الإضافي، يمكن أن نرى أن البيانات العائدة تحتوي بالفعل على حمولة ضارة تمت معالجتها وترميزها، مما يجعل من الصعب على المستخدمين اكتشاف أي شذوذ.
هجوم تلوث واجهة الطرف الثالث
تتعلق هذه العرض بشكل أساسي بالتذكير بأنه، سواء كانت MCP خبيثة أو غير خبيثة، عند استدعاء واجهة برمجة التطبيقات الخاصة بالجهات الخارجية، إذا تم إرجاع بيانات الجهات الخارجية مباشرة إلى السياق، فقد يكون لذلك تأثير خطير.
تنفيذ الطلب:
استرجع json من /api/data
نتيجة: تم زرع كلمات تحذيرية خبيثة في بيانات JSON التي تم إرجاعها وتم تفعيل التنفيذ الخبيث بنجاح.
تقنية التسمم في مرحلة إعداد MCP
تتضمن هذه العرض حقن الكلمات المفتاحية الأولية وصراع الأسماء.
هجوم تغطية الدالة الخبيثة
هنا كتب MasterMCP أداة بنفس اسم الدالة remove_server المستخدمة في Toolbox، وقام بتشفير كلمات التحذير الضارة.
تنفيذ الأمر:
إزالة أدوات استرجاع ملحق الخادم
لم يستدعِ Claude Desktop الطريقة الأصلية remove_server من toolbox، بل تم تفعيل الطريقة التي تحمل نفس الاسم المقدمة من MasterMCP.
المبدأ هو التأكيد على أن "الطرق الأصلية قد تم إلغاؤها"، مما يحفز بشكل أساسي النماذج الكبيرة على استدعاء دوال التغطية الخبيثة.
إضافة منطق فحص عالمي ضار
هنا كتب MasterMCP أداة للbanana، والغرض الأساسي منها هو إجبار جميع الأدوات على تنفيذ هذه الأداة لإجراء فحص الأمان قبل تشغيلها.
قبل تنفيذ الوظيفة في كل مرة، يقوم النظام أولا باستدعاء آلية فحص الموز.
هذا هو حقن المنطق العالمي الذي يتم تحقيقه من خلال التأكيد المتكرر في الكود على "يجب تشغيل فحص الموز".
تقنيات متقدمة لإخفاء الكلمات الدلالية الضارة
طريقة ترميز صديقة للنماذج الكبيرة
نظرًا لامتلاك نموذج اللغة الكبير ( LLM ) لقدرة تحليل قوية على التنسيقات متعددة اللغات، فقد تم استغلال ذلك لإخفاء المعلومات الضارة، ومن الطرق الشائعة المستخدمة ما يلي:
في بيئة اللغة الإنجليزية: استخدم ترميز Hex Byte
في بيئة الصينية: استخدم ترميز NCR أو ترميز JavaScript
آلية رجوع الحمولة الضارة العشوائية
كما ذُكر في الفصل الثاني من تلوث واجهة الطرف الثالث، عند الطلب /random:
كل مرة يتم فيها إرجاع صفحة تحتوي على حمولة خبيثة بشكل عشوائي، مما يزيد بشكل كبير من صعوبة الكشف والتتبع.
ملخص
من خلال العرض العملي لـ MasterMCP، رأينا بشكل مباشر مختلف الثغرات الأمنية المخفية في نظام Model Context Protocol (MCP). من حقن كلمات المرور البسيطة، إلى استدعاءات MCP المتقاطعة، وصولًا إلى هجمات مرحلة التهيئة الأكثر خفاءً وإخفاء التعليمات الضارة، كل مرحلة تذكرنا بأن نظام MCP على الرغم من قوته، إلا أنه هش أيضًا.
خاصة في الوقت الحاضر حيث تتعامل النماذج الكبيرة بشكل متزايد مع المكونات الإضافية الخارجية وواجهات برمجة التطبيقات (API)، يمكن أن يؤدي تلوث المدخلات الطفيف إلى مخاطر أمان على مستوى النظام بأكمله. كما أن تنوع أساليب المهاجمين، مثل تشفير (، والتلوث العشوائي، وتغطية الدوال )، يعني أن أساليب الحماية التقليدية تحتاج إلى تحديث شامل.
الأمان لم يكن يومًا شيئًا يتم تحقيقه بين عشية وضحاها.
نأمل أن تكون هذه العرض بمثابة جرس إنذار للجميع: سواء كان المطورون أو المستخدمون، يجب أن يظلوا يقظين بما فيه الكفاية تجاه نظام MCP، مع الانتباه لكل تفاعل، وكل سطر من التعليمات البرمجية، وكل قيمة مرجعة. فقط من خلال التعامل مع كل تفاصيل بدقة، يمكننا بناء بيئة MCP قوية وآمنة.
في الخطوة التالية، سنواصل تحسين نصوص MasterMCP، وفتح المزيد من حالات الاختبار المستهدفة، لمساعدة الجميع على فهم وتعميق ممارسة وتعزيز الحماية في بيئة آمنة.
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تسجيلات الإعجاب 23
أعجبني
23
7
إعادة النشر
مشاركة
تعليق
0/400
EthSandwichHero
· 07-18 06:35
هذه الطريقة القديمة، تصبح أكثر عرضة للهجوم، أليس كذلك؟
شاهد النسخة الأصليةرد0
gas_guzzler
· 07-16 22:51
MCP ينظر إلى الخطر اركض للهروب
شاهد النسخة الأصليةرد0
faded_wojak.eth
· 07-15 19:06
أرى كل حيل منزلكmcp
شاهد النسخة الأصليةرد0
PanicSeller
· 07-15 19:06
حمقى还没 خَدَاع الناس لتحقيق الربح完就这么放手了?
شاهد النسخة الأصليةرد0
LiquiditySurfer
· 07-15 19:01
أمان البلوكتشين يحتاج أيضًا إلى ضبط نقطة الرفع المثلى للتصفح~ الوضع الحالي الفوضوي لا يكفي لتبريد حتى المارتيني مع الثلج.
عرض عملي لمخاطر الأمان في نظام MCP: من التسمم إلى التلاعب الخفي
التسمم الخفي والتلاعب في نظام MCP: عرض عملي
MCP (نموذج بروتوكول السياق)النظام حاليًا في مرحلة التطوير المبكرة، والبيئة العامة فوضوية إلى حد ما، وطرق الهجوم المحتملة تظهر باستمرار، مما يجعل تصميم البروتوكولات والأدوات الحالية صعبًا في الدفاع الفعال. للمساعدة في تمكين المجتمع من فهم وتعزيز أمان MCP بشكل أفضل، قامت Slow Mist بفتح مصدر أداة MasterMCP، وتأمل من خلال تنفيذ هجمات فعلية أن تساعد في اكتشاف الثغرات الأمنية في تصميم المنتج، وبالتالي تعزيز مشروع MCP تدريجيًا.
ستأخذ هذه المقالة الجميع في عرض عملي للطرق الشائعة للهجمات ضمن نظام MCP، مثل تسميم المعلومات، وإخفاء التعليمات الضارة، وغيرها من الحالات الحقيقية. سيتم أيضًا فتح مصدر جميع نصوص العرض، بحيث يمكن للجميع إعادة إنتاج العملية بالكامل في بيئة آمنة، وحتى تطوير إضافات اختبار هجوم خاصة بهم بناءً على هذه النصوص.
نظرة عامة على الهيكل العام
هجوم الهدف MCP:Toolbox
smithery.ai هو واحد من أشهر مواقع ملحقات MCP الحالية، ويجمع عددًا كبيرًا من قوائم MCP والمستخدمين النشطين. من بينها @smithery/toolbox هو أداة إدارة MCP التي أطلقتها smithery.ai رسميًا.
اختيار Toolbox كهدف للاختبار، بناءً على النقاط التالية:
عرض الاستخدام الضار MCP: MasterMCP
MasterMCP هو أداة محاكاة خبيثة MCP تم تطويرها بواسطة SlowMist لاختبار الأمان، وتعتمد على تصميم هيكل إضافي، وتحتوي على الوحدات الرئيسية التالية:
لإعادة تمثيل سيناريو الهجوم بشكل أكثر واقعية، يحتوي MasterMC على وحدة محاكاة خدمة المواقع المحلية. يقوم بسرعة بإنشاء خادم HTTP بسيط من خلال إطار عمل FastAPI، لمحاكاة بيئات الويب الشائعة. تبدو هذه الصفحات طبيعية على السطح، مثل عرض معلومات متجر الكعك أو إرجاع بيانات JSON قياسية، لكن في الحقيقة تحتوي شفرة الصفحة أو ردود الواجهة على حمولة خبيثة مصممة بعناية.
يستخدم MasterMCP طريقة موديولية للتوسع، مما يسهل إضافة طرق هجوم جديدة بسرعة في المستقبل. بعد التشغيل، سيقوم MasterMCP بتشغيل خدمة FastAPI للوحدة السابقة في عملية فرعية. ( هنا توجد ثغرة أمنية - يمكن للمكونات الإضافية المحلية بدء عمليات فرعية غير متوقعة من MCP ).
عميل العرض
نموذج كبير للاستخدام التجريبي
اختر النسخة 3.7 من Claude، لأنها قد أحرزت بعض التحسينات في التعرف على العمليات الحساسة، بينما تمثل قدرة تشغيل قوية في النظام البيئي الحالي لـ MCP.
استدعاء خبيث عبر MCP
تتضمن هذه العرض محتويين: تسميم واستدعاء خبيث عبر Cross-MCP.
هجوم تسميم محتوى الويب
يمكنك الوصول إلى موقع الاختبار المحلي بواسطة Cursor.
هذه صفحة "Delicious Cake World" التي تبدو غير ضارة، من خلال هذه التجربة، نعرض محاكاة لتأثير وصول عميل النموذج الكبير إلى موقع ويب ضار.
تنفيذ التعليمات:
احصل على محتوى
أظهرت النتائج أن Cursor لم يقرأ محتوى الصفحة فقط، بل أعاد أيضًا إرسال بيانات التكوين الحساسة المحلية إلى خادم الاختبار. في الكود المصدر، تم تضمين الكلمات الرئيسية الضارة على شكل تعليقات HTML.
على الرغم من أن أسلوب التعليق واضح نسبيًا وسهل التعرف عليه، إلا أنه يمكن أن يؤدي بالفعل إلى تنفيذ عمليات ضارة.
قم بزيارة صفحة /encode، وهي صفحة تبدو مشابهة للصفحة السابقة، ولكن تم تشفير الكلمات الدلالية الضارة فيها، مما يجعل عملية التسميم أكثر خفاءً، حتى عند زيارة شفرة المصدر للصفحة، قد يكون من الصعب اكتشافها بشكل مباشر.
حتى لو لم يحتوي الشيفرة المصدرية على كلمات تحذير واضحة، فإن الهجوم لا يزال ينفذ بنجاح.
معلومات عودة أداة MC
وفقًا لتعليمات كلمة التنبيه MasterMCP، أدخل الأمر المحاكي (، هذا الأمر ليس له معنى فعلي، ويهدف إلى تحفيز MCP الخبيث لإظهار خطواته التالية ):
احصل على الكثير من التفاح
يمكنك أن ترى أنه بعد تنفيذ الأمر، قام العميل باستدعاء Toolbox عبر MCP وأضف بنجاح خادم MCP جديد.
عند النظر في كود المكون الإضافي، يمكن أن نرى أن البيانات العائدة تحتوي بالفعل على حمولة ضارة تمت معالجتها وترميزها، مما يجعل من الصعب على المستخدمين اكتشاف أي شذوذ.
هجوم تلوث واجهة الطرف الثالث
تتعلق هذه العرض بشكل أساسي بالتذكير بأنه، سواء كانت MCP خبيثة أو غير خبيثة، عند استدعاء واجهة برمجة التطبيقات الخاصة بالجهات الخارجية، إذا تم إرجاع بيانات الجهات الخارجية مباشرة إلى السياق، فقد يكون لذلك تأثير خطير.
تنفيذ الطلب:
استرجع json من /api/data
نتيجة: تم زرع كلمات تحذيرية خبيثة في بيانات JSON التي تم إرجاعها وتم تفعيل التنفيذ الخبيث بنجاح.
تقنية التسمم في مرحلة إعداد MCP
تتضمن هذه العرض حقن الكلمات المفتاحية الأولية وصراع الأسماء.
هجوم تغطية الدالة الخبيثة
هنا كتب MasterMCP أداة بنفس اسم الدالة remove_server المستخدمة في Toolbox، وقام بتشفير كلمات التحذير الضارة.
تنفيذ الأمر:
إزالة أدوات استرجاع ملحق الخادم
لم يستدعِ Claude Desktop الطريقة الأصلية remove_server من toolbox، بل تم تفعيل الطريقة التي تحمل نفس الاسم المقدمة من MasterMCP.
المبدأ هو التأكيد على أن "الطرق الأصلية قد تم إلغاؤها"، مما يحفز بشكل أساسي النماذج الكبيرة على استدعاء دوال التغطية الخبيثة.
إضافة منطق فحص عالمي ضار
هنا كتب MasterMCP أداة للbanana، والغرض الأساسي منها هو إجبار جميع الأدوات على تنفيذ هذه الأداة لإجراء فحص الأمان قبل تشغيلها.
قبل تنفيذ الوظيفة في كل مرة، يقوم النظام أولا باستدعاء آلية فحص الموز.
هذا هو حقن المنطق العالمي الذي يتم تحقيقه من خلال التأكيد المتكرر في الكود على "يجب تشغيل فحص الموز".
تقنيات متقدمة لإخفاء الكلمات الدلالية الضارة
طريقة ترميز صديقة للنماذج الكبيرة
نظرًا لامتلاك نموذج اللغة الكبير ( LLM ) لقدرة تحليل قوية على التنسيقات متعددة اللغات، فقد تم استغلال ذلك لإخفاء المعلومات الضارة، ومن الطرق الشائعة المستخدمة ما يلي:
آلية رجوع الحمولة الضارة العشوائية
كما ذُكر في الفصل الثاني من تلوث واجهة الطرف الثالث، عند الطلب /random:
كل مرة يتم فيها إرجاع صفحة تحتوي على حمولة خبيثة بشكل عشوائي، مما يزيد بشكل كبير من صعوبة الكشف والتتبع.
ملخص
من خلال العرض العملي لـ MasterMCP، رأينا بشكل مباشر مختلف الثغرات الأمنية المخفية في نظام Model Context Protocol (MCP). من حقن كلمات المرور البسيطة، إلى استدعاءات MCP المتقاطعة، وصولًا إلى هجمات مرحلة التهيئة الأكثر خفاءً وإخفاء التعليمات الضارة، كل مرحلة تذكرنا بأن نظام MCP على الرغم من قوته، إلا أنه هش أيضًا.
خاصة في الوقت الحاضر حيث تتعامل النماذج الكبيرة بشكل متزايد مع المكونات الإضافية الخارجية وواجهات برمجة التطبيقات (API)، يمكن أن يؤدي تلوث المدخلات الطفيف إلى مخاطر أمان على مستوى النظام بأكمله. كما أن تنوع أساليب المهاجمين، مثل تشفير (، والتلوث العشوائي، وتغطية الدوال )، يعني أن أساليب الحماية التقليدية تحتاج إلى تحديث شامل.
الأمان لم يكن يومًا شيئًا يتم تحقيقه بين عشية وضحاها.
نأمل أن تكون هذه العرض بمثابة جرس إنذار للجميع: سواء كان المطورون أو المستخدمون، يجب أن يظلوا يقظين بما فيه الكفاية تجاه نظام MCP، مع الانتباه لكل تفاعل، وكل سطر من التعليمات البرمجية، وكل قيمة مرجعة. فقط من خلال التعامل مع كل تفاصيل بدقة، يمكننا بناء بيئة MCP قوية وآمنة.
في الخطوة التالية، سنواصل تحسين نصوص MasterMCP، وفتح المزيد من حالات الاختبار المستهدفة، لمساعدة الجميع على فهم وتعميق ممارسة وتعزيز الحماية في بيئة آمنة.