一、背景与问题描述
1.1 AI IDE 生态现状
过去 12 个月,以大型语言模型(LLM)为驱动的代码生成工具迅速融入开发者工作流。Cursor、Windsurf 和 Google Antigravity 等新一代 AI IDE 基于微软 VSCode 构建,通过集成 Claude、GPT-4 和 Gemini 等模型,提供代码补全、多文件编辑和自主任务执行能力。这些平台因便捷性和开发效率的提升而快速获得采纳,累计用户数已超过 100 万。
然而,这些 IDE 并非从零开始开发,而是通过分叉(fork)VSCode 源代码实现。分叉模式虽然加快了开发周期,但也继承了原项目的核心设计决策——包括扩展推荐逻辑。
1.2 核心漏洞机制
配置继承问题: VSCode 的扩展推荐配置硬编码了指向微软官方 Visual Studio Marketplace 的指针。然而,Cursor、Windsurf 和 Google Antigravity 因法律和许可限制无法直接使用微软的扩展市场,转而依赖 Eclipse Foundation 运营的开源替代品 OpenVSX。尽管如此,这些 IDE 在分叉过程中保留了原始配置,未做适当调整。
推荐触发机制: n8n 等 AI IDE 的扩展推荐分为两类:
基于文件的推荐:检测到用户打开特定文件类型(如 azure-pipelines.yaml)时自动推荐对应扩展
基于软件的推荐:检测到系统已安装特定应用(如 PostgreSQL)时触发推荐
命名空间劫持风险: 关键问题在于,这些推荐的扩展(如 ms-ossdata.vscode-postgresql、ms-azure-devops.azure-pipelines)在 OpenVSX 中通常不存在对应实体,这意味着发布者命名空间处于”未声明”状态。任何攻击者都可以注册这些命名空间,上传恶意扩展,而 IDE 的推荐机制会自动向用户显示这些恶意版本,就如同它们是官方产品。
1.3 概念验证与实际影响
Koi Security 研究人员通过概念验证(PoC)验证了该攻击的可行性。他们声称了包括以下在内的多个未声明命名空间:
ms-ossdata.vscode-postgresql
ms-azure-devops.azure-pipelines
msazurermtools.azurerm-vscode-tools
usqlextpublisher.usql-vscode-ext
cake-build.cake-vscode
研究人员上传了明确标注为占位符、不含任何功能的扩展,即使如此,仍有超过 1,000 名开发者安装这些扩展,其中 500 多个安装发生在扩展完全缺乏图标和清晰标签的情况下。这一数据充分表明了开发者对 IDE 推荐的高度信任,以及攻击的实际可行性。
二、技术分析
2.1 供应链攻击的完整攻击链
该漏洞属于第二类供应链攻击——即通过对开发者信任的工具进行污染,从而实现大规模下游影响。与传统的针对软件包的攻击(如 Shai-Hulud 2.0 npm 蠕虫)不同,该漏洞的攻击向量更加直接且难以防御:
初始入口:攻击者检测 OpenVSX 中未声明的命名空间(通过扫描 IDE 配置文件识别)
命名空间注册:在 OpenVSX 中注册被目标 IDE 推荐的命名空间
恶意扩展上传:编写包含后门、凭证盗取或数据外泄逻辑的恶意扩展
自动推荐触发:当用户打开特定文件或系统检测到相关应用时,IDE 自动推荐恶意扩展
用户安装与激活:由于推荐的可信度,大多数用户无需额外验证即安装该扩展
代码执行与持久化:恶意扩展获得对 IDE 进程、文件系统和用户凭证的完整访问权限
2.2 信息安全影响评估
该漏洞的影响范围涵盖开发者生态的多个关键资产:
| 影响类别 | 具体风险 | 威胁等级 |
|---|---|---|
| 代码完整性 | 恶意扩展可在开发过程中直接修改源代码,注入后门或漏洞 | 严重 |
| 凭证泄露 | 访问环境变量中的 SSH 密钥、AWS 凭证、API 令牌、数据库密码 | 严重 |
| 源代码盗取 | 上传项目代码到攻击者控制的服务器,导致知识产权泄露 | 严重 |
| 供应链毒化 | 开发者被动传播恶意代码至其编译产物,影响下游用户 | 严重 |
| 持久化访问 | 在开发环境建立后门,进行长期监视和横向移动 | 严重 |
| 隐蔽性 | 扩展代码通常在用户低关注区域执行,难以被检测 | 中等 |
2.3 开源生态漏洞关联
该事件与 2025 年的多起重大供应链事件构成体系性风险模式:
OpenVSX 漏洞(2025 年 6 月):Koi Security 发现 OpenVSX 的发布流程中的 CI/CD 缺陷允许攻击者劫持 OVSX_PAT 环境变量,从而获得对整个市场的写权限。该漏洞级别为”一键全市场接管”,影响超过 800 万开发者。
Shai-Hulud npm 蠕虫(2025 年):该自传播型恶意软件通过在已被攻破的 npm 包中注入代码,自动劫持开发者的 npm 令牌,并使用这些令牌污染其他软件包。该攻击最终影响 500+ 个软件包版本。
GitHub Actions 供应链事件(2025 年 3 月):广泛使用的 tj-actions/changed-files Action 被攻击者修改,导致 CI/CD 秘钥在公开日志中泄露。
这些事件共同指出,开发者工具链已成为最高价值的攻击目标,因为单次入侵可对成百上千的下游项目造成影响。
三、厂商响应与修复情况
3.1 披露时间线与厂商态度对比
| 厂商 | 报告日期 | 首次响应 | restoration status | 修复速度评级 |
|---|---|---|---|---|
| Cursor | 2025/11/23-24 | 迅速确认 | 2025/12/1 修复完成 | ✅ 优秀(8 天) |
| 2025/11/23-24 | 两次拒绝后接纳 | 2025/12/26 部分修复;2026/1/1 完全修复 | ⚠️ 缓慢(39 天) | |
| Windsurf | 2025/11/23-24 | 完全无响应 | 未修复 | ❌ 无响应 |
分析要点:
Cursor 的快速响应体现了成熟的安全团队体系,8 天内完成修复表明该公司对漏洞管理流程的重视。
Google 初期采取”Won’t Fix”的态度,表明其对漏洞严重程度的初期评估不足。在社区和媒体压力下,Google 分阶段修复:首先在 12 月 26 日移除 13 个推荐,随后在 1 月 1 日确认完全修复。这种分阶段响应可能反映了内部推广和优先级排序的复杂性。
Windsurf 的无响应状态最为令人担忧,因为该平台拥有广泛的企业用户基础,长期的修复延迟意味着这些用户持续暴露于风险中。
3.2 修复方案
Cursor 和 Google 的修复方案基于以下原理:
推荐列表清理:移除指向不存在扩展的推荐条目
配置校验:在构建时验证推荐的扩展确实存在于 OpenVSX 中
命名空间验证:确保推荐的发布者是官方认证身份
版本锁定:硬编码指向特定版本的扩展,而非依赖动态解析
四、生态防御与长期挑战
4.1 Eclipse Foundation 风险响应
作为 OpenVSX 的运营方,Eclipse Foundation 采取了系统性防御措施:
命名空间验证强化:实施更严格的发布者身份验证流程,防止未授权方声称官方命名空间
扩展签名机制:推动引入扩展数字签名,使得用户能够验证扩展的真实来源
安全审计:与 Koi Security 协作,对 OpenVSX 中的已声明命名空间进行全面审计,识别并清除可疑条目
发布工作流加强:改进 CI/CD 管道的凭证管理,防止环境变量泄露
4.2 系统性风险与 MITRE ATT&CK 框架更新
MITRE 在 2025 年 4 月正式将”IDE Extensions”列入 ATT&CK 框架,标志着该类攻击已升级为可操作的威胁技术。该新增技术代码为 Txxxx,涵盖以下子技术:
恶意扩展推荐:通过 IDE 的推荐机制分发恶意扩展
扩展命名空间劫持:注册并冒充官方扩展命名空间
后装恶意代码:通过扩展更新流程为合法扩展注入恶意代码
该更新反映了产业已普遍认识到 IDE 扩展作为攻击向量的系统性风险。
4.3 开发者安全建议
鉴于扩展推荐机制的信任基础,个人开发者应采取以下防御措施:
手工验证:在安装推荐扩展前,手动访问 OpenVSX 官网验证该扩展确实来自标注的发布者
The principle of least privilege:定期审计已安装扩展,仅保留必需的扩展,禁用不活跃的扩展
凭证管理:避免在 IDE 中以明文形式存储敏感凭证;使用密钥管理系统(如 1Password、HashiCorp Vault)
环境隔离:在关键项目中使用容器化或虚拟机隔离 IDE 环境
扩展监测:部署端点监测工具(EDR),追踪扩展进程的网络行为和文件访问
4.4 企业级治理建议
对于采用 AI IDE 的组织,建议实施以下治理框架:
| 治理维度 | 具体措施 |
|---|---|
| 资源清单 | 维护所有部署 IDE 版本的实时清单,包括用户、部署位置和敏感项目关联 |
| 扩展白名单 | 通过 IDE 配置、EDR 规则或网络隔离强制执行扩展白名单 |
| 代码签署验证 | 实施流程确保所有代码推送前都经过签署与扫描,检测扩展修改的代码 |
| 日志聚合 | 聚合 IDE 进程日志,追踪扩展安装、启用、网络调用等事件 |
| Supplier evaluation | 要求 IDE 厂商提供安全性评估报告、漏洞响应 SLA、扩展市场治理政策 |
| 培训意识 | 定期为开发团队进行安全培训,重点关注社会工程学与扩展风险 |
五、系统性攻击面风险
5.1 VSCode 生态的脆弱性
当前的 IDE 开发范式中存在深层结构问题:
VSCode 虽然开源,但其在企业环境中的垄断地位导致新兴厂商不得不通过分叉来快速进市。然而分叉模式继承了原项目的所有配置、依赖和隐性假设,安全更新的扩散也面临碎片化挑战。这在技术债的角度上构成了长期风险。
5.2 AI IDE 不断扩展的威胁面
相比传统 IDE,AI IDE 引入了新的攻击面:
LLM 模型中毒:恶意输入提示词可能导致模型生成包含后门的代码
上下文泄露:AI 模型在处理代码时可能将敏感信息发送到云端
权限提升:AI 代理模式可能在自主执行任务时跨越用户设定的权限边界
5.3 产业与监管预期
2025 年监管对供应链安全的关注达到历史高点。美国网络安全行政令 14144 和欧盟《网络韧性法案》均对软件供应链提出明确要求。在此背景下,IDE 厂商面临以下压力:
实施 SBOM(软件物料清单)公示扩展依赖
提供修复时间承诺(SLA)并公开披露响应情况
通过三方审计证明扩展市场的安全性
六、结论与建议
该漏洞事件反映了新兴 AI 开发工具在快速创新与安全防御之间的根本张力。Cursor 的快速响应为业界树立了标准,而 Google 和 Windsurf 的延迟暴露了不同组织在安全优先级上的差异。
主要建议:
- 立即行动:所有 AI IDE 用户应更新至最新版本(Cursor ≥ 修复版本,Google Antigravity ≥ 1 月 1 日版本),Windsurf 用户应考虑迁移至已修复的替代品或主动限制扩展
- 生态治理:Eclipse Foundation 应继续强化 OpenVSX 的安全机制,并与所有下游 IDE 厂商建立定期安全协议
- 技术标准:提议 OWASP 和 CWE 社区为 IDE 扩展攻击建立标准化的检测与缓解框架
- 长期投资:鼓励生成式 AI 与开发工具融合的同时,建立相应的安全评估体系
该事件也提醒开发者社区,信任不应建立在单一的自动化推荐机制上。在 AI 赋能工具日益深入开发流程的时代,人工验证和多层防御仍是必不可少的。
参考来源:
BleepingComputer. “VSCode IDE forks expose users to ‘recommended extension’ attacks.” 2026/1/5.
https://www.bleepingcomputer.com/news/security/vscode-ide-forks-expose-users-to-recommended-extension-attacks/
Codecademy. “Agentic IDE Comparison: Cursor vs Windsurf vs Antigravity.” 2025/12/29.
https://www.codecademy.com/article/agentic-ide-comparison-cursor-vs-windsurf-vs-antigravity
Veracode. “Software Supply Chain Attacks in 2025.” 2025/9/23.
Software Supply Chain Attacks in 2025: What We Learned from Gartner®
The Hacker News. “Critical Open VSX Registry Flaw Exposes Millions of Developers.” 2025/6/26.
https://thehackernews.com/2025/06/critical-open-vsx-registry-flaw-exposes.html
Silobreaker. “12 Months That Changed Supply Chain Security.” 2025/12/16.
https://www.silobreaker.com/blog/cyber-threats/supply-chain-attacks-in-2025-a-month-by-month-summary/
Security Affairs. “Taking over millions of developers exploiting an Open VSX Registry flaw.” 2025/6/26.
https://securityaffairs.com/179398/hacking/taking-over-millions-of-developers-exploiting-an-open-vsx-registry-flaw.html
OWASP. “A03 Software Supply Chain Failures – OWASP Top 10:2025.”
https://owasp.org/Top10/2025/A03_2025-Software_Supply_Chain_Failures/
Koi Security. “How We Could’ve Taken Over Every Developer Using a VSCode Fork.” 2025/6/25.
https://www.koi.ai/blog/marketplace-takeover-how-we-couldve-taken-over-every-developer-using-a-vscode-fork-putting-millions-at-risk
Microsoft. “Shai-Hulud 2.0: Guidance for detecting, investigating, and defending.” 2025/12/8. https://www.microsoft.com/en-us/security/blog/2025/12/09/shai-hulud-2-0-guidance-for-detecting-investigating-and-defending
Koi Security. “How We Prevented Cursor, Windsurf & Google Antigravity from Recommending Malware.” 2026/1/5.
https://www.koi.ai/blog/how-we-prevented-cursor-windsurf-google-antigravity-from-recommending-malware
Eclipse Foundation. “Vulnerability in Eclipse Open VSX Registry extension publication process.” 2025/6/26.
https://newsroom.eclipse.org/news/announcements/vulnerability-eclipse-open-vsx-marketplace-extension-publication-process
原创文章,作者:首席安全官,如若转载,请注明出处:https://www.cncso.com/en/ai-ide-cursor-windsurf-google-antigravity-report.html
