GitHub Copilot Plugin4Shell 仍无补丁 企业能做什么

2026 年 9 月 Air 称 Copilot 未修复 SHA pinning 绕过;GitHub 仅限制托管端分支命名。本文写第三方 marketplace、自动更新与可执行的减面策略。

GitHub Copilot Plugin4Shell 仍无补丁 企业能做什么

Claude Code 与 Codex 在 2026 年 6–8 月已分别于 2.1.179、0.146.0 修复 Plugin4Shell 类问题,但 The Register 9 月 17 日报道:GitHub Copilot 仍无 Agent 侧补丁。Microsoft 发言人称 GitHub 不允许创建形似 commit SHA 的分支或 tag,因此「在 GitHub 上无法利用」;Air Security 反驳 Copilot 支持非 GitHub 托管的 marketplace,攻击面仍在。Fortune 500 大量席位用 Copilot 的团队,不能把「我们插件都来自 github.com」当作充分条件。

作者CodePass 技术编辑

报错形态:你可能看不到任何报错

Plugin4Shell 是供应链替换,不是 IDE 弹窗。症状是插件行为突变、异常网络 egress、或 Agent 突然具备本不该有的 shell 权限。The Hacker News 9 月 18 日确认尚无公开在野利用,但零点击模型意味着发现往往已经晚一步。

最小探针:对关键插件目录执行 git rev-parse HEAD,与 lockfile / marketplace 显示的 pin 逐字符比对。不一致即停用这个插件并隔离机器,不要先「重装试试」。

分支排查:你的插件从哪装来的

  1. 打开 Copilot / VS Code 的 agent 插件列表,导出或截图每个插件的 source URL 与 commit pin。

  2. 标记 host 不是 github.com 的条目(Bitbucket、GitLab、自建 Git)。

  3. 对 GitHub 源仍要审:组织内 private marketplace 是否允许成员提交新插件版本。

  4. Plugin4Shell 机制总览 对照,确认客户端版本是否有「checkout 后校验 HEAD」的 vendor fix(Copilot 截至报道仍无)。

在补丁出来前的缓解

关插件自动更新(具体开关因 Copilot 渠道而异,见同批发布的四款 Agent 自动更新对照文)。

卸载 30 天内未使用的插件;每个插件都是常驻 RCE 面。

禁止从不可信 repo 一键安装「团队共享插件包」,与 不可信仓库 intake 同一审批流。

若业务必须非 GitHub marketplace,优先让插件源码 mirror 到受控 GitHub org,并锁定只读 deploy key,而不是让每位开发者指向外部可变 ref。

和 Cursor Copilot 插件的关系

Cursor 自有 Customize 插件体系,与 VS Code Copilot agent 插件不是同一二进制,但「pin + 自动更新 + Git 源」模式类似。SpaceX 收购 Cursor 后供应链审查应两条线并行:Copilot 企业席位 + Cursor IDE 插件目录。

参考资料