最佳答案
当我运行 npm install
时,它显示 < code > 发现了33个漏洞(2个低漏洞,31个中等漏洞)
运行“ npm 审计修复程序”来修复它们,或者“ npm 审计”来查看详细信息 .
然而,npm audit fix
输出 < code > 在11s 内更新
修复了24653个扫描包中33个漏洞中的0个
33个漏洞需要人工检查,无法更新
这是否意味着 review
不应该由用户修复?
当我运行 npm audit
时,它会给我一个表列表,类似于下面这样:
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Low │ Prototype Pollution │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ lodash │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ >=4.17.5 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ browser-sync [dev] │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ browser-sync > easy-extender > lodash │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://nodesecurity.io/advisories/577 │
└───────────────┴──────────────────────────────────────────────────────────────┘
在这个例子中,补救部分的链接页面说 Update to version 4.17.5 or later.
。然而,在 /node_modules/browser-sync/package.json
有行:
"devDependencies": {
"lodash-cli": "4.17.5",
}
不再依赖于任何东西。所以它应该已经是 v4.17.5了。我还检查了 /node_modules/lodash/lodash.json
,它有 var VERSION = '4.17.10';
线。在 /node_modules/lodash/package.json
中有以下几行:
"_from": "lodash@^4.17.4",
"_id": "lodash@4.17.10",
我相信该版本显示在“ _ id”中,而不是“ _ from”中,所以版本是正确的,但漏洞仍然出现在审计列表中。
我对 node.js 还是个新手,这些信息让我很困惑。有没有什么方法可以手动修复或者删除那些我无法处理的信息?