npm 由于凭据存储不安全和凭据存储不安全,web3安装失败

vmpqdwk3  于 2022-11-30  发布在  其他
关注(0)|答案(2)|浏览(181)

在Ubuntu上安装最新的web 3版本1.3.5和npm版本7.12.0失败了,并出现了一些严重的错误。修复的典型时间是多长?

npm审计报告

下划线1.3.2 - 1.12.0
严重度:高
任意代码执行-[https://npmjs.com/advisories/1674](https://npmjs.com/advisories/1674%5C)无可用修复程序
节点模块/下划线
..web3-bzz〈=1.3.5个字符
..取决于下划线的易受攻击版本
..节点_模块/web 3-bzz
...网页3 *
....依赖于易受攻击的web 3-bzz版本
....取决于易受攻击的web 3-eth版本
....节点模块/web 3
..web3-核心助手 *
..取决于下划线的易受攻击版本
..节点模块/web 3-核心助手
......万维网3-eth-ens *
....取决于易受攻击的下划线版本
....依赖于易受攻击的web 3-core-helpers版本
....节点模块/web 3-eth-ens
......网络3-以太网 *
......取决于下划线的易受攻击版本
......取决于易受攻击的web 3-eth-ens版本
......节点模块/网络以太网
... web 3-提供商-http *
....依赖于易受攻击的web 3-core-helpers版本
....节点模块/web 3-提供程序-http
..web3-核心方法 *
..取决于下划线的易受攻击版本
..节点模块/web 3-核心方法
...web3核 *
....依赖于易受攻击的web 3-core-method版本
....节点模块/web 3核心
... web 3-以太网-个人 *
....依赖于易受攻击的web 3-core-method版本
....依赖于易受攻击的web 3-net版本
....节点模块/web 3-eth-personal
〈= www.example.com网站首页1.0.0-beta.55||大于等于1.2.0
....依赖于易受攻击的web 3-core-method版本
....节点模块/web 3-net
.....web3-嘘〈=1.3.5
......依赖于易受攻击的web 3-core-method版本
......取决于易受攻击的web 3-net版本
......节点模块/web 3-shh
..web3-核心请求管理器 *
..取决于下划线的易受攻击版本
..节点模块/web 3-核心请求管理器
..web3-核心订阅 *
..取决于下划线的易受攻击版本
..节点模块/web 3-核心订阅
..web3-以太网-abi *
..取决于下划线的易受攻击版本
..节点模块/web 3-eth-abi
..web3-以太网帐户 *
..取决于下划线的易受攻击版本
..节点模块/web 3-eth-accounts
..web3-以太网-合同 *
..取决于下划线的易受攻击版本
..节点模块/web 3-eth-contract
..web3-提供者-ipc *
..取决于下划线的易受攻击版本
..节点模块/web 3-提供程序-ipc
..web3-提供商-ws *
..取决于下划线的易受攻击版本
..节点模块/web 3-提供程序-ws
..web3-实用程序〉=1.0.0-beta.8
..取决于下划线的易受攻击版本
..节点模块/web 3-实用程序
... web 3-埃塞俄比亚-伊班 *
....依赖于易受攻击的web 3-utils版本
....节点模块/web 3-eth-iban
网络3 *
严重度:高
不安全的凭据存储-[https://npmjs.com/advisories/877](https://npmjs.com/advisories/877%5C)依赖于易受攻击的web 3-bzz版本
依赖于易受攻击的web 3-eth版本。
没有可用的修复程序
节点模块/web 3
21个高严重性漏洞\

mwngjboj

mwngjboj1#

我们在项目的CI管道中运行npm ci && npm audit --audit-level=high,今天遇到了这个下划线问题。
已经有了GitHub issue
我们现在正在等待新的版本(补丁)。在此之前,一个快速修复和可能的解决方案是在您的 package-lock.json 中搜索underscore,并手动更新那里的underscore版本,因为npm audit fix不会自动修复它。
我们使用了1.9.1版本,并更新为1.12.1(在审计日志中列为稳定版本)。请针对每个出现的 * 下划线 * 更改以下行:

  • 版本:1.9.1 =〉1.12.1;
  • 已解决:https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz =〉https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz;
  • 完整性:sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg== =〉sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==

这样npm ci将从 package-lock.json 获取版本,并且不会发生错误。但是npm install将忽略它...
以下是这两个命令之间的区别(如果需要):Difference between npm install and npm ci

更新

您也可以使用npm-force-resolutions软件包来设置 * 下划线 * 软件包的特定版本:
1.将"resolutions": { "underscore": "1.12.1" }添加到您的 package.json;
1.(可选)添加每次在npm install启动之前运行的 preinstall 脚本:"scripts": { "preinstall": "npx npm-force-resolutions" } ;
1.运行npm installnpx npm-force-resolutions,在 package-lock.json 中查看您的更改。另外,npm audit不会发现这些漏洞。

最终更新

web3@1.3.6及其所有修复程序可用,您可以更新本地软件包。

iqxoj9l9

iqxoj9l92#

谢谢,问题已经解决了。我在github上看到ChainSafe/web3.js包含了对下划线的修复,很快就会在NPM上发布。
此外,npm ls -all | grep underscore显示此库在第2、3和4级是嵌套依赖关系。感谢NPM上的npm-force-resolution链接,以了解背景、进一步的说明和警告,注意可能的安全漏洞。我有一个沙箱系统供学习。

相关问题