VS Code 新增 2 小时扩展自动更新延迟,应对软件供应链攻击
微软旗下流行的集成开发环境 VS Code 从版本 1.123 开始,推出新安全机制,扩展程序发布后将自动延迟 2 小时才进行更新。当用户启用自动更新功能,VS Code 扩展商店中的扩展新版本发布后,会等待 2 小时才被 IDE 自动推送更新。
近年来软件供应链攻击急剧增加,攻击者通过入侵开源生态中的第三方依赖,向更广泛的下游开发者传播恶意代码。由于开发者普遍信任常用开发工具的更新提示,这类攻击成功率极高。VS Code 扩展生态市占率极高,大量开发者依赖扩展管理工作流,且扩展具备执行任意代码的权限,恶意扩展危害极大。微软此举旨在为“问题版本或可能被入侵的版本”添加安全缓冲。
2 小时的延迟不适用于来自受信任发布者的扩展,如微软、GitHub、OpenAI 等厂商的扩展仍可即时更新。这是因为大多数有问题的扩展更新来自第三方未知来源,而头部厂商的扩展通常已经过严格的安全审核,这种分层设计兼顾了安全防御与开发者体验。
2024 年至 2025 年间,多个主要包管理器已相继引入类似的延迟机制。RubyGems 在 Bundler 4.0.13 中新增可选的安装冷却功能,Bun、pnpm、npm 和 Yarn 也都加入了 minimumReleaseAge 参数,要求新发布的包版本满足最小发布时长才能被安装,目标都是缩短恶意包在发布后、安装前的可操作窗口。
未来,VS Code 需持续优化该安全机制,平衡安全与开发者体验。在商业化方面,安全功能的增强可能吸引更多企业用户,提升产品竞争力。但也需警惕安全机制可能带来的性能损耗等问题。编辑观点:VS Code 此次更新是应对安全威胁的积极举措,分层设计较为合理,有望提升其安全性和市场竞争力。
