أمان أداة WebMCP

Julia Pagnucco
Julia Pagnucco
Alexandra Klepper
Alexandra Klepper

Published: June 9, 2026

الشارح الويب الإضافات حالة Chrome النيّة بالشراء
GitHub مرحلة التجربة والتقييم مرحلة التجربة والتقييم العرض النيّة بإجراء تجربة

يمكنك استخدام بروتوكول Model Context Protocol للويب (WebMCP) لإنشاء أدوات منظَّمة وعرضها على وكلاء الذكاء الاصطناعي الذين يتم تشغيلهم داخل المتصفّح، بما في ذلك الوكلاء المستندون إلى الإضافات. يستخدم الوكيل نموذجًا لغويًا كبيرًا (LLM) وقواعد وذاكرة وأدوات لتنفيذ الإجراءات نيابةً عن المستخدم.

بما أنّ النماذج اللغوية الكبيرة تتعامل مع جميع النصوص والتعليمات وبيانات المستخدمين على أنّها تسلسل واحد من الرموز المميّزة، فإنّها عُرضة للهجوم غير المباشر من خلال الحقن في الطلب، وهو إدراج تعليمات ضارة من قِبل مهاجم. أعدّ فريقنا هذا المستند حول أمان الأدوات لمساعدتك في حماية موقعك الإلكتروني ومستخدميه من الجهات السيئة.

على الرغم من أنّ بعض النماذج تتضمّن طبقات تعالج الهجوم من خلال الحقن في الطلب، من المستحيل ضمان الأمان داخل نموذج لغوي كبير. فالنماذج احتمالية بطبيعتها. من المهم أن تتذكّر أنّه تم شنّ هجمات متكرّرة من خلال الحقن في الطلب على الأنظمة المستندة إلى الوكلاء التي تستخدم أحدث النماذج اللغوية الكبيرة، وأنّ انتشار الهجمات على الويب يتزايد.

لمعالجة هذه المخاوف، قدّمنا إرشادات أولية بشأن الأمان للمستخدمين الذين ينشئون أدوات باستخدام WebMCP.

استخدام تلميحات التعليقات التوضيحية

هناك بعض التلميحات التي يجب إضافتها عند إنشاء أدواتك:

  • استخدام untrustedContentHint عند الاقتضاء. إذا كانت الأداة تعرض محتوًى من إنشاء المستخدمين أو بيانات من مصادر خارجية، ننصحك بإضافة untrustedContentHint إلى الأداة. يصنّف هذا الحقل الحمولة بشكل صريح على أنّها غير موثوق بها، ما يساعد في حماية سلامة موقعك الإلكتروني مع إرسال إشارة إلى الوكيل بأنّ هذه البيانات تتطلّب تدقيقًا مكثّفًا.
  • استخدام readOnlyHint في الأدوات التي لا تغيّر الحالة يسمح هذا الخيار للوكيل باتخاذ قرارات أفضل بشأن الوقت المناسب لطلب تأكيدات المستخدم.

عرض أدواتك بعناية

لا تعرض واجهة برمجة التطبيقات WebMCP document.modelContext.registerTool وظائف الأداة إلا للوكلاء. لا يمكن للمواقع الإلكترونية الأخرى أو إطارات iframe من مصادر مختلفة ملاحظة أدواتك أو التفاعل معها تلقائيًا.

يمكنك منح إذن الوصول إلى أداتك باستخدام الخيار exposedTo في registerTool لمجموعة من المصادر المحدّدة والآمنة. يؤدي ذلك إلى عرض أداتك على هذه المصادر عند تضمينها في موقعك الإلكتروني، وعند تضمين موقعك الإلكتروني في هذا المصدر.

// https://partner.org

document.modelContext.registerTool({
  name: 'my_shared_tool',
  description: 'Shared across origins',
  // ...
}, {
  exposedTo: ['https://trusted.com', 'https://example.com']
});

لا تعرض أدواتك إلا للمصادر التي تثق بها. ويكتسب هذا الأمر أهمية خاصة عندما تدير الأدوات بيانات المستخدمين أو تؤثّر فيهم بطريقة أخرى.

  • يمكن لأداة للقراءة فقط، مثل getFavoriteProducts، الكشف عن معلومات عن أحد المستخدمين. يجب ألا تعرض هذه الأدوات إلا للمواقع الإلكترونية التي تشارك معها هذه البيانات مباشرةً في الحالات الأخرى.
  • تتخذ الأدوات التي تملك إذن الوصول للقراءة والكتابة إجراءات نيابةً عن المستخدم. يجب ألا تعرض هذه الأدوات إلا للمصادر التي تقرّر أنّها موثوق بها عند اتخاذ إجراءات نيابةً عن المستخدم. على سبيل المثال، قد تريد عرض postComment على trustedExample.com، ولكن لا تريد عرضه على evilExample.com.

ضبط عدد الأحرف المسموح به

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

  • 500 حرف لكل وصف أداة
  • 150 حرفًا لكل وصف معلَمة
  • 30 حرفًا لكل اسم أداة واسم معلَمة
  • 1500 حرف كحدّ أقصى لكل ناتج أداة فردي

من المحتمل أن يكون هناك بعض الاختلاف بين الوكلاء، وقد تحتاج إلى تعديل عدد الأحرف المسموح به استنادًا إلى ملاحظات المستخدمين.

الخطوات التالية

نواصل البحث والعمل على إنشاء بنية أساسية آمنة للويب المستند إلى الوكلاء. على سبيل المثال، هناك نقاش جارٍ حول إدارة الموافقة بين الأطراف، ويتضمّن مسودة المواصفات requestUserInteraction() لطلب بيانات أدخلها المستخدم بشكل غير متزامن عند تنفيذ الأداة.

كيف تخطط لتنفيذ WebMCP في تطبيقك؟ هل لديك مخاوف أخرى، سواء كانت متعلقة بالأمان أو غير ذلك؟ إذا اشتركت في مرحلة التجربة والتقييم حسب المصدر لـ WebMCP، نريد معرفة تجربتك:

  • يمكنك مشاركة ملاحظاتك حول شكل واجهة برمجة التطبيقات من خلال التعليق على مشكلة حالية أو فتح مشكلة جديدة في الشارح WebMCP على GitHub.
  • إذا كانت لديك ملاحظات حول تنفيذ Chrome، يُرجى الإبلاغ عن خلل Chromium.
  • انضم إلى برنامج المعاينة المبكرة للاطّلاع على واجهات برمجة التطبيقات الجديدة قبل إطلاقها والوصول إلى قائمتنا البريدية.
  • يمكنك مراجعة عملية التنفيذ في Chrome على صفحة حالة Chrome.

إذا كنت تنشئ وكيلًا، ننصحك بقراءة اعتبارات أمان الوكيل لـ WebMCP.