Node.js 如何在使用时仅检查高漏洞;新产品管理审计“;?
当我使用新的npm 6执行npm安装时 我收到一条消息,告诉我有一些漏洞: [!]发现75个漏洞[4867个已审计包] 严重程度:66低| 4中等| 5高 运行Node.js 如何在使用时仅检查高漏洞;新产品管理审计“;?,node.js,npm,npm-audit,Node.js,Npm,Npm Audit,当我使用新的npm 6执行npm安装时 我收到一条消息,告诉我有一些漏洞: [!]发现75个漏洞[4867个已审计包] 严重程度:66低| 4中等| 5高 运行npm审计了解更多详细信息 我运行了npm审计,但得到了一个截断的漏洞列表 如何仅检查高漏洞列表 谢谢这不是您想要的答案,但它也会这样做: npm audit | grep -B 1 -A 10 High 此软件包可能是您正在寻找的: 它允许您按咨询编号进行筛选,这比按级别筛选要好 $ cat .nsprc { "exceptio
npm审计
了解更多详细信息
我运行了npm审计
,但得到了一个截断的漏洞列表
如何仅检查高漏洞列表
谢谢这不是您想要的答案,但它也会这样做:
npm audit | grep -B 1 -A 10 High
此软件包可能是您正在寻找的: 它允许您按咨询编号进行筛选,这比按级别筛选要好
$ cat .nsprc
{
"exceptions": [
"https://npmjs.com/advisories/532",
"https://npmjs.com/advisories/577"
]
}
再加上它,你就是黄金 仅计算高值:
这一个对我有用: 仅显示高值
npm audit | grep -E "(High)" -B3 -A10
npm audit | Select-String -Pattern "High" -Context 0,10
显示关键问题和重大问题
npm audit | grep -E "(High | Critical)" -B3 -A10
查看提出此解决方案的讨论。如果您希望在Powershell中实现此功能,只需使用以下命令(改编自@stayingcool的答案): 仅显示高值
npm audit | grep -E "(High)" -B3 -A10
npm audit | Select-String -Pattern "High" -Context 0,10
同时显示高和临界值
npm audit | Select-String -Pattern "(High | Critical)" -Context 0,10
编辑:我推荐这个(更好的)答案:
虽然没有那么漂亮,但你可以:
npm audit --parseable | grep high
另一个缺点是,任何包含“高”
的包/问题元数据也将被打印。标记--audit level=high
不会更改npm audit的输出
我将其发送到html以用于报告目的,因此希望进一步清理它:
npm audit | grep -E "(High | Critical)" -B3 -A11 --color=always | grep -E '┌|│|├|└' --color=never
但这将失去标题和底部的“发现的漏洞”。我发现只需运行几次npm audit并将所需的位附加到文件中是最简单的
结果是这样的:
npm audit | grep '===' --color=never > temp.txt
npm audit | grep -E "(High | Critical)" -B3 -A11 --color=never | grep -E '┌|│|├|└' --color=never >> temp.txt
npm audit | grep -E "(found|scanned packages)" --color=never >> temp.txt
cat temp.txt
或者作为一个吸引人的单行程序(lol),也可以删除temp.txt文件:
npm audit | grep '=== npm audit' --color=never > temp.txt; npm audit | grep -E "(High | Critical)" -B3 -A11 --color=never | grep -E '┌|│|├|└' --color=never >> temp.txt; npm audit | grep -E "(found|scanned packages)" --color=never >> temp.txt; cat temp.txt; rm temp.txt;
这条线路很难看,但在一系列不同的回购协议中运行良好,前提是您只需要终端中的输出
输出到文件时,npm audit包含无法关闭的ansi颜色代码。这对我的报告来说是个问题!Sed可用于删除它们:
sed -i '' $'s,\x1b\\[[0-9;]*[a-zA-Z],,g' temp.txt
谢谢,但正如你所说,这不是我想要的,一些
High
vulns有一个建议,而这个解决方案忽略了它们。必须有一个param
到audit
来过滤结果或至少逐页显示结果,同时您可以尝试调整grep
参数。我认为-b2
应该包括建议。此选项现在已内置到npm中,仅当grep
可用时,如在*nix system.Works中,请参阅,但-B1足够这似乎不需要,因为npm install
末尾已列出此概述(并以彩色显示!))参考:“选择字符串:找不到命令”