如何修复需要手动审核的手动npm审核包

如何修复需要手动审核的手动npm审核包,npm,npm-audit,Npm,Npm Audit,我最近把我们网站上的一个更新推到了我们的服务器上,不知何故导致了它被感染,我们的一堆文件被破坏,用户开始被重定向到随机站点,等等。显然这是由我们的一个依赖项引起的。我正在使用npm管理我们网站的依赖关系,最近了解了npm审计。每当我运行npm audit时,都有15个漏洞需要手动检查,我已尝试通过更新到报告中每个漏洞的更多信息部分建议的版本来修复这些漏洞,但当我运行npm audit时,漏洞仍然存在。我尝试在报告的路径部分的相关软件包中更新版本,但在运行npm audit时,该版本仍然存在。很明

我最近把我们网站上的一个更新推到了我们的服务器上,不知何故导致了它被感染,我们的一堆文件被破坏,用户开始被重定向到随机站点,等等。显然这是由我们的一个依赖项引起的。我正在使用npm管理我们网站的依赖关系,最近了解了npm审计。每当我运行npm audit时,都有15个漏洞需要手动检查,我已尝试通过更新到报告中每个漏洞的更多信息部分建议的版本来修复这些漏洞,但当我运行npm audit时,漏洞仍然存在。我尝试在报告的路径部分的相关软件包中更新版本,但在运行npm audit时,该版本仍然存在。很明显,我不想再次上传带有漏洞的文件,破坏我们服务器上的所有站点,我只是非常不确定如何修复npm audit带来的这些安全漏洞

例如,以下是报告中显示的唯一高风险:

高│ 正则表达式拒绝服务
包裹│ 硬饼干
补上│ >=2.3.3
依赖│ 吞咽uncss[dev]
路径│ 吞下uncss>uncss>request>tough cookie
更多信息│


当我在我的package.json和请求中将包更新为>=2.3.3,然后运行npm audit时,漏洞仍然存在。你知道如何修复这个/修复这个漏洞吗?

可能会很晚,但总比没有好。 我只是一个在nodejs领域工作超过2年的新手,也遇到了很多审计警告,下面是我如何处理那些需要手动检查的漏洞

首先,您必须了解需要手动检查的漏洞不是您在代码中直接安装和调用的软件包的版本。它们来自那些包的依赖性调用。 在您的情况下,您使用包“gulp uncss”,在代码“gulp uncss”中,它将自身的另一个依赖项称为“tough cookie”。您安装的软件包正在管理自身的依赖关系,更新较新或较旧版本的依赖关系不会影响该依赖关系。您可以将软件包“硬cookie”更新为>=2.3.3,但版本<2.3.3时,“gulp uncss”将始终调用“硬cookie”

因此,您有两种选择:

  • 转储该包并使用另一个具有类似任务且无漏洞的包
  • 分叉到该包的repo,进行更改并创建拉请求,等待拉请求被接受,在更新与所做拉请求相适应的新版本后,您将能够使用该包而不存在漏洞