随着开源软件生态系统的迅速发展,Visual Studio Code(简称VS Code)作为广受欢迎的代码编辑器,其扩展市场也日益繁荣。然而,近期安全研究人员发现,VS Code市场存在一个重大漏洞,攻击者能够利用该漏洞重新发布被删除的扩展,甚至使用相同的名称,从而蒙骗用户下载安装恶意软件,这一问题引发了业界对软件供应链安全的新一轮担忧。安全公司ReversingLabs在2025年8月披露了这一漏洞。该公司发现了一款名为“ahbanC.shiba”的恶意扩展,这款扩展与此前在同年3月被标记的“ahban.shiba”和“ahban.cychelloworld”扩展极为相似。通过这一系列扩展,攻击者能够下载并执行隐藏的PowerShell载荷,进而锁定受害者Windows桌面上的“testShiba”文件夹,进行勒索活动,要求受害者向未知钱包地址支付“Shiba Inu”加密货币作为赎金。令人警觉的是,这三个扩展虽然名称相似,但具有不同的发布者身份,从而绕开了VS Code市场对扩展名称唯一性的检查。
VS Code官方文档明确指出扩展名称必须全小写且无空格,且在市场上唯一。然而,研究人员Lucija Valentić发现,一旦扩展被删除,其名称即变得可被任何人重新使用,这使得恶意发布者能够“抢注”这些名字,以进行恶意操作。与VS Code类似,PyPI仓库此前也暴露出相同的漏洞,删除软件包后名称将重新开放给其他用户使用。但值得注意的是,PyPI针对恶意软件包设置了特别的保护机制,防止其名称被再次滥用。相较而言,VS Code尚缺乏类似的防护措施,直接导致其市场上的扩展名称安全性存在缺陷。安全专家指出,开源生态系统因其开放性,成为攻击者频繁利用的软件供应链攻击渠道。
攻击者不仅采用了基本的名称复用,更通过层层混淆代码,深入嵌入恶意载荷,针对用户密码、信用卡信息、数字货币钱包数据等敏感信息展开窃取。调查还发现,一组伪装成npm包的恶意软件分别在多个版本中发布,使用了多达七十层的代码混淆,以躲避传统安全检测,最终激活包含Python恶意代码的数据窃取程序。当前,这些恶意扩展以及npm包均借助于伪装与名称欺骗策略,伪装成流行或常用库,从而提升被下载和使用的概率。针对上述威胁,业内专家建议开发者与企业必须树立全链路软件供应链安全意识。首先,对所有扩展及第三方依赖进行持续的自动化扫描和验证,确保其来源可靠且无已知恶意行为。其次,关注社区和安全研究机构发布的安全通告,及时调整使用策略和版本控制,避免使用存在安全争议的软件包。
与此同时,推动VS Code官方提高市场管理机制也势在必行。官方应考虑引入恶意发布者黑名单,严格限制删除扩展名的重复使用权,避免名称被恶意抢注。增加扩展身份验证和行为审计措施,提前发现异常行为,有效阻止恶意软件传播。恶意扩展事件的爆发也再次印证了开源生态系统复杂多变的安全挑战。开发者不应盲目信任扩展市场中的每一个资源,而应利用安全工具与最佳实践进行风险管控。此外,企业应加强对开发团队的安全培训,构建安全文化,确保供应链安全成为日常开发流程的不变标准。
面向未来,安全自动化技术的引入能够极大提升对威胁的响应速度。利用人工智能驱动的代码分析工具和实时威胁情报,能够快速识别潜在恶意扩展,阻断攻击链条。社区合作同样关键,各方携手建设透明、可信赖的开源生态,为所有开发者和用户提供更安全的开发与使用环境。综上所述,Visual Studio Code中的扩展名称复用漏洞揭示了软件供应链安全的新隐患,提醒全球开发者与安全从业者必须增强安全防范意识,采用多层次的技术与管理手段防范类似威胁。唯有如此,才能保障开源软件健康发展,维护开发者及用户的切身利益。