npm v12 正式 GA:npm install 运行依赖代码前需要明确授权

Dev
浏览 282

npm v12 已获得 latest 标签。allowScripts 默认关闭,--allow-git 与 --allow-remote 默认为 none。生命周期脚本和隐式 node-gyp 构建都需要明确批准。

npm v12 正式 GA:npm install 运行依赖代码前需要明确授权
npm v12 默认阻止安装脚本、Git 依赖和远程 URL。面向原生模块、CI 与安全发布的实务迁移指南。

发生了什么

npm v12 已获得 latest 标签。allowScripts 默认关闭,--allow-git 与 --allow-remote 默认为 none。生命周期脚本和隐式 node-gyp 构建都需要明确批准。

显式策略

先运行 npm approve-scripts --allow-scripts-pending 盘点包,审查来源和脚本,只批准必要项,并将 allowScripts 策略提交到 package.json。

CI 影响

优先测试原生 addon、Git 依赖、远程 tarball、workspace 和无缓存 cold install。旧的二进制缓存可能掩盖缺失的批准。

安全发布

发布侧应从长期 token 迁移到 OIDC trusted publishing。高影响包可使用 npm stage publish,在公开前加入人工 2FA 审批。

npm v12 检查表

✓审计所有待批准脚本。

✓将批准绑定到具体版本。

✓在 CI 验证冷安装。

✓迁移到 OIDC 或 staged publishing。

来源