标签 扩展推荐 下的文章

基于人工智能的流行集成开发环境解决方案(如 Cursor、Windsurf、Google Antigravity 和 Trae)会推荐 OpenVSX 注册表中不存在的扩展,这使得威胁行为者能够占用其命名空间并上传恶意扩展。

这些 AI 辅助 IDE 是从 Microsoft VSCode 分支而来,但由于许可限制,无法使用官方商店中的扩展。相反,它们由 OpenVSX 提供支持,这是一个适用于 VSCode 兼容扩展的开源市场替代方案。

分支的结果是,这些 IDE 继承了官方推荐扩展列表,这些列表硬编码在配置文件中,并指向 Microsoft 的 Visual Studio Marketplace。

这些推荐以两种形式出现:一种是基于文件的,在打开如 azure-pipelines.yaml 这类文件时触发,并推荐 Azure Pipelines 扩展;另一种是基于软件的,在检测到开发者系统上安装了 PostgreSQL 时发生,并建议 PostgreSQL 扩展。

然而,并非所有推荐的扩展都存在于 OpenVSX 上,因此相应的发布者命名空间未被占用。

供应链安全公司 Koi 的研究人员表示,威胁行为者可能利用用户对应用推荐的信任,注册未被占用的命名空间来推送恶意软件。

研究人员于 2025 年 11 月下旬向 Google、Windsurf 和 Cursor 报告了此问题。Cursor 于 12 月 1 日做出反应,修复了该漏洞。Google 最初于 12 月 26 日从其 IDE 中移除了 13 个扩展推荐,并于 1 月 1 日将该问题标记为已修复。Windsurf 尚未回应研究人员。

与此同时,Koi 研究人员占用了以下扩展的命名空间,以防止恶意利用:

ms-ossdata.vscode-postgresql
ms-azure-devops.azure-pipelines
msazurermtools.azurerm-vscode-tools
usqlextpublisher.usql-vscode-ext
cake-build.cake-vscode
pkosta2005.heroku-command

研究人员上传了非功能性的占位扩展,这些扩展不提供实际功能,但仍能阻止供应链攻击。

此外,他们已与 OpenVSX 的运营方 Eclipse Foundation 协调,以验证剩余的引用命名空间,移除非官方贡献者,并应用更广泛的注册表级别保护措施。

目前,没有迹象表明恶意行为者在 Koi 研究人员发现并采取行动之前利用了此安全漏洞。

建议分支 IDE 的用户始终通过手动访问 OpenVSX 注册表并检查扩展是否来自信誉良好的发布者来验证扩展推荐。

更新 [东部时间 1月5日 14:09]:
文章已编辑,以反映 Cursor 告知 Koi 研究人员其已于 2025 年 12 月 1 日修复了该问题。