如何摆脱'hoek'漏洞

问题描述 投票:24回答:3

我最近将一个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 [email protected]

'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'漏洞?

node.js angular github npm
3个回答
3
投票

你应该运行rm package-lock.json && npm update && npm install,如果仍然没有解决你的问题,你可以继续运行npm ls hoek,它应该给你:

├─┬ [email protected]
│ └─┬ [email protected]
│   └─┬ [email protected]
│     ├─┬ [email protected]
│     │ └── [email protected]
│     ├── [email protected]
│     └─┬ [email protected]
│       └── [email protected]
└── [email protected]

检查hawk的版本与npm hawk上的那个,如果它没有计算,运行npm i hawk --savenpm i hoek@latest --save,那么你还应该运行:npm i karma@latest --save,然后npm audit之后我再次运行我的正常git命令:

git add .
git commit -m 'whatever_message'
git push 

然后你可以回到Github,应该修复安全漏洞。


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依赖链意味着问题发生在开发依赖中。大多数安全问题主要适用于生产中使用的依赖项。此问题特定于测试和Karma。它几乎是不可能的威胁。

TL; DR:这不是漏洞。它必须被忽略。任何npm audit报告都应通过健全性检查,然后才能做出任何修复措施。


1
投票

我很耐心,他们解决了这个问题:

npm update karma@latest

应该管用。

© www.soinside.com 2019 - 2024. All rights reserved.