dotsagent.io
Язык:Русский

Агент Supabase MCP утёк токенами через тикет в службу поддержки

Prompt-инъекция в тикете службы поддержки заставила агента Cursor, подключённого к Supabase MCP с ключом service_role, прочитать таблицу с токенами интеграций и раскрыть её содержимое.

Что произошло

В июле 2025 года General Analysis продемонстрировала атаку на разработчика, использовавшего Cursor с Supabase MCP server. Злоумышленник отправил тикет в службу поддержки с инструкциями для агента. Обрабатывая тикет, агент выполнил эти инструкции.

Агент был подключён с ключом service_role, который обходит защиту на уровне строк. Он прочитал таблицу с токенами интеграций и передал её содержимое злоумышленнику.

Почему это сработало

Simon Willison назвал это классическим примером «смертоносной триады»: закрытые данные, доступные по ключу, обходящему защиту на уровне строк; недоверенный текст от клиентов; и канал для утечки данных. Устранение любого из этих трёх факторов останавливает атаку.

Что делать

  • Никогда не передавайте агенту ключ service_role; подключайте его только для чтения и ограничивайте доступ одним проектом.
  • Не давайте агентам, которые читают текст от клиентов, доступ к данным в production.
  • Требуйте ручного подтверждения для каждого вызова инструмента базы данных.
  • Считайте содержимое тикетов и форм недоверенными данными.

Используйте учётные данные с минимальными привилегиямиРазорвите смертельную триадуТребуйте подтверждения значимых действий

Выполнить проверку по чек-листу безопасности →

Источники

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