77 个伪造的 Open VSX 扩展收集了开发者和 CI 元数据
Manifold Security 将这些软件包绑定到同一域;在 Open VSX 删除它们之前,对 19 个 Git 仓库和构建环境进行了分析。
By Ryan Merket · Published
Primary source: BleepingComputer
Why it matters
Developer extensions run inside environments connected to private repositories and build systems. Counterfeit packages can map that infrastructure without stealing source code or credentials, defeating defenses focused only on conventional malware signatures.

安全研究人员在 Open VSX Registry 上发现了 77 个仿冒扩展,它们复制了真实的开发者工具,同时将机器和开发环境数据发送到由单一操作者控制的基础设施。
Manifold Security 研发主管 Ax Sharma (@Ax_Sharma) 和研究员 Cody Nash 在 7 月 26 日到 8 月 1 日之间识别出了这些扩展,详情见 Manifold 的技术报告。BleepingComputer 报道 称 Open VSX 已在 8 月 3 日前移除了这些包。但从注册表中移除并不会卸载已存在于开发者机器、构建镜像或云工作区中的扩展。
Manifold 由 Neal Swaelens (@NealSwaelens)、Oleksandr Yaremchuk (@alex_yaremchuk) 和 Michael McKenna 创立。Swaelens 和 Yaremchuk 曾构建 Laiyer AI 及其开源的 LLM Guard 工具包,该公司已被 Protect AI 于 2024 年 1 月收购(见链接)。他们的新公司押注于安全团队需要在运行时监控 AI 代理和开发者工具的行为,而不是仅依赖包描述或安装前的扫描。
这次在 Open VSX 的发现直接证明了这一论点。仿冒包使用可读代码,避免明显的凭证窃取,并以遥测的形式披露了大部分数据收集内容。只有当研究人员将扩展声明的功能与它们收集的数据和所联系的系统进行比较时,它们的区别性行为才变得清晰。
One campaign, two levels of reconnaissance
所有 77 个扩展复用了真实 Open VSX 包的名称、命名空间和描述,同时由无关账户发布仿冒品。大多数扩展的版本号为 0.0.1。这些包并未交付所宣称的功能,而是将合法扩展捆绑的 extension.js 代码替换为一个信标,并在状态栏显示指示器或消息,表明扩展处于激活状态。
被复制的身份涵盖了包括 AMD、Azure、Salesforce、Hyperledger、LEGO Education、IOTA 以及一个美国政府机构命名空间等技术与组织。Manifold 表示真实发布者未参与此事件,他们的真实扩展未受影响。
其中 58 个包发送了相对窄范围的数据,通常为机器主机名,在某些变体中还包括工作区文件夹名称或编辑器版本。其余 19 个在激活后大约四到五秒钟内收集了更广泛的配置数据。
这 19 个收集了操作系统用户名和主机名、机器标识符、编辑器名称和版本、处理器架构、语言环境、时区以及打开工作区的完整文件系统路径。它们检查 .git 下的选定文件以识别远程主机和组织、开发者配置的提交电子邮件中的域、当前分支和 HEAD 提交哈希。
这些扩展还枚举了多达 60 个已安装扩展,并检查与 GitHub、GitLab、Azure DevOps、Buildkite、CircleCI、GitHub Codespaces 和 Gitpod 关联的标识符。在构建运行器或云开发环境中,其中一些变量可能泄露私有仓库的完整名称或路径。
Manifold 未发现这些包访问源代码、凭证、认证令牌、SSH 材料或浏览器数据的证据。研究人员未将此次活动归因于某一方或指明动机。所收集的元数据仍足以绘制出组织的开发栈、仓库结构和持续集成提供商的映射。
The telemetry disclosure concealed the central risk
扩展列表中包含了一个遥测(telemetry)部分,并准确描述了几个被收集的字段。它们也声明未访问源代码和凭证,Manifold 通过检查代码确认了这一点。
问题出现在 CI 数据的披露上。列表称这些包检测到 CI 标记的名称但未传输其值。Manifold 发现代码实际上发送了两者,包括可以识别私有项目的变量。列表还省略了检查扩展是否通过仓库的 devcontainer.json 或 .vscode/extensions.json 配置被安装的这一项。
这一区别将使操作者能够确定某人是有意安装了某个包,还是项目自动化将其拉到机器上。随着编辑器设置越来越多地迁移到仓库配置、云工作区和自动化配置,仿冒名称可以在开发者未阅读市场页面的情况下扩散开来。
每个包都联系了 mangorbit[.]com,该域名于 7 月 15 日注册,比第一个扩展出现早 11 天。每个扩展携带一个独立的跟踪标识符。大多数使用 pulse.mangorbit[.]com 或 pulse2.mangorbit[.]com,而其他变体使用某个 API 主机或随机子域名。
一些包会持续尝试传输数据长达七天。它们包含后备收集端点,并且如果其硬编码的服务器停止响应,还可以查询 DNS TXT 记录以获取替换 URL。Manifold 在 8 月 4 日发布报告时表示,这些基础设施仍在运行。
Open VSX's identity problem
Eclipse Foundation describes Open VSX 为一个由社区驱动的、用于发布和消费 VS Code 扩展的开放平台。它向包括 Gitpod、VSCodium 和 Eclipse Theia 在内的软件提供扩展,为 Microsoft 的 Visual Studio Marketplace 提供了一个替代的分发渠道。
这种分离为相同扩展名称创造了不同的所有权系统。一个在 Microsoft 市场中控制某个命名空间的发布者,可能并不在 Open VSX 上拥有该命名空间。那 77 个包正是利用了这一漏洞,将熟悉的名称和描述与无关的发布者账户配对发布。
Eclipse 在 2025 年 10 月表示,在早期的恶意扩展事件之后,它将引入自动化的发布时扫描。最近的一份 Open VSX 安全工作说明 要求在发布前进行恶意软件检查、名称抢占检测、秘密扫描、二进制检查,并对未通过审查的包进行隔离。
最新的活动展示了这项工作更难的一面。这些扩展并不需要混淆、执行 shell 或窃取凭证的代码就能为操作者创造价值。它们的网络行为以及与所宣称用途的不匹配提供了最强烈的警告信号。
Manifold 建议在其报告中列出的扩展标识符范围内,搜索开发者系统、CI 镜像和工作区配置文件,阻断 mangorbit[.]com,并将未验证发布者的警告视为自动安装的阻断条件。
该研究同时也为 Manifold 的商业战略提供了及时的证明。该公司于 3 月 18 日宣布了一轮 800 万美元的种子轮融资(见链接),由 Costanoa Ventures 领投,Cherry Ventures、Rain Capital 和 Modern Technical Fund 参与。Manifold 正在利用这笔资金为 AI 代理和第三方开发者组件构建运行时监控。Open VSX 的这些包说明了该公司为何专注于安装后的行为:看似可信的列表和干净的静态扫描仍可能放行主要用于分析运行其环境的软件。