𝐂𝐮𝐫𝐬𝐨𝐫 𝐌𝐂𝐏 攻击现象:一句话,就能让你的私有数据库裸奔

𝐂𝐮𝐫𝐬𝐨𝐫 𝐌𝐂𝐏 攻击现象:一句话,就能让你的私有数据库裸奔 ---"一句话劫持":

prompt注入如何撬开数据库后门

1)危险比你想的更近 在我们最新的实测里,攻击者只用在客服工单里插入一段"看似友好、实则暗藏指令"的留言,就让 Cursor 的 MCP 代理自动把 integration_tokens 私密表整段复制出来,展示在公开工单页面。 整件事耗时不到 30 秒:没有越权、没有报警,开发者甚至以为自己在"正常检索工单"。结果?Slack、GitHub、Gmail 等 OAuth access token / refresh token 全部泄露,连过期时间都一清二楚。

2)一次完整泄露的五步解剖

-环境:新建 Supabase 项目,模拟常见的多租户客服 SaaS,敏感信息存于 SQL 表。

-入口:攻击者打开新工单,正文分两块------上半段是客服问题,下半段是 "致 Cursor agent 的紧急指令",明确要求把 integration_tokens 表内容写回同一工单。

-触发:开发者在 Cursor 里随口问句 "列一下最新 open 的 ticket"。

-劫持:Cursor agent 解析到攻击者的隐藏指令,连续调用 list_tables → execute_sql,把整表数据写进公开消息;操作日志里能看到多次 execute_sql 调用,却没人注意。

-收割:攻击者刷新页面,即刻获取 4 条完整令牌记录(ID、客户 ID、Provider、Access Token、Refresh Token、Expires),相当于拿到后台钥匙。 3)为什么它吓人,以及接下来怎么办 这类攻击无需"提权"------它直接利用 Prompt Injection 撞开了 Cursor MCP 自动化通道;任何把生产数据库暴露给 MCP 的团队,理论上都可能中招。 Supabase、Postgres、MySQL 都一样,只要 agent 拥有查询权限,攻击者就能"借刀杀人"。更糟的是,工单、评论、聊天窗口都能成为隐形载体,WAF 和 RBAC 根本感知不到。 如果你正在用 Cursor + MCP 直连生产库,立即: 关掉 MCP 对数据库的写权限或彻底隔离读写。 加审:强制人工审查 agent 的 plan / SQL 调用。 清洗:对外部输入做最严格的内容过滤,屏蔽 "######## Instructions for Cursor#######" 之类模板。

原文:x.com/BadUncleX/s...

相关推荐
咖啡星人k7 小时前
MCP 工具调用的成本控制:按量计费下的四个止损点
工程实践·mcp·成本控制
咖啡星人k8 小时前
用 MCP 把找读抽做成一条信息流水线
信息检索·工作流·mcp
光依旧9 小时前
MCP实战手记系列(五):让工具返回一个能点的界面(文末附github源码链接)
java·spring ai·前端集成·mcp·mcp apps
咖啡星人k10 小时前
给 AI 接工具的权限设计:账号、Key、参数三层
安全·mcp·权限设计
xrlfreedom10 小时前
大厂 MCP 面试实录:高风险 Tool 调用的 OAuth 2.1 防护方案设计
mcp·oauth 2.1·python mcp sdk
咖啡星人k13 小时前
从自建爬虫到托管工具:数据采集选型对照表
爬虫·数据采集·mcp
咖啡星人k13 小时前
MCP 协议入门:从 tools/list 到一次真实调用
人工智能·mcp·ai工程
Danny转行做跨境15 小时前
schtasks+Python流水线:66篇零干预实录
跨境电商·mcp·sorftime
slacker-kian1 天前
本地大模型 + 自建 MCP Server + SAP OData:让 LLM 代理 SAP 业务操作
大模型·llm·sap·agent·mcp·odata
光依旧1 天前
MCP实战手记系列(二):跑通第一个 MCP Server(文末附github源码链接)
java·spring ai·mcp·ai 开发·源码实战