我最近将一个Angular CLI 5应用程序推送到GitHub,它表明了以下内容:
We found a potential security vulnerability in one of your dependencies.
A dependency defined in net-incident/package-lock.json has known security vulnerabilities and should be updated.
Dependencies defined in net-incident/package-lock.json 816
hapijs / hoek Known security vulnerability in 2.16.3
我已经完成了'npm audit'的输出并执行了各种更新,包括以下内容(未提示):
npm install --save-dev request@2.86.0
'request'包中包含'hawk',其中包含'hoek'。当我查看node_modules中的'request'包时,版本已更改。但是来自'npm audit'的以下两个更新似乎没有做任何事情:
npm update fsevents --depth 4 npm update stringstream --depth 5
我留下以下内容:
[!] 33 vulnerabilities found [12201 packages audited]
Severity: 5 Low | 24 Moderate | 4 High
Run `npm audit` for more detail
许多漏洞如下:
Moderate Prototype pollution
Package hoek
Patched in > 4.2.0 < 5.0.0 || >= 5.0.3
Dependency of karma
Path karma > log4js > loggly > request > hawk > boom > hoek
More info https://nodesecurity.io/advisories/566
最后,应用程序无法编译,所以我更换了包和锁定文件,现在我回到了开头。我真的想解决安全问题。我如何摆脱讨厌的'hoek'漏洞?
答案 0 :(得分:3)
您应该运行rm package-lock.json
和&npm update && npm install
,如果仍然不能解决问题,则可以继续运行npm ls hoek
,该操作应该会给您带来帮助:
├─┬ fuse-box@3.3.0
│ └─┬ request@2.81.0
│ └─┬ hawk@3.1.3
│ ├─┬ boom@2.10.1
│ │ └── hoek@2.16.3
│ ├── hoek@2.16.3
│ └─┬ sntp@1.0.9
│ └── hoek@2.16.3
└── hoek@5.0.3
对照npm hawk上的版本检查hawk
的版本,如果不正确,请运行npm i hawk --save
或npm i hoek@latest --save
,然后还应运行:{{ 1}},然后npm i karma@latest --save
之后,我再次运行普通的git命令:
npm audit
然后您可以返回到Github,应该修复安全漏洞。
答案 1 :(得分:2)
This answer解决了类似的hoek
问题,并且this answer详细解释了非漏洞审核报告。
npm audit
报告可能问题。这些都是必须解决的实际问题,是不必要的。
诸如karma > log4js > loggly > request > hawk > boom > hoek
之类的嵌套依赖项可能需要在依赖项链中派生许多包,以防必须修复。
Prototype pollution
诊断表明代码有异味。原型污染气味的原因是它可以引起安全问题。这就是为什么将其标记为Moderate
的原因。不管它是如何使用的,它都不会因hoek
软件包的使用而引起任何安全风险(同样重要)。
此外,karma > log4js > loggly > request > hawk > boom > hoek
依赖关系链意味着该问题发生在开发依赖关系中。大多数安全问题主要适用于生产中使用的依赖项。此问题特定于测试和业力。这几乎是不可能的,这是一种威胁。
TL; DR:这不是漏洞。它必须被忽略。任何npm audit
报告都应通过健全性检查,然后才能进行任何修复。
答案 2 :(得分:1)
我很耐心,他们解决了这个问题:
npm update karma@latest
应该工作。