Claude Code 官方 VS Code 扩展被植入 SSH 后门:AI 开发工具链的供应链风险再升级
10 月 30 日,macOS 端点安全公司 Phorion 披露:官方的 Claude Code for VS Code 扩展在 Cursor 市场中被植入持久化 SSH 后门,影响版本 2.1.312 与 2.1.313,覆盖 macOS、Linux 与 Windows——HN 首页 759 分。
攻击链与影响面
被污染的 extension.js 在加载时执行注入的载荷。信标会外传:主机名、用户名、操作系统信息、主目录与当前工作目录、Git 提交邮箱、公网 IP、安装状态,以及最多 40 个名称匹配凭据相关模式的环境变量——按披露说明,它只回传变量名称而非取值,但通过这些名称,攻击者即可精准定位值得进一步窃取的凭据(例如某个云厂商的密钥变量名),再配合植入的 SSH 密钥与隧道实现持续访问。
清理步骤不简单:卸载扩展只是第一步,还必须终止隧道与重试进程、删除持久化残留、移除植入的 SSH 密钥与临时隧道密钥、检查 Remote Login 设置;若机器当时开启了 SSH 或存在入站访问,还需轮换相关凭据。Cursor 已下架受影响版本并发布安全通告。
为什么这条值得单独成篇
本月我们已经连续报道了三起同类事件:LiteLLM 1.107.0 的 PyPI 投毒(.pth 窃密器+后门,随 Python 启动执行)、OpenCode 的密钥泄露事件,以及 eMudhra 中级 CA 私钥可被直接恢复(导致 macOS 的 git 仍信任受损根证书)。三次的共同点不是技术难度,而是信任链条上的某一环被默认信任。
放到 Claude Code 这个案例上,冲击力更强一层:被投毒的不是第三方仿冒扩展,而是官方扩展本体——开发者在 IDE 里点开一个「看起来是官方」的扩展,安装路径、市场页面、签名流程全都给了正确性错觉;而它恰好又是能读你全部代码、跑命令、调 agent 的工具,权限是所有 AI 工具里最高的一档。
给团队的立即动作:① 检查 Cursor 市场里安装的 Claude Code 扩展版本,若在 2.1.312/2.1.313 区间,立即停用并按上述步骤清理;② 把「AI 编码工具的扩展与插件」纳入企业软件白名单审查流程——要求核对发布者来源与官方仓库,而非仅看名称;③ 参照此前 HTTP2Shell 事件的建议,锁定扩展版本而非跟随自动更新,在补丁可用前手动控制升级节奏。
更深一层的启示:当 AI 编码 agent 成为日常生产力工具,它的安装面、扩展面与凭据触达面就等同于生产环境的运行时——供应链攻击的收益也因此成倍放大。采购与安全评审清单上,「我们用了哪些 agent 及其扩展」应当和「我们用了哪些中间件」放在同一张表里。ProMen 在为客户搭建 AI+ 开发流程时,已将 agent 扩展的来源核验与版本锁定列为标准项。