过去两年,前端前端圈子经历了一波又一波的生态上供应链攻击。npm 包被挂马、屡遭作者账号被盗、攻击CI 工具被劫持,终于甚至连大厂项目也没能幸免。出手 随便举几个例子: •Qix(资深维护者)账号被钓鱼 ,前端结果多个热门包被投毒
,生态上受影响的屡遭 npm 包周下载量超过 20 亿; •DuckDB 因为钓鱼邮件
,依赖链直接被篡改; •Nx 项目则栽在 GitHub Actions 的攻击漏洞上 ,被黑客钻了空子。终于 这些攻击有个共性:恶意版本上线没多久就会被删掉。出手可问题是前端,源码库如果你的生态上项目或者自动化脚本第一时间拉了最新版本 ,那就妥妥成了“小白鼠”
。屡遭 说白了
:越是“追新”的项目,越容易中招 。 就在前几天,pnpm 发布了 10.16 ,带来一个非常实用的新功能::minimumReleaseAge,即最小发布时间限制,它允许你为依赖版本设定一个“冷静期”(单位:分钟)。只有当某个 npm 包的版本发布超过这个时间