وكلاء الذكاء الاصطناعي يحتاجون إلى حدود، لا إلى مفاتيح رئيسية

إن منح وكيل ذكاء اصطناعي إمكانية الوصول إلى تطبيقك عبر MCP أمر محفوف بالمخاطر. فأنت تسلمه ميدالية مفاتيح وتأمل ألا يفتح إلا أبوابًا معينة. هذه الثقة تمثل مخاطرة أمنية.

عند بناء أدوات MCP لتطبيق Laravel متعدد المستأجرين (multi-tenant)، يجب عليك حل مشكلة واحدة: كيف تسمح للوكيل بقيادة التطبيق دون الوصول إلى بيانات شخص آخر.

تعمل كل أداة MCP كنقطة نهاية (endpoint). يقوم الوكيل باستدعاء أداة، ويقوم خادمك بتشغيل الكود. في إعداد متعدد المستأجرين، يجب على كل أداة الإجابة على سؤالين:

  • هل يُسمح لك بالقيام بهذا؟
  • هل يُسمح لك بالقيام به هنا؟

إذا تجاهلت هذين السؤالين، فستخلق ثغرة أمنية.

تستخدم طلبات الويب الجلسات (sessions) للتعامل مع تعدد المستأجرين، بينما تستخدم أدوات MCP الرموز (tokens). لا توجد جلسة ولا توجد برمجيات وسيطة (middleware) لضبط سياق المستأجر الحالي. إذا كنت تعتمد على النطاقات العامة (global scopes) التي تبحث عن "المؤسسة الحالية" في الجلسة، فلن تجد شيئًا. وقد يؤدي الاستعلام الذي ينبغي أن يكون مقيدًا إلى إرجاع كل صف في قاعدة بياناتك.

أستخدم هذه القواعد الأربع للبقاء في أمان:

  • التصفية الصريحة: لا تعتمد أبدًا على النطاق المحيط (ambient scope) تحت مصادقة الرموز (token auth). استخدم trait واحدًا للتصفية حسب المؤسسة في كل مرة.
  • استخدم UUIDs: لا تستخدم أبدًا المعرفات ذات الزيادة التلقائية (auto-increment IDs). استخدم معرفات لا يمكن تخمينها حتى لا يتمكن الوكلاء من تخمين السجلات الأخرى.
  • إعادة استخدام الأذونات: لا تنشئ مجموعات أذونات جديدة للوكلاء. استخدم نفس سلاسل القدرات (ability strings) التي يستخدمها تطبيق الويب الخاص بك.
  • تحديد الآثار الجانبية: استخدم التعليقات التوضيحية (annotations) لتصنيف الأدوات على أنها للقراءة فقط (read-only) أو مُمكّنة للكتابة (write-enabled).

من خلال استخدام trait واحد للبحث عن المؤسسات، فإنك تنشئ مكانًا واحدًا للتدقيق. إذا أرجعت عملية البحث قيمة null ، فستخبر الأداة الوكيل بأن السجل غير موجود. وبذلك لا يحصل الوكيل على أي معلومات حول المستأجرين الآخرين.

هذه ليست مشكلة ذكاء اصطناعي، بل هي مشكلة تعدد مستأجرين وتفويض (authorization). يجعل MCP من السهل عرض تطبيقك، لذا يجب أن تكون منضبطًا فيما يتعلق بحدودك.

يجب أن يفعل الوكيل بالضبط ما يمكن للإنسان فعله، ضمن المستأجر الخاص به، ولا شيء أكثر من ذلك.

المصدر: https://dev.to/nasrulhazim/giving-an-ai-agent-the-keys-without-giving-it-the-building-rbac-org-scoped-mcp-tools-in-laravel-43oi

مجتمع تعليمي اختياري: https://t.me/GyaanSetuAi