应对供应链蠕虫攻击 GitHub宣布NPM v12将不再自动执行依赖项安装脚本
2026年6月11日 10:00软件资讯00.00K 2026-6-11 02:0:57 Author: www.landian.news(查看原文) 阅读量:53 收藏

2026年6月11日 10:00软件资讯00.00K

#软件资讯 为应对近期非常猖獗的 NPM 供应链攻击,GitHub 宣布 NPM v12 将不再自动执行依赖项安装脚本。开发者必须批准受信任的包,对于未获得批准的包都会被拒绝,这样即便部分包遭到感染也无法通过脚本自动安装恶意载荷,理论上说应该可以提高 NPM 对供应链攻击的防御。查看详情:https://ourl.co/113393

GitHub 日前发布博客宣布 NPM v12 即将推出破坏性变更,使用这个标题主要是想要提醒开发者必须关注此次变更,这次变更牵涉的内容非常多可能会给开发者造成影响,因此开发者必须提前做好准备,当 NPM v12 发布后必须按照 GitHub 提供的指南进行配置,否则项目的依赖项无法安装有可能导致项目出问题。

应对供应链蠕虫攻击 GitHub宣布NPM v12将不再自动执行依赖项安装脚本

NPM v12 核心变化主要包括如下内容:

默认关闭 allow Scripts:

npm install 不再自动执行依赖包中的 preinstall、install、postinstall 脚本,包括原生的 node-gyp 构建,即使包里没有显式 install 脚本但有 binding.gyp 也会被阻断,prepare 脚本也同样受影响。

开发者应当使用:npm approve-scripts --allow-scripts-pending 查看哪些包受影响、使用 npm approve-scripts 批准受信任的包、使用 npm deny-scripts 拒绝其他包、批准列表会写入 package.json,建议提交到代码仓库。升级到 NPM v12 后只有批准的脚本才能运行。

--allow-git 默认变成 none:

不再自动解析 Git 依赖,无论是直接还是传递依赖;需要使用 --allow-git 明确允许。

--allow-remote 默认变成 none:

不再自动解析远程 URL 依赖例如 https tarball,无论直接还是传递依赖;需要使用 --allow-remote 明确允许。

主要用于应对供应链攻击:

GitHub 进行这些变更的主要原因是近期针对 NPM 生态系统的供应链攻击非常猖獗,尤其是 TeamPCP 开源发布的沙虫蠕虫病毒具有自我复制的能力,蠕虫病毒可以通过收集的凭证进行横向传播,以至于这段时间已经有数千个 NPM 包遭到感染,实际受影响的项目和开发者难以统计。

NPM v12 的这些变化需要开发者明确允许使用哪些包,对于未获得明确允许的包都会被拒绝,这样即便部分包被感染也不会自动执行 preinstall 等脚本用来安装后续载荷,理论上说这应该可以显著提升 NPM 生态系统的安全性。

活动推荐终于补货!99元/年境外CN2服务器又可以购买,限量销售,售完即止。另有3年超低价国内VPS服务器。

  • Z-Library启动白标镜像站 任何人都可以用自己的域名运营镜像站并获得20%的报酬

  • iOS 27闹钟终于支持中国法定节假日 调休补班时间也可以正常响起

  • OpenAI大规模封号后正在陆续解封账号 向掉订阅用户赠送1个月订阅作为补偿

  • 有网友在谷歌搜索Codex被恶意广告欺骗 带毒版直接窃取2万美元的加密货币

  • 抵制基于网络的垃圾应用!微软鼓励开发者基于WinUI为Windows 11开发原生应用

  • 腾讯云618活动上线:99元/年版境外CN2服务器补货 另有3年超低价服务器


文章来源: https://www.landian.news/archives/113393.html
如有侵权请联系:admin#unsafe.sh