npm 的发布冷却期只是安全表演

NPM's release cooldown is security theater

npm 的发布冷却期只是安全表演

近期,npm、pnpm 和 yarn 等包管理器纷纷引入发布冷却期,试图通过等待社区“审核”来防御生态攻击。但这其实是个陷阱:当所有人都在等别人先当“金丝雀”时,根本没人会去测试新包。依赖 CI/CD 和 Dependabot 也救不了场,恶意代码往往在合并后才被发现,为时已晚。与其被动等待,不如主动出击:把第三方代码当成随机下载的 Windows EXE 对待,用静态分析、沙箱和 LLM 辅助审计来真正保障安全。别再把希望寄托在“冷却期”这种安全表演上了。

当每个人都设置冷却期时,就没有早期采用者了;大家都在等别人当金丝雀,但那只金丝雀根本不存在。
  1. paulryanrogers

    > 如果每个人都设置冷却期,就不会有早期采用者了。大家都在等别人当那个“金丝雀”,结果根本没人当。

    > 但事实上,有一群研究人员正迫不及待地下载每一个新发布的包,寻找漏洞,好拿去换法币、声誉积分,或者两者兼得。

  2. filipn

    我不同意这个观点。有很多安全公司正在筛查新版本包中的漏洞,所以等一小会儿再升级到最新版,比立刻升级要靠谱得多。

  3. kej

    最近不少问题都遵循一个模式:某人的凭证被窃取,攻击者利用这些凭证发布恶意包,然后原维护者才发现异常,但往往要过一段时间才能把恶意包下架。冷却期基本上能彻底解决这个问题。

    此外,很多对冷却期的批评都假设所有人都会使用相同的时长,但这并非必须。有人用 Arch 就是想要所有软件的最新版本,有人用 Debian 就是不想让任何新版本搞崩系统。有人第一天就蹲守最新款 iPhone,有人则等评测出来,看看天线是否对握持姿势敏感。可调节的冷却期让每个人都能在自己想要的“最新功能”和“经过测试的稳定性”之间找到平衡。

同日更多故事

2026-07-21