GitHub Copilot和Visual Studio远程代码执行漏洞
CVE-2025-53773 是影响 GitHub Copilot 与 Visual Studio 2022 的高危命令注入漏洞,攻击者可借提示注入诱导 Copilot 把 `.vscode/settings.json` 中的 `chat.tools.autoApprove` 改为 `true`,绕过确认机制在开发者本机静默执行任意代码,微软已在 2025 年 8 月 12 日更新中修复,建议升级至 17.14.12 及以上并审计相关配置。
1. 事件摘要
CVE-2025-53773 是一个影响 GitHub Copilot 和 Visual Studio 2022 的高危命令注入漏洞。该漏洞允许未经授权的攻击者通过提示注入技术,诱导 GitHub Copilot 修改 Visual Studio Code 的配置文件(.vscode/settings.json),将 chat.tools.autoApprove 设置为 true,从而禁用所有用户确认机制,在开发者本机上静默执行任意代码。
微软于 2025 年 8 月 12 日的 Patch Tuesday 中发布了修复更新。该漏洞由安全研究员 Johann Rehberger(Embrace The Red)、Markus Vervier(Persistent Security)和 Ari Marzuk 共同发现并报告。
2. 漏洞背景
该漏洞的根本原因在于 GitHub Copilot 的代理模式(Agent Mode)中,LLM 无法区分系统指令与用户输入。攻击者可以将恶意指令嵌入到 Copilot 可读取的数据源中,例如 GitHub Issue、拉取请求描述、源代码文件、网页内容等,从而实现间接提示注入。
成功注入后,Copilot 会被诱导修改 .vscode/settings.json 文件,将 chat.tools.autoApprove 设置为 true。该设置相当于启用了开发者社区所称的“YOLO 模式”。在此模式下,Copilot 执行的所有工具调用,包括 Shell 命令,将不再需要用户逐条确认,从而实现静默的持久化代码执行。
该漏洞被归类为 CWE-77(命令注入中特殊元素的中和不当)。NVD 发布于 2025 年 8 月 12 日,最后修改于 2026 年 6 月 17 日。
3. 影响范围
受影响产品
| 产品 | 受影响版本 | 修复版本 |
|---|---|---|
| Microsoft Visual Studio 2022 | 17.14.0 ≤ 版本 < 17.14.12 | 17.14.12 及以上 |
受影响组件
- Visual Studio 2022(17.14 版本线)
- 集成于 Visual Studio 中的 GitHub Copilot 扩展
受影响平台
- Windows
- macOS
- Linux
攻击者可利用操作系统条件性载荷,分别针对不同平台实施攻击。
4. 攻击条件
- 攻击向量: 本地(AV:L),攻击者需要诱导目标用户在 Visual Studio 中打开包含恶意注入内容的项目,或触发 Copilot 对恶意内容的处理
- 攻击复杂度: 低(AC:L)
- 所需权限: 无(PR:N)
- 用户交互: 需要(UI:R),受害者需在 Visual Studio 中打开含恶意内容的工作区,或触发 Copilot 处理被注入的上下文
攻击链概述
- 攻击者将恶意指令嵌入 Copilot 可读取的数据源,例如 GitHub Issue、拉取请求描述、源代码注释、网页内容等
- 开发者在 Visual Studio 中使用 Copilot 代理模式处理相关内容
- Copilot 被诱导修改
.vscode/settings.json,设置chat.tools.autoApprove: true - 此后 Copilot 的所有工具调用,包括系统命令执行,不再需要用户确认
- 攻击者通过后续注入的载荷实现任意代码执行
5. 风险等级
| 指标 | 值 |
|---|---|
| CVSS 3.1 基础评分 | 7.8(HIGH) |
| CVSS 向量 | CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
| 微软严重性评级 | Important |
| CWE 分类 | CWE-77 |
评分向量解读:攻击者可在无权限条件下,通过低复杂度攻击和必要的用户交互,对目标系统的机密性、完整性和可用性造成高影响。
6. 检测建议
- 检查配置文件:审计项目中
.vscode/settings.json文件是否包含chat.tools.autoApprove被设置为true的情况,尤其是未经开发者主动配置的情况下 - 审计 Copilot 操作日志:检查 Copilot 代理模式的操作记录,关注是否存在未经用户确认即执行的 Shell 命令或文件修改操作
- 监控异常文件变更:对
.vscode/settings.json及.vscode/tasks.json等配置文件实施文件完整性监控,检测异常修改 - 验证 Visual Studio 版本:确认环境中所有 Visual Studio 2022 实例是否已升级至 17.14.12 或更高版本
- 审查 MCP 服务器配置:检查是否存在未经授权的 MCP 服务器配置,攻击者可能通过 MCP 工具投毒实施攻击
7. 修复建议
立即修复
- 升级 Visual Studio 2022:将 Visual Studio 2022 更新至 17.14.12 或更高版本。该版本于 2025 年 8 月 12 日发布,修复了 Copilot 未经授权修改设置的问题
- 更新相关组件:确保 Visual Studio Code、Copilot 扩展及相关开发工具均已更新至厂商支持的最新修补版本
临时缓解措施
- 禁用 Copilot 自动批准功能,确保
chat.tools.autoApprove保持为false或未设置 - 要求对 Shell 命令和文件修改操作进行显式用户确认
- 禁止 Copilot 在未经人工审查的情况下自动修改配置文件
- 对 AI 代理可访问的设置文件实施差异审查门禁,将审批工作流相关配置文件视为安全边界
长期加固
- 将 AI 代理可访问的配置文件纳入变更管理流程,所有修改需经人工审批
- 建立 AI 工具使用治理策略,明确允许和禁止的操作范围
- 定期对 AI 编码工具进行安全审计和红队测试
8. 参考链接
- NVD 官方漏洞详情:https://nvd.nist.gov/vuln/detail/CVE-2025-53773
- 微软 MSRC 安全更新指南:https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-53773
- Visual Studio 2022 版本 17.14 发行说明:https://learn.microsoft.com/visualstudio/releases/2022/release-notes
- GitHub Advisory Database(GHSA-3M2X-P87C-PWV6):https://github.com/advisories/GHSA-3m2x-p87c-pwv6
- AI 红队指南参考:https://github.com/heatonb1/AI-Red-Teaming-Guide-Fork
- CIRCL 漏洞数据库条目:https://vulnerability.circl.lu/vuln/msrc_cve-2025-53773