使用“npm audit”时如何只检查高漏洞?

     2023-02-19     40

关键词:

【中文标题】使用“npm audit”时如何只检查高漏洞?【英文标题】:How to check for only high vulnerabilities when using "npm audit"? 【发布时间】:2018-10-23 03:43:46 【问题描述】:

当我使用新的 npm 6 执行 npm install 时 我收到一条消息,告诉我我有一些漏洞

[!] 发现 75 个漏洞 [审核了 4867 个包]

严重性:66 低 | 4 中等 | 5高

运行npm audit了解更多详情

我运行了npm audit,但得到了一个截断的漏洞列表。

如何仅检查漏洞列表?

谢谢

【问题讨论】:

参考:docs.npmjs.com/… 【参考方案1】:

不是您正在寻找的答案,但它会做同样的事情:

npm audit | grep -B 1 -A 10 High

【讨论】:

谢谢,但正如你所说,这不是我要找的,一些High vulns 有一个建议,这个解决方案省略了它们。必须有一个 paramaudit 来过滤结果或至少逐页显示它们 同时您可以尝试调整grep 参数。我认为-B 2 应该包含这些建议。 这个选项现在内置在 npm 中,见***.com/a/64312068/20774【参考方案2】:

这个包可能是你要找的:

https://www.npmjs.com/package/audit-filter

它允许您按咨询编号进行过滤,这比按级别过滤要好。

$ cat .nsprc

  "exceptions": [
    "https://npmjs.com/advisories/532",
    "https://npmjs.com/advisories/577"
   ]

将其与npm config for audit level 结合起来,您就是金子了。

【讨论】:

【参考方案3】:

只计算高点:

npm audit | grep 'High' | wc -l | rev

【讨论】:

这似乎不需要,因为npm install 已经在末尾列出了这个概述(并且是彩色的!;))【参考方案4】:

这个对我有用:

仅显示高位

npm audit | grep -E "(High)" -B3 -A10

同时显示关键和高问题

npm audit | grep -E "(High | Critical)" -B3 -A10

查看提出此解决方案的 issue 讨论。

【讨论】:

【参考方案5】:

如果您希望在 Powershell 中执行此操作,只需使用以下命令(改编自 @stayingcool 的回答):

仅显示高位

npm audit | Select-String -Pattern "High" -Context 0,10

同时显示高和关键

npm audit | Select-String -Pattern "(High | Critical)" -Context 0,10

【讨论】:

【参考方案6】:

编辑:我推荐这个(更好的)答案:https://***.com/a/58056454/88111

它不是那么漂亮,但你可以这样做:

npm audit --parseable | grep high

另外一个缺点是任何包含"high" 的包/问题元数据也会被打印出来。

【讨论】:

仅当grep 可用时才有效,例如在 *nix 系统中。【参考方案7】:

--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

或者作为一个吸引人的衬里(大声笑),它也删除了 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

【讨论】:

【参考方案8】:

将此行放入您的审计脚本中:

"audit": "level=$(npm audit --parseable | grep -E 'high|critical' | wc -l | rev); [ $level == 0 ] && exit 0"

这段代码确实检查了npm audit 的输出。如果没有高危或危急漏洞,该进程将不会因错误而退出。

【讨论】:

改进。谢谢

如何修复这些漏洞? (npm audit fix 无法修复这些漏洞)

】如何修复这些漏洞?(npmauditfix无法修复这些漏洞)【英文标题】:Howtofixthesevulnerabilities?(npmauditfixfailstofixthesevulnerabilities)【发布时间】:2020-02-1520:35:23【问题描述】:我的项目有6个高度严重的漏洞,我不知道如何修复它们。... 查看详情

尝试将级别更改为高时,命令 npm audit-level 不起作用

...有一个带有NodeJS的前端应用程序,我试图让npm审计仅在高漏洞或严重漏洞上中断,所以我尝试按照文档中的说明更改审计级别,但它仍然会返回低漏洞,如您所见herenp 查看详情

npm audit 仅适用于生产依赖项?

...5【问题描述】:目前,在项目中运行npmaudit时,它会同时检查dependencies和devDependencies。我正在寻找一种只检查dependencies的方法。目前有办法吗?【问题讨论】:我暂时找不到任何东西,但显然,有一个关于它的PR提交-git 查看详情

ENOLOCK npm 错误!运行 npm audit fix 时出错

...目录全局安装一个带有npm的包。安装完成后,它表明存在漏洞。在尝试运行npmauditfix时,我收到以下错误。npm错误!代码ENOLOCKnpm错误!audit此命令需要现有的锁定文件。npm错误 查看详情

Npm audit 在创建新的 react native 项目时显示 9 个漏洞

】Npmaudit在创建新的reactnative项目时显示9个漏洞【英文标题】:Npmauditshows9vulnerabilitiesuponcreatinganewreactnativeproject【发布时间】:2018-10-2414:59:56【问题描述】:当我创建一个新的React本机项目并运行npmaudit时,我发现了9个漏洞。漏... 查看详情

