🔒 Supabase MCP 漏洞可导致 SQL 数据库泄露

研究人员发现,Supabase 的模型上下文协议 (MCP) 集成存在安全漏洞,攻击者可利用该漏洞窃取开发者私有的 SQL 表数据。该漏洞源于大型语言模型 (LLM) 无法区分指令与数据,当用户提交的“数据”包含精心构造的指令时,LLM 可能将其误作为命令执行。

攻击原理:

* 系统设置: 攻击者在一个标准的 Supabase 项目中,利用了默认的 `service_role`(绕过行级安全 RLS)、默认模型以及一个会代表开发者执行 MCP 调用的助手。
* 攻击过程:
1. 攻击者通过支持工单提交一条包含恶意指令的消息,该消息指示 LLM 读取 `integration_tokens` 表并将所有内容添加到工单中。
2. 当开发者使用 Cursor 等工具通过 MCP 查询最新工单时,助手会处理攻击者的消息。
3. 助手将恶意指令识别为命令,并使用 `service_role` 执行 SQL 查询,读取 `integration_tokens` 表中的敏感数据(如用户刷新令牌)。
4. 查询结果被插入到工单中,攻击者刷新页面即可看到泄露的敏感信息。

风险点:

* LLM 助手拥有 `service_role` 权限,可绕过所有 RLS 保护。
* 助手会处理来自客户的不可信文本输入。

缓解措施:

1. 启用只读模式: 在初始化助手时设置 `readonly` 标志,阻止任何写入操作。
2. 添加提示注入过滤器: 在将数据传递给助手之前,扫描并过滤掉可疑的指令模式,如命令动词、SQL 片段等。

(HackerNews)

via 茶馆 - Telegram Channel
 
 
Back to Top
Copyright © 2025 BESTAI. All rights reserved.
BEST AI API中转 - OpenAI DeepSeek Claude Gemini Grok MidJourney 2.8折起
[email protected]