npm v12现已正式推出,并已标记为最新。此主要版本启用了我们在6月份宣布的安装时安全默认值,这也是我们开始弃用最敏感的2FA绕过粒度访问令牌(GAT)的地方。
安装时安全默认值现已启用自npm v12起,以下用于自动运行的npm安装行为现已选择启用: allowScripts默认为off:依赖项生命周期脚本(即预安装、安装、安装后)和隐式node-gyp构建不再运行,除非明确允许。--allow-git默认为none:除非明确允许,否则不再解决Git依赖项(直接或传递)。
--allow-remote默认为none:除非明确允许,否则不再解析来自远程URL (例如, https tarballs )的依赖项。所有这些都在npm 11.16.0+中的警告后可用,因此您可以在升级前做好准备。要查看和批准您信任的脚本,请运行npm approve-scripts --allow-scripts-pending,然后在package.json中提交生成的allowlist。
有关详细信息、迁移步骤和文档链接,请参阅即将进行的npm v12重大更改,并在npm v12社区讨论中分享问题。npm 2FA-bypass GAT将停止跳过2FA以更改帐户更改npm粒度访问令牌配置为绕过2FA后,更改推出后将无法执行敏感的帐户、包和组织管理操作。
Npm上的账号管理操作将无法再跳过双因素身份验证。生成恢复代码并更改密码、电子邮件、个人资料或2FA配置更改软件包访问权限、维护者或受信任的发布配置管理组织和团队成员资格及其软件包授权我们预计此更改将于2026年8月初生效。