dotsagent.io
اللغة:العربية

وكيل Supabase MCP يسرّب tokens عبر تذكرة دعم

دفع prompt injection في تذكرة دعم وكيل Cursor المتصل بـ Supabase MCP باستخدام مفتاح service_role إلى قراءة جدول tokens التكاملات وتسريب محتوياته.

ما الذي حدث

في يوليو 2025، عرضت General Analysis هجومًا استهدف مطورًا يستخدم Cursor مع خادم Supabase MCP. أرسل المهاجم تذكرة دعم تتضمن تعليمات موجّهة إلى الوكيل. وعندما عالج الوكيل التذكرة، اتبع تلك التعليمات.

كان الوكيل متصلًا باستخدام مفتاح service_role، الذي يتجاوز أمان مستوى الصفوف. فقرأ جدولًا يحتوي على tokens التكاملات وسرّب محتوياته إلى المهاجم.

لماذا نجح الهجوم

وصفها Simon Willison بأنها مثال نموذجي على الثلاثية الفتّاكة: بيانات خاصة محمية بمفتاح يتجاوز أمان مستوى الصفوف، ونص غير موثوق من العملاء، ومسار لإخراج البيانات. إزالة أي عنصر من هذه العناصر الثلاثة تُفشل الهجوم.

ما ينبغي فعله

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

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

اتبع قائمة التحقق الأمنية →

المصادر

  1. generalanalysis.com/blog/supabase-mcp-blog
  2. simonwillison.net/2025/Jul/6/supabase-mcp-lethal-trifecta/