npm audit fix angular 10.0.1 后的错误

...运行了这个较旧的10.0.1Angular项目,它告诉我它有很多低漏洞和一些高漏洞。所以我运行npmauditfix来修复它们。但是现在当我尝试运行它时,它给了我这些错误:Error:./src/main.tsModulebui 查看详情

“npm audit fix”到底是做啥的?

...:27:45【问题描述】:npmauditfix旨在自动升级/修复npm包中的漏洞。但是,我还没有找到修复这些漏洞的具体方法。我假设npmauditfix会将依赖项和依赖项的依赖项升级到包的semver-definitio 查看详情

npm install issue:27 个漏洞(16 个中等,9 个高,2 个严重)要解决所有问题,运行:npm audit fix --force

】npminstallissue:27个漏洞(16个中等,9个高,2个严重)要解决所有问题,运行:npmauditfix--force【英文标题】:npminstallissue:27vulnerabilities(16moderate,9high,2critical)Toaddressallissues,run:npmauditfix--force【发布时间】:2022-01-1017:38:21【问题描述... 查看详情

您如何阅读 npm audit ERESOLVE 错误?

】您如何阅读npmauditERESOLVE错误?【英文标题】:HowdoyoureadnpmauditERESOLVEerror?【发布时间】:2021-09-1322:15:58【问题描述】:我经常收到类似于下面的错误ERESOLVE。你是怎么读的?>npmauditfixnpmERR!codeERESOLVEnpmERR!ERESOLVEunabletoresolvedepende... 查看详情

如何解决 npm audit 返回 ENOAUDIT:您配置的注册表不支持审计请求?

...些额外的依赖项之外我可能会做些什么来破坏它。我正在使用https://re 查看详情

运行 `npm audit fix` 来修复它们,或运行 `npm audit` 了解详细信息

】运行`npmauditfix`来修复它们,或运行`npmaudit`了解详细信息【英文标题】:Run`npmauditfix`tofixthem,or`npmaudit`fordetails【发布时间】:2020-11-2216:22:58【问题描述】:当我尝试编译项目时,得到:found2860vulnerabilities(2122low,19moderate,726high)run... 查看详情

任意文件覆盖:tar npm audit

】任意文件覆盖:tarnpmaudit【英文标题】:ArbitraryFileOverwrite:tarnpmaudit【发布时间】:2019-09-2202:59:55【问题描述】:它说,found4highseverityvulnerabilitiesin891002scannedpackages4vulnerabilitiesrequiremanualreview.Seethefullreportfordetails.如何做到0漏 查看详情

npm install 给出警告,npm audit fix 不起作用

】npminstall给出警告,npmauditfix不起作用【英文标题】:Npminstallgiveswarnings,npmauditfixnotworking【发布时间】:2019-04-0500:00:39【问题描述】:我正在开发一个带有.net核心webapi的Angular应用程序。当我克隆这个存储库时,我尝试在Angular应... 查看详情

npm audit --parseable 的列名文档?

】npmaudit--parseable的列名文档?【英文标题】:Columnnamedocumentationfornpmaudit--parseable?【发布时间】:2021-03-2922:03:11【问题描述】:有谁知道我在哪里可以找到我可以通过将其与默认的json输出进行比较来猜测一半的列是什么,但我不... 查看详情

为啥“npm audit”CLI 命令不能从 Windows 10 中的 Powershell 运行?

】为啥“npmaudit”CLI命令不能从Windows10中的Powershell运行?【英文标题】:Whydoesn\'t"npmaudit"CLIcommandrunfromPowershellinWindows10?为什么“npmaudit”CLI命令不能从Windows10中的Powershell运行?【发布时间】:2019-02-1121:05:18【问题描述】... 查看详情

中间件安全基线配置

...小权限原则”,应该尽可能地减少不必要的Module,对于要使用的Module,,则检查其对应版本是否存在已知的安全漏洞。定制好了Apache的安装包后,接下来需要做的,就是指定Apache进程以单独的用户身份行,这通常需要为Apache单独建立一... 查看详情

如何在 BlackBerry 5.0 及更高版本的 J2ME 代码中使用 wifi 调用 HTTP URL?

】如何在BlackBerry5.0及更高版本的J2ME代码中使用wifi调用HTTPURL?【英文标题】:HowtocallHTTPURLusingwifiinJ2MEcodeforBlackBerry5.0andabove?【发布时间】:2013-08-1010:52:19【问题描述】:我正在使用J2ME代码从BlackBerry调用Web服务。当我尝试使用Htt... 查看详情

单击检查按钮时如何删除/删除按钮文本?

...:27【问题描述】:我正在制作这个总和创建者,用户必须使用自定义键盘输入答案。并在检查按钮上单击如果答案正确则加载新问题。我的问题是在回答第一个问题后,答案按钮重置为空白,但是当用户键入下一个答案时,只删... 查看详情