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

Dev

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。

来源