Copilot 的 JetBrains 插件:一个畸形的资源名即可执行代码
微软 2026 年 7 月 14 日的公告描述了 GitHub Copilot for JetBrains 插件中的一个缺陷:一个未经校验的资源名,通过助手所处理的内容传入,可导致在开发者机器上本地执行代码。
这是什么?
2026 年 7 月 14 日,微软在其 Patch Tuesday 中发布了一份公告,涉及 GitHub Copilot for JetBrains 插件 中的一个高危漏洞——正是这个插件把 Copilot 带入 IntelliJ IDEA、PyCharm、WebStorm、Rider、Android Studio 以及 JetBrains 系列的其余产品。微软将其评为 CVSS 7.8(“高”),并标注为远程代码执行,尽管其攻击向量为本地。所有 1.13.0-251 之前的插件版本均受影响,JetBrains Marketplace 上已提供修复版本。
其根因平淡无奇,也正因如此具有启示意义:插件未能充分约束或校验它随后处理的文件及其他资源的名称(微软引用的弱点类别为 CWE-641,即对文件及资源名称的限制不当)。资源名通常无人留意——但当 AI 助手摄取项目内容并据此行动时,一个由攻击者控制的名称,就成了传给下游处理逻辑的、由攻击者控制的输入。
工作原理
微软的公告在机制细节上刻意保持克制:它没有点明具体是 Copilot 的哪个功能错误地处理了资源名,未提供任何概念验证,也未列出任何入侵指标。但 CVSS 向量所透露的信息划出了清晰的边界。该攻击无需任何权限、复杂度低,且需要用户交互——开发者必须打开某物或与之交互。成功利用之后,本地机器的机密性、完整性与可用性均会被破坏。
“远程却本地”这一定性值得内化。没有人能扫描互联网直接命中一个存在漏洞的 IDE。恶意资源名必须包含在开发者选择处理的内容之中:一个克隆的仓库、一个诱人的示例项目、一个 pull request、一次依赖更新、或投放在问题跟踪器或聊天中的文件。受害者的寻常动作——打开项目、让 Copilot 读取它——正是把远程投递转化为本地执行的桥梁。这与过去一年推动众多编码助手发现的”不可信内容变为指令”如出一辙;只不过这里靠的不是巧妙的提示词,而是插件未能清洗的一个名称。
由于技术分析尚未公开、也没有可用漏洞在流传,本文仅停留在微软已确认的层面。我们描述的是一类失效及其投递面,而非一个可用的漏洞利用。
为何重要
开发者工作站是任何组织中价值最高的机器之一。它们存放着源代码、Git 凭据、SSH 密钥、云 CLI 会话、软件包注册表令牌、签名材料,且常常是通往 CI/CD 流水线的直接通道。以开发者身份执行代码,很少止步于编辑器;它会继承该账户与该网络所能触及的一切。
分发问题让情况更糟。JetBrains 插件往往由开发者本人安装与更新,游离于企业补丁管理之外。部署每月的操作系统更新,对一个存在漏洞的 Copilot 插件毫无帮助,因为这是产品层面的缺陷,就在扩展本身之中。只需一台未打补丁、又克隆并构建客户代码的笔记本,就足以造成后果。这一发现也契合更大的趋势:随着 Copilot 从自动补全走向能读取项目、调用工具并修改文件的智能体,它所信任的数据便成为更有价值的目标——而一个看似无害文件中的畸形名称,恰恰是过去常被忽略的那类输入。
防御措施
公告对防御者而言不乏好消息:漏洞利用未公开,CISA 的初步 SSVC 评估将其归为”无已知利用”且”不可自动化”,而修复只是一次简单更新。这留出了实实在在的行动窗口。
-
更新插件。 将 GitHub Copilot for JetBrains 插件升级至 1.13.0-251 或更高版本。请在 设置/偏好设置 → 插件 中手动核对版本,而非默认自动更新已经完成,尤其是在开发者于冲刺期间关闭自动更新的环境中。
-
清点,而非假设。 将其视为一次插件层面的补丁行动。清点每一台运行 JetBrains IDE 且装有 Copilot 的工作站——包括通过设置同步或受管插件仓库推送的安装——并逐一确认版本。
-
收敛投递路径。 在打补丁之前,避免克隆或打开陌生仓库、示例项目以及来自未经核实来源的代码。若无法立即部署更新,禁用 Copilot 插件可彻底移除该易受攻击的组件。
-
对开发者账户实行最小权限。 以标准用户而非本地管理员身份运行 IDE,并对 GitHub 与云服务商优先使用短时、限定范围的令牌,从而缩小以开发者身份执行代码时的影响半径。
-
谨慎监控异常。 在厂商未提供 IOC 的情况下,留意由 JetBrains IDE 进程派生的意外子进程——例如在打开陌生项目后立即启动的 Python 或 Node 解释器——或异常的出站连接。请把这些当作线索而非警报,因为正常开发也会产生类似的噪声。
需要说明的是:Copilot 于 2026 年 6 月公开预览的沙箱属于纵深防御,但公告并未声称它们能缓解此特定缺陷。请先打补丁。
状态
| 项目 | 参考 | 日期 | 备注 |
|---|---|---|---|
| 微软公告(CVE-2026-50510) | MSRC | 2026-07-14 | GitHub Copilot for JetBrains 插件;CVSS 7.8(高) |
| 弱点类别 | MSRC / CWE-641 | 2026-07-14 | 对文件及资源名称的限制不当 |
| 攻击向量 | CVSS 向量 | 2026-07-14 | 本地、低复杂度、无需权限、需用户交互 |
| 修复版本 | JetBrains Marketplace | 2026-07-14 | 1.13.0-251 及更高版本 |
| 利用状态 | CISA SSVC | 2026-07-15 | 无已知利用;不可自动化;无公开 PoC 或 IOC |
要点并非 Copilot 天生危险。关键在于:一旦 AI 助手从项目中读取一个资源名,它就是不可信的输入——而我们施加于编译器、构建脚本与测试框架的那套校验纪律,如今必须延伸到那些替我们编写代码的工具之上。