系统:运行中
← 返回所有攻击
AGENTS CRITICAL NEW

DuneSlide:提示注入逃逸 Cursor 终端沙箱直至远程代码执行

2026 年 7 月 1 日,Cato AI Labs 披露了 Cursor 自动执行沙箱中的两个严重漏洞。一条被污染的提示即可覆写沙箱二进制文件,将一个上锁的盒子变成代码执行——无需任何点击。

2026-07-02 // 7 min affects: cursor-2.x, cursor-<3.0, coding-agents

这是什么?

2026 年 7 月 1 日,Cato AI Labs(Itay Ravia 的团队,前身为 Aim Security)发布了 DuneSlide——AI 代码编辑器 Cursor 中的两个严重远程代码执行漏洞。两者的评分均为 9.8(CVSS 3.1),效果相同:它们让一条看似普通的提示逃出 Cursor 的终端沙箱,在开发者机器上执行任意命令。没有可上当的点击,也没有可忽略的审批弹窗——研究者称之为「零点击」攻击。

入口是提示注入。攻击者从不触碰你的 Cursor。他们把指令植入你的智能体代你读取的内容中——通过 Model Context Protocol(MCP)连接的某个服务,或一次网页搜索返回的页面——这些隐藏指令便随你合法的提问一同进入。Cato 于 2026 年 2 月 19 日报告了这两个问题;它们已在 **Cursor 3.0(4 月 2 日发布)**中修复,漏洞编号于 6 月 5 日分配。3.0 之前的所有版本均受影响。据厂商称,超过半数的《财富》500 强企业在使用该工具。

工作原理

自 2.x 分支起,Cursor 默认在沙箱内、且不请求审批地执行其智能体发出的终端命令——这是一个刻意的设计选择,既避免审批疲劳,又防止一条跑偏的指令毁坏机器。DuneSlide 的关键在于走出这个盒子。两个漏洞遵循同一套路:诱导智能体写入一个它本不应能写入的文件,再借这次写入关闭沙箱。此处不复现任何攻击载荷;机制按 Cato 的分析在架构层面描述。

第一个漏洞滥用了一个工具参数。Cursor 的沙箱会授予某条命令对其工作目录的写权限,而该目录是 run_terminal_cmd 工具的一个可选参数(working_directory)。当智能体为其赋予非默认值时,Cursor 会不加质疑地把该路径加入允许写入列表。被注入的指令可将智能体引向一个系统文件而非项目目录——例如沙箱二进制文件本身(在 macOS 上为 /Applications/Cursor.app/Contents/Resources/app/resources/helpers/cursorsandbox)。一旦将其覆写,之后的所有命令都将在完全无沙箱的状态下运行。诸如 ~/.zshrc~/Library/LaunchAgents 这样的 shell 启动文件同样可作目标。

第二个漏洞滥用了一项安全检查。写入前,Cursor 会解析符号链接以确认真实目标位于项目之内。缺陷在于其回退逻辑:当规范化(canonicalization)失败时——因为目标不存在,或攻击者剥夺了路径中某个目录的读权限——Cursor 会放弃并转而信任仍在项目内的那条符号链接路径。攻击者创建一个指向项目之外的只写符号链接,迫使检查失败,Cursor 便径直穿过它写入同一个沙箱二进制文件。同样的逃逸,不同的门。

共同的教训是:在传统软件中,远程攻击者既无法设定你的工作目录,也无法在你的磁盘上植入符号链接。而在编码智能体中,一次提示注入恰恰成了通往这些原语的通道。

为何重要

沙箱二进制文件一旦被中和,下一条命令便以你的身份运行。这意味着开发者机器的控制权,加上编辑器已登录的任何云端或 SaaS 工作区——全部源自一条看似无害的提示。目前没有在野利用的迹象;Cato 将其定位为研究,公开记录在披露之日也未见已知滥用。

更深层的要点在于漏洞所处的位置。注入只是投递手段,而真正的缺陷是经典的:对工具参数未经校验的信任,以及路径规范化的错误回退。提示注入越过了模型层,点亮了此前无人视作攻击面的代码路径。这也是 Cursor 一连串沙箱与配置逃逸中的最新一例(CurXecute、MCPoison,以及 2026 年早些时候一个被做了手脚的 Git 钩子漏洞),每一个都绕过了不同的护栏。Cato 表示正在披露其他编码智能体中的类似问题,并主张这是结构性问题,而非一连串孤立个案。

防御

  1. 立即更新。 将每一处 Cursor 安装升级到 3.0 或更高版本;两个漏洞均已在此修复,而所有更早版本都存在风险。这是价值最高的单一动作。
  2. 将智能体读取的一切内容视为不可信输入。 MCP 连接器的响应与网页搜索结果均可被攻击者控制。Cursor 最初的威胁模型明确未涵盖对标准 MCP 服务器(哪怕是官方 Linear 集成)的滥用——不要继承这一假设。限制智能体可访问的 MCP 服务器,优先选择只读或经过审计的连接器。
  3. 保护信任边界自身的构件。 沙箱的强度取决于执行它的那个二进制文件的完整性。将沙箱二进制文件、智能体配置文件以及 shell 启动文件(~/.zshrc~/.zshenv~/Library/LaunchAgents)设为只读或纳入完整性监控,使越界写入即便在护栏被绕过时也可被察觉。
  4. 对不可逆操作保留人工把关。 免审批的自动执行是以安全换便利。对于处理不可信输入的智能体,应在任何写入项目根目录之外、或任何触及应用内部组件的命令上要求确认。
  5. 监控逃逸,而不仅是注入。 能够标记向应用资源目录写入、新增 LaunchAgents 或修改 shell rc 文件的端点遥测,无论使用何种提示,都能捕捉这类攻击的注入后阶段。
  6. 假定该模式会泛化。 任何既读取开放网络又能执行命令的智能体都共享这一暴露面。清点你的编码智能体资产,在下一次披露到来之前应用相同的控制。

Status

项目参考日期备注
DuneSlide 披露Cato AI Labs2026-07-01两个 RCE 漏洞,CVSS 9.8(3.1)
工作目录漏洞CVE-2026-505482026-06-05(编号分配)working_directory 未经校验即加入白名单
符号链接规范化漏洞CVE-2026-50549 / GHSA-3v8f-48vw-3mjx2026-06-05(编号分配)回退逻辑信任项目内的符号链接路径
向 Cursor 报告Cato AI Labs2026-02-19最初于 2026-02-23 被拒,2026-02-26 升级后重开
修复发布Cursor 3.02026-04-023.0 之前的所有版本受影响
在野利用NVD / Cato2026-07-01截至发布之日无已知利用

正确的定性并非「一个 AI 编辑器出了个 bug」。而是提示注入如今已成为在自主命令执行环境内触达经典漏洞的可靠途径——修复注入层,并不修复它所能触达的代码路径。请升级到 3.0,然后将你的智能体读取的每一条输入都视为敌意的。

Sources