微软旗下最流行的集成开发环境 VS Code 日前推出了一项新的安全机制:从版本 1.123 开始,扩展程序在发布后将自动延迟 2 小时后才进行更新。微软表示,这一设计旨在为"问题版本或可能被入侵的版本"添加一层额外的安全缓冲。

当用户启用自动更新功能时,VS Code 扩展商店中的任何扩展在发布新版本后,将等待 2 小时才会被 IDE 自动推送更新。微软在更新日志中解释称:"这新增了一层保护,以应对存在问题的或可能被入侵的版本发布。"
值得注意的是,这 2 小时的延迟不适用于来自受信任发布者的扩展——微软、GitHub、OpenAI 等厂商的扩展仍然享有即时更新的待遇。这一分层设计兼顾了安全防御与开发者体验:大多数有问题的扩展更新来自第三方未知来源,而头部厂商的扩展通常已经过严格的安全审核。
用户仍可选择手动更新任意扩展。在扩展有待处理更新时,VS Code 的详情视图中会显示该扩展尚未更新的原因,以及自动更新的预计时间。用户可以随时点击"更新"按钮绕过2 小时的等待窗口。
这一功能推出的背景是近年来软件供应链攻击的急剧增加。攻击者不再直接攻入目标系统,而是通过入侵开源生态中的第三方依赖——如 npm 包、PyPI 库或 IDE 扩展——来向更广泛的下游开发者传播恶意代码。由于开发者普遍信任来自常用开发工具的更新提示,这类攻击的成功率极高。
2024 年至 2025 年间,多个主要包管理器已相继引入了类似的延迟机制。RubyGems 在 Bundler 4.0.13 中新增了可选的安装冷却功能,允许开发者配置新发布版本的安装等待时间。Bun、pnpm、npm 和 Yarn 也都在近一年内加入了 minimumReleaseAge 参数,要求所有新发布的包版本必须满足最小发布时长才能被安装。这些包管理器设置的时间阈值各有不同,但目标一致:缩短恶意包在发布后、安装前的可操作窗口。
VS Code 扩展生态的特殊之处在于其极高的市占率。作为全球最流行的代码编辑器,VS Code 被数千万开发者日常使用,其中大量开发者依赖扩展来管理从代码补全到调试的各类工作流。一旦某个流行扩展的账户被入侵,攻击者发布的恶意更新可以在极短时间内触达海量终端。
更重要的是,VS Code 扩展天然具备执行任意代码的权限——它们运行在 IDE 进程内部,享有与编辑器本身相当的系统访问权限。这与传统包管理器中的库文件不同:后者如果被入侵,危害主要局限在应用运行阶段;而一个恶意的 VS Code 扩展可以直接访问项目文件、读取敏感配置,甚至在开发者不知情的情况下外传代码。
参考来源:https://thehackernews.com/2026/06/vs-code-adds-2-hour-extension-auto.html