尝试将级别更改为高时,命令 npm 审核级别不起作用



我有一个带有 NodeJS 的前端应用程序,我试图让 npm 审计仅在高漏洞或严重漏洞上中断,所以我尝试更改文档中指定的审计级别,但它仍然会返回低漏洞,如下所示

npm set audit-level high
npm config set audit-level high
npm audit

我做错了什么吗?

我的 npm 版本是 6.14.5 我的 NodeJS 版本是 10.17.0

我知道这是一个老问题,我自己问了同样的问题,所以我想我会回答以帮助下一个人。

根据此处的讨论,--audit-level参数指示 npm 审计是否失败(以1退出(或不失败(以0退出(。这意味着,如果您指定--audit-level=critical,如果存在严重漏洞,它将以1退出,否则它将与0一起存在。但是,它不控制/过滤报告/输出,我觉得这很烦人。

作为一种解决方法,我这样做是为了仅输出/报告我关注的级别。它不是很优雅,但如果漏洞列表很长,它会帮助我:

npm audit --parseable | grep high

正如弗兰克已经提到的那样--audit-level只有npm audit返回的退出代码的影响。如果您希望简化文本输出,则必须自己解析它。这是我使用9.6.7--json标志与 jq 结合使用npm的一个解决方案:

npm audit --json | jq '.vulnerabilities[] | select(.severity == "high") | .name'

这只会输出具有"high"漏洞的软件包的名称,但您可以随心所欲地使用它来获得对您更有用的输出。从jq查询的末尾删除| .name,以查看返回的整个对象。

相关内容

  • 没有找到相关文章

最新更新