恶意扩展通过VS市场传播:开发者令牌泄露与供应链攻击分析
扩展市场中的安全漏洞
粗心的开发者在向两个开放市场发布Visual Studio扩展时,包含了可被威胁行为者利用的访问令牌和其他密钥,这一发现由安全厂商Wiz在今年早些时候完成。
Wiz研究人员发现了超过550个经过验证的密钥,分布在来自数百个VS扩展发布者的500多个扩展中。这些密钥包括:
- AI平台密钥:OpenAI、Gemini、Anthropic、xAI、DeepSeek、HuggingFace和Perplexity
- 高风险专业平台密钥:AWS、Github、Stripe、Auth0和Google Cloud Platform
- 数据库密钥:MongoDB、Postgres和Supabase
泄露规模与影响
在VSCode Marketplace扩展中识别出超过100个有效的Azure DevOps个人访问令牌,代表超过85,000次扩展安装的基础。
识别出超过30个泄露的OVSX访问令牌,代表超过100,000次扩展安装。
报告指出,密钥泄露的最大贡献者是开发者捆绑隐藏文件(也称为点文件)。.env文件的数量尤其突出,尽管扩展源代码中的硬编码凭据也很普遍。
攻击向量演变
平台响应措施
微软和Wiz发起了一项通知活动,提醒受影响的发布者并帮助他们解决这些漏洞。微软还在扩展发布到其市场之前集成了密钥扫描功能,现在会阻止包含已验证密钥的扩展,并在检测到密钥时通知扩展所有者。
OpenVSX也为其令牌添加前缀(ovsxp_)。
供应链攻击威胁
更糟糕的是,一些威胁行为者意识到有机会利用这些市场来毒化扩展供应链,就像他们近年来试图在许多情况下成功地将恶意代码植入NPM、GitHub和其他开放代码存储库中一样。
Wiz调查是由2月份发现威胁行为者试图在经典供应链攻击中将恶意软件引入VSCode Marketplace触发的,这可能使其广泛传播。
安全专家观点
SANS研究所研究院长Johannes Ullrich评论道:“开发者是攻击的主要目标。他们通常没有意识到,他们安装的任何扩展,即使看起来是无害的,例如改变代码颜色的扩展,都可以完全访问他们的代码,并可能在未明确通知开发者的情况下进行修改。”
加拿大安全意识公司Beauceron Security负责人David Shipley表示:“网络犯罪分子和国家行为者已经找到了安全链中的新薄弱环节:软件供应商生态系统。这种情况已经发生过很多次,这是一个明显的系统性问题。”
VS扩展的安全意义
扩展和主题可以添加到Visual Studio代码中,以使开发人员的生活更轻松,并增强功能。扩展可以添加调试器、新语言或其他开发工具等功能,而主题是一种改变编辑器外观的扩展,控制颜色和字体等内容。
微软创建了VSCode Marketplace,作为开发人员浏览扩展和主题的便捷场所。但是,在将完成的代码上传到VSCode或OpenVSX市场之前未清理其工作的开发人员,可能会泄露授予任何人自动更新扩展能力的访问令牌。如果这些令牌由威胁行为者控制,他们可以将扩展的所有实例自动更新为恶意版本。
相关恶意活动
在单独的发现中,Koi Security的研究人员发现已经从VSC和Open VSX市场下载了由威胁组织TigerJack放置的11个恶意扩展超过17,000次。该活动的两个流行扩展"C++ Payground"和"HTTP Format"已被删除,但该操作继续通过使用新帐户重新上传感染恶意软件的代码来进行。
安全建议
Wiz对VSCode用户的建议:
- 限制工作中安装的扩展数量。每个扩展都会引入扩展的威胁面,应权衡其使用好处
- 审查扩展信任标准。在采用前考虑安装普及度、评论、扩展历史记录和发布者声誉等元数据
- 考虑自动更新的权衡。自动更新扩展确保您收到安全更新,但会引入受损扩展将恶意软件推送到您机器的风险
企业安全团队应:
- 开发IDE扩展清单,以便响应恶意扩展报告
- 考虑为VSCode扩展创建集中允许列表
- 考虑从VSCode Marketplace获取扩展,该市场目前具有更高的审查严格度和控制,优于OpenVSX Marketplace
Wiz的McCarthy表示,领导者应使用设备管理和端点安全工具来清点扩展并强制执行允许列表。集中批准扩展有助于降低风险,但保持开发人员的灵活性也很重要,让他们使用推动创新的工具。扩展带来真正价值,但如果管理不当,其长尾可能会引入重大的攻击面。