Part01
在Windows上通过Cursor打开一个仓库,如果项目根目录中有一个名为git.exe的文件,Cursor会直接运行它。无需点击、无需确认对话框、也没有任何关于文件夹中即将执行内容的警告。
无论该二进制文件执行什么操作,它都会以你的身份运行,访问你的源代码、SSH密钥和云令牌。只要项目保持打开状态,Cursor会不断重新运行它。
不需要提示注入、不需要Agent(代理)、不需要模型参与,也不需要对机器的预先访问:打开文件夹就是完整的利用过程,结果是当前登录用户的任意代码执行。
AI安全公司Mindgard于2025年12月15日向Cursor报告了该漏洞,并于七个月后的周二公布了完整的技术细节。目前仍然没有补丁,Cursor也未就此问题发布任何安全公告。
Part02
该机制只需一句话就能概括。当项目加载时,Cursor会检查多个位置以查找Git二进制文件,其中之一就是工作区本身。技术文章中的Process Monitor输出显示,Cursor.exe使用命令行git rev-parse --show-toplevel生成仓库根目录下的二进制文件。
这与微软VS Code文档中描述的仓库根目录探测相同。技术文章未说明Cursor是自行搜索这些位置,还是将未限定路径的git交给Windows,让其按搜索顺序查找。
Mindgard的概念验证(PoC)是Windows计算器,将其重命名为git.exe并提交到仓库根目录。克隆、打开、完成。截图显示,项目打开后计算器窗口自行堆叠起来。
前置条件听起来像是难点:攻击者的二进制文件位于你的项目根目录中。但并非如此。克隆陌生人的仓库正是二进制文件落地到磁盘的第一步,开发人员及其Agent每天都在这样做。攻击者最初不需要任何立足点。这正是此漏洞跨越的距离:从任何人都可以发布的仓库到以你的身份运行代码。
证据上有一个局限。Mindgard最新确认的日期为2026年4月30日,针对Cursor 3.2.16版本,而当前发布版本是7月10日发布的3.11。技术文章称该漏洞在其测试的最新版本中依然存在,但未指明该版本号。
The Hacker News审查了Cursor已发布的所有33份安全公告,发现截至7月15日,没有一篇涉及此问题。未分配CVE编号。我们询问Cursor哪个版本修复了该问题,以及Mindgard最后测试的是哪个版本。如有任何回复,本文将持续更新。
Part03
应对措施
目前没有补丁,因此以下所有选项均为临时解决方案。在受管理的Windows环境中,Mindgard建议使用AppLocker或Windows应用控制拒绝规则,按名称和路径阻止工作区根目录下的可执行文件,例如%USERPROFILE%\source\repos*\filename.exe。
应使用路径规则,而非哈希值;攻击者二进制文件的哈希值各不相同。该公司指出,Windows没有内置的通用规则仅在特定父进程启动时阻止子进程,因此针对父进程的强制通常需要EDR。其他用户:在一次性虚拟机或Windows沙箱中打开不受信任的仓库。
同时遵循Cymulate的建议,在打开之前检查克隆的仓库或解压的存档。git.exe、npx.exe、node.exe和where.exe不应出现在项目根目录中。报告的处理过程则是故事的另一部分。
Cursor的安全页面称,公司会在“5个工作日内确认漏洞报告”。Mindgard在12月报告后一个月才收到Cursor首席信息安全官的首次实质性回复,对方解释称自动化程序未将该公司邀请到私有的HackerOne项目中。
重新提交的报告在第二天被关闭,标记为“仅供参考且超出范围”,随后在Mindgard提出异议后重新打开,HackerOne也复现了该问题。HackerOne于1月20日确认收到。此后,2月、3月和4月Mindgard多次请求更新,但未收到任何回复。
将Cursor的安全公告记录与Mindgard的时间线对照,可以看出其他研究人员的报告正在处理,而Mindgard的报告却被搁置。2026年2月13日,Cursor发布了GHSA-8pcm-8jpx-hv8r,这是一个Git钩子沙箱逃逸漏洞(CVE-2026-26268),由Novee通过协调披露报告,并在Cursor 2.5中修复。三天后,2月16日,Mindgard请求更新其Git相关报告,未获回复。7月14日,在完全披露当天,Cursor又发布了两份安全公告。
Mindgard写道:“完全披露是漏洞披露的核选项”,留作其他所有途径均失败时的最后手段。作者Aaron Portnoy曾在该领域的另一面工作多年:他领导过零日计划(Zero Day Initiative)并组织了前六届Pwn2Own竞赛。
Part04
相同漏洞,三家其他供应商
Mindgard并非第一个发现此问题的公司,也不是第一个从Cursor得到类似答复的公司。6月,Cymulate发布了AI工具中同类漏洞的研究结果:在Windows上,这些工具在解析辅助可执行文件时使用默认搜索顺序,该顺序会在可信系统路径之前检查工作目录。
GitHub Copilot CLI在启动时运行工作区中的git.exe,甚至在显示文件夹信任提示之前就已执行。Gemini CLI在从工作区启动时执行相同操作。Codex桌面应用在打开文件夹时执行,与Cursor类似。
截至Cymulate 6月4日的技术文章,这些供应商中没有一个发布修复。GitHub对其报告进行了分类并支付了赏金,随后将其降级为低危。Google同意Gemini CLI的发现有效但未发布补丁。OpenAI将Codex报告关闭为“不适用”,理由是可以替换git.exe的攻击者已经拥有系统访问权限。但这并非所报告的场景。Cursor在八天内将Cymulate关于Cursor CLI的报告关闭为“仅供参考”,理由是涉及恶意二进制文件的发现“缺乏攻击向量”。
那项研究确实产生了一个修复。AWS为其Kiro漏洞分配了CVE-2026-10591,表彰Cymulate并在Kiro 0.11中修补。但这是另一个不同的漏洞:一个Agent文件写入漏洞,允许恶意.vscode/tasks.json在打开文件夹时自动执行。所有关于二进制植入的报告均未产生修复。
此类问题早已存在。不受信任的搜索路径是弱点;将二进制文件植入搜索将发现的位置就是攻击手段。Windows在%PATH%之前检查当前目录,这正是2020年导致Git Credential Manager Core崩溃(CVE-2020-26233)的原因:递归克隆期间,位于仓库顶层的恶意git.exe替代了真正的git.exe。该问题在GCM 2.0.289中修复。
当时Blaze Information Security的PoC也是将calc.exe重命名为git.exe。六年过去了,同样的把戏再次得手,而这次针对的是一个在你打开文件夹时自动运行该探测的IDE。
现在已有四家供应商被证明存在工作区二进制文件在Windows上自行运行的问题,只要开发者将工具指向克隆的仓库即可触发。两家认为这根本不是漏洞;两家承认是漏洞但截至Cymulate的6月报告仍未发布任何内容。因此,责任落在了防御者身上,而在Windows上,安全的做法是将克隆的仓库视为可执行内容,因为它确实就是可执行内容。
参考来源:
Cursor Flaw Lets Malicious Cloned Repositories Trigger Windows Code Execution
https://thehackernews.com/2026/07/cursor-flaw-lets-malicious-cloned.html