Visual Studio Code等IDE存在新漏洞,恶意扩展可绕过验证状态

image

  漏洞概述

  最新研究表明,Microsoft Visual Studio Code、Visual Studio、IntelliJ IDEA 和 Cursor 等集成开发环境(IDE)在扩展验证流程中存在缺陷,可能导致攻击者在开发者设备上执行恶意代码。OX Security 研究人员 Nir Zadok 和 Moshe Siman Tov Bustan 向 The Hacker News 透露:"我们发现 Visual Studio Code 存在验证检查缺陷,允许发布者在保持扩展验证图标的同时添加新功能,这会导致恶意扩展可能显示为已验证状态,制造虚假信任感。"

  技术细节

  分析发现,Visual Studio Code 会向"marketplace.visualstudio[.]com"域名发送 HTTP POST 请求来验证扩展状态。攻击方法主要是创建与已验证扩展(如微软官方扩展)具有相同验证值的恶意扩展,从而绕过信任检查。这使得恶意扩展能够以"已验证"状态呈现给开发者,同时包含可执行操作系统命令的代码。

  从安全角度看,这是典型的扩展旁加载(extension sideloading)滥用案例。由于缺乏严格的代码签名机制或可信发布者验证,即使是看似合法的扩展也可能隐藏危险脚本。对攻击者而言,这为实现远程代码执行(RCE)提供了低门槛入口,在经常存储敏感凭证和源代码的开发环境中尤为危险。

  验证过程缺陷

  网络安全公司的概念验证(PoC)显示,恶意扩展被配置为在 Windows 设备上打开计算器应用,证明其具备在主机上执行命令的能力。通过识别验证请求中的特定值并修改它们,攻击者可以创建看似合法的 VSIX 包文件。OX Security 证实,该漏洞在 IntelliJ IDEA 和 Cursor 等其他 IDE 中同样存在,修改验证值后扩展仍能保持"已验证"状态。

  厂商回应与风险提示

  微软回应称该行为属于设计预期,并表示默认启用的扩展签名验证将阻止此类 VSIX 扩展发布到官方市场。但截至 2025 年 6 月 29 日,该漏洞仍可被利用。研究人员警告:"攻击者能够向扩展注入恶意代码,打包为 VSIX/ZIP 文件并安装,同时保持多个主流开发平台上的验证标识,这构成严重风险。特别影响从 GitHub 等网络资源安装扩展的开发者。"

  安全建议指出,仅依赖扩展验证标识存在风险,开发者应直接从官方市场安装扩展,避免使用网络分享的 VSIX 文件。

  参考来源:New Flaw in IDEs Like Visual Studio Code Lets Malicious Extensions Bypass Verified Status