xiand.ai
2026年4月21日 · 更新于 UTC 12:21
网络安全

软件专家警告:依赖包“冷却期”机制可能使未配置保护的用户沦为供应链防御的牺牲品

一份最新报告指出,“依赖包冷却期”机制本质上是一种“搭便车”模式,它依赖于那些未进行安全配置的开发者,让他们在不知情的情况下充当恶意代码的“免费测试员”。

Ryan Torres

1 分钟阅读

软件专家警告:依赖包“冷却期”机制可能使未配置保护的用户沦为供应链防御的牺牲品
Digital representation of a software supply chain with security vulnerabilities

据 calpaterson.com 报道,目前为了防范供应链攻击而日益流行的“依赖包冷却期”(dependency cooldowns)机制存在根本性缺陷,因为这种做法实际上是在利用其他开发者的“痛苦与损失”。

随着包管理器越来越多地采用延迟更新新版本软件的策略,批评人士认为这种做法制造了“搭便车”问题。该策略的核心逻辑在于:寄希望于在恶意更新被撤回之前,那些没有设置冷却期的用户能率先发现问题。

该媒体报道称:“依赖包冷却期机制是通过‘搭便车’来运作的,其代价是其他人的痛苦与损失。这一计划的核心在于,寄希望于那些‘不够聪明’、没有配置冷却期的人,能够充当新发布软件包的免费、无意识的测试员。”

除了伦理层面的争议,这种做法在碎片化的 Python 生态系统中也难以全面推行。目前,Python 至少使用了八种不同的包管理器,每种管理器和项目都需要进行单独的手动配置才能发挥作用。

即便是在配置正确的项目中,漏洞依然存在。只要在特定项目配置之外运行单个命令(例如手动执行 `pip install`),就可能绕过已建立的保护机制,使开发者面临黑客攻击的风险。

建立中央上传队列的必要性

专家建议,与其依赖去中心化的冷却机制,不如通过“上传队列”将延迟环节转移到中央依赖服务器上。这种方式可以将软件包的“发布”与“分发”过程分离。

通过建立上传队列,像 npm 或 PyPI 这样的中央索引库可以运行自动化的安全扫描,展示变更内容的公开差异对比(diff),并在代码进入公共领域之前,设置专门的公开测试期。

这种模式目前已在 Debian 项目中得到应用,它能将负担从个人开发者和包管理器身上卸下。此外,通过确保未经授权的变更在广泛分发前都必须在队列中接受检查,该模式还能降低因发布凭证被盗而导致的风险。

评论