Visual Studio 里的 Copilot 被文件名末尾的一个句点绕过了防线。2026 年 10 月 13 日,安全研究者 Johann Rehberger 公开披露了漏洞 CVE-2026-103572 的技术细节,微软在同日的 10 月补丁日发布修复。该漏洞被定为 Important 级别的远程代码执行,CVSS 评分 8.8,同时影响 Visual Studio 和 SQL Server Management Studio(SSMS)。
一个句点,写进了本应受保护的配置文件
问题出在两个产品共用的组件 Microsoft.VisualStudio.Copilot.Core.dll 的路径校验上:在文件名末尾多加一个句点,就能绕过校验,让 Copilot 把内容写进本应受保护的设置与配置文件,例如 MCP 配置和 Visual Studio 的设置文件,进而实现任意命令执行。研究者还演示了另一条路径:第三方把恶意指令藏进 Copilot 会处理的文件或外部数据里,通过间接提示词注入诱导它完成写入,开发者本人甚至不需要主动做什么。SSMS 与 Visual Studio 共用同一套界面框架和代码,所以同一个漏洞会同时打中数据库管理员的工具。受影响的包括 Visual Studio 2022 的 17.14 版和 Visual Studio 2026 的 18.10 版,修复版本分别为 17.14.42 和 18.10.4;微软的修法是在校验前先对路径做规范化处理,把尾随句点这类写法提前消除。微软同时表示,目前没有确认该漏洞被在野利用,触发利用也需要用户与 Copilot 发生交互。研究者今年 8 月就已向微软报告此事。
用 Visual Studio 和 SSMS 的人,现在先做更新
处理顺序很明确:第一,把 Visual Studio 和 SSMS 更新到上述修复版本,企业环境里优先覆盖装有 Copilot 的机器;第二,在补丁落地之前,不要让 Copilot 随手处理来源不明的仓库、外部文件和 MCP 服务返回内容,尤其是会自动写入配置的操作。这类漏洞的麻烦之处在于,攻击入口看起来只是让助手读了一份文件,落点却是开发机本身,而开发机上通常存着源码、云密钥和发布凭据。
护栏不能建在模型自觉之上
这起漏洞给编程智能体提了一个具体的醒:当助手拥有写文件、改配置、配工具乃至执行命令的权限时,安全校验必须放在模型够不着的地方,并且要假设模型本身会被外部内容带偏。路径校验这种看起来琐碎的检查,恰恰是智能体与真实系统之间最薄、也最不能省的一层。微软这次用路径规范化补上了句点的缺口,但同类问题不会就此消失:只要智能体继续接入更多本地工具,每一个被它触达的配置文件和可执行程序,都值得按同样的标准再查一遍。