CloudGuard Spectral 在 VSCode 市场上检测到恶意扩展
安装这些扩展的用户使攻击者能够窃取 PII 记录并将远程 shell 设置到他们的机器
一旦检测到,我们会就这些扩展向 VSCode 发出警报。收到通知后不久,它们就被 VSCode 市场团队删除了。
VSCode(Visual Studio Code 的简称)是微软开发的一款流行的免费源代码编辑器。它是一个高效且可定制的编码环境,可以支持范围广泛的编程语言、框架和工具。VSCode 近年来大受欢迎,成为开发者最喜爱的代码编辑器之一。主要原因之一是VSCode Extensions Marketplace,这是一个中央枢纽,开发人员可以在其中发现和安装新的扩展以增强他们的编码体验。该市场包括官方 Microsoft 和社区开发的第三方扩展。
至于今天,市场包括大约 5 万个扩展。VSCode 扩展是可以安装以升级编辑器功能的附加组件。它们可用于添加新功能、支持新编程语言、与外部工具和服务集成等。恶意扩展程序可能会通过安装恶意软件、窃取用户数据或执行其他有害操作来给用户带来安全风险。
为了防止恶意扩展的传播,微软为 VSCode 扩展市场实施了多项安全措施,例如自动扩展扫描工具来检测和从市场中删除恶意扩展,以及用户评论和评级来识别和报告恶意扩展。直到今天,VSCode 市场上几乎没有发布可检测到的恶意扩展。
威胁行为者一直在寻找感染用户的新方法,而开源代码组件可能是常见的感染源——尤其是更常见的感染源。因此,我们决定调查 VSCode 扩展以寻找恶意扩展。
作为我们分析的一部分,我们发现并向 VSCode 团队披露了一些恶意扩展,总安装次数超过 45K。我们还发现了具有可疑代码模式但没有明显恶意迹象的扩展。一旦检测到,我们就向 VSCode 团队披露了我们的发现,并删除了扩展。
这些持续的发现强调了验证每个开源组件的必要性,而不仅仅是假设它会没问题。我们在下面包含了有关我们具体调查结果的详细信息。
VSCode 扩展市场
提到的第一个扩展被命名为“Prettier-Java”。根据它的简短描述,它应该是一个“java 助手”,可能是一个简单的域名抢注,试图通过模仿流行的Prettier-Java代码格式化程序项目来欺骗用户。查看扩展代码,我们可以看到一个经典的 PII 窃取代码,在 PyPI 发行版中很常见,搜索本地机密并使用 Discord webhook 将它们发送给攻击者。
来自 VSCode 市场的扩展描述主题 Darcula dark
下一个要提到的扩展被命名为“Theme Darcula dark”,根据它的描述,它应该是“尝试提高 VS Code 上的 Dracula 颜色一致性,使其在编码会话期间看起来更令人愉悦。” 这个扩展很有趣有两个原因;首先,它非常受欢迎,安装量超过 45k。
第二个是其中包含的恶意代码。虽然扩展应该是一个简单的主题配置(不应包含代码),但它有一个简单的 PII 窃取代码,这在 NPM 恶意包中很常见,将有关安装程序设置的大量元数据发送到远程机器。不应该存在的代码,特别是对于所谓的编辑器主题。
Python-vscode
最后一个恶意扩展名为“python-vscode”。虽然该扩展没有描述(因此,大多数用户甚至不应该知道或注意),但看到其相对较高的安装量表明它成功地吸引了 VSCode 用户下载和安装它——有效地感染了那些安装程序。对此的一个解释是扩展命名,它可以欺骗用户假设它是 Python 开发 VSCode 启用程序。查看扩展代码,我们遇到了一个被注入安装程序机器的混淆语句。有趣的是,这段代码是一个常见的 C# shell 注入器代码模式。
来自 VSCode 市场的扩展描述
来自扩展主 .js 代码的片段,注入混淆的 C# 代码
可能是在 Github 上找到的参考恶意代码
可疑但不明显是恶意的
作为我们分析的一部分,我们遇到了多个扩展使用可疑代码模式但同时又不是明显恶意的案例。更值得注意的案例是那些使用私有注册中心从所需的包(而不是 NPM,这可能是一种悄悄潜入恶意包的方式)进行安装的人,以及那些从通用 IP 地址下载资源的人。理论上两者都可以被滥用来感染安装程序,但目前似乎没有明确的证据表明确实如此。
披露——时间表
2023 年5 月 4日——提交给 VSCode 的披露
2023 年5 月 8日——VSCode 团队确认提交
2023 年5 月 14日——恶意扩展已从 VSCode 市场中删除
点它,分享点赞在看都在这里