我们如何保护新闻编辑部免受npm供应链攻击
我们很幸运地遇到了 Shai-Hulud 2.0。
2025 年 11 月,一个自我复制的 npm 蠕虫感染了 796 个软件包,每月下载量达 1.32 亿次。 该攻击利用预安装脚本窃取凭据、安装持久后门,并在某些情况下清除整个开发人员环境。 我们没有受到影响——不是因为我们有强大的防御措施,而是因为在攻击期间我们没有运行 npm install 或 npm update。
运气不是安全策略。
我们很幸运地遇到了 Shai-Hulud 2.0。
2025 年 11 月,一个自我复制的 npm 蠕虫感染了 796 个软件包,每月下载量达 1.32 亿次。 该攻击利用预安装脚本窃取凭据、安装持久后门,并在某些情况下清除整个开发人员环境。 我们没有受到影响——不是因为我们有强大的防御措施,而是因为在攻击期间我们没有运行 npm install 或 npm update。
运气不是安全策略。
pnpm 现在可以在高核心机器上自动扩展网络并发性,并发布了多项可靠性修复。
为 pnpm list 添加了 --lockfile-only 选项,并对 pnpm self-update 进行了各种改进。
增加了对从信任策略中排除软件包以及在发布时覆盖 engines 字段的支持。
增加了为依赖项安装 Node.js 运行时的支持,以及配置信任策略的设置。
此版本为 pnpm help 命令添加了 --all 标志,用于打印所有命令。
这个版本为两个设置添加了版本控制功能:[[only BuiltDependencies] 和 [minimumReleaseAgeExclude`]。
minimumReleaseAgeExclude 设置现在支持模式。