在 npm install 上发现 4 个漏洞

Posted

技术标签:

【中文标题】在 npm install 上发现 4 个漏洞【英文标题】:Found 4 vulnerabilities on npm install 【发布时间】:2018-10-19 00:18:23 【问题描述】:

我刚刚开始使用 react-native。在安装这个包时

npm install --save react-native-validator-form

https://github.com/NewOldMax/react-native-validator-form/issues/3

我被提示npm audit,我看到了 4 个漏洞(如上所列)

运行 2 个辅助命令后,我被提示另外 2 个漏洞(见链接)

我该如何解决剩下的问题?

更新相应的 npm 包不起作用。

不确定如何继续?

【问题讨论】:

只是为了让事情更有趣,我想我应该在另一个目录中运行npm audit。我发现了 164 个漏洞 - 已审核的软件包:20493(312 个开发,1044 个可选)。严重性:110 低 | 35 中等 | 19 高。 已将其降至 20 低 | 33 中等 |项目 B 中的 15 高,其他目录。这是引起严重关注的原因吗?? 尝试使用“npm audit fix --force” 【参考方案1】:

这是包含审计命令的新 npm 版本的结果。

这不是 Angular CLI 的新问题,npm 只是在 npm 中引入了新功能,以警告用户他们正在安装的软件包中的漏洞 - 所以 Angular 中没有“新”漏洞,只是现在 npm现在就已经存在的漏洞向您发出警告:

https://blog.npmjs.org/

大部分问题都源于 Karma,因此需要修复它以便 Angular 团队引入新的 Karma 版本 karma-runner/karma#2994

【讨论】:

那么解决方法是什么?【参考方案2】:

如果你跑过npm audit 并得到了漏洞,那么你可以有不同的场景:

在建议的更新中发现安全漏洞

运行 npm audit fix 子命令以自动为易受攻击的依赖项安装兼容更新。

单独运行推荐的命令以安装易受攻击的依赖项的更新。 (某些更新可能是严重的更改;有关详细信息,请参阅“SEMVER 警告”。)

发现需要人工审查的安全漏洞

如果发现安全漏洞,但没有可用的补丁程序,审核报告将提供有关漏洞的信息,以便您进行进一步调查。

来源:Reviewing and acting on the security audit report

【讨论】:

【参考方案3】:

即使在运行npm audit fix 之后,如果它没有修复,那么我认为你应该关闭 npm 审计。使用以下命令关闭 npm 审计。

安装单个软件包时。

npm install example-package-name --no-audit

安装所有包时关闭 npm 审计

npm set audit false

它将在您的用户和全局 npmrc 配置文件中将审核设置设置为 false。

参考访问:turn-off-npm-audit

希望它会有所帮助,你可以继续你的工作 :) 快乐编码

【讨论】:

【参考方案4】:

我遇到了同样的问题,日志如下:

Testing binary
Binary is fine
added 1166 packages from 1172 contributors and audited 39128 packages in 112.505s
found 1 high severity vulnerability

我执行了下面的命令,它被修复了。

npm audit fix

log如下:

Testing binary
Binary is fine
+ @angular-devkit/build-angular@0.11.4
added 18 packages from 47 contributors, removed 14 packages and updated 52 packages in 64.529s
fixed 1 of 1 vulnerability in 39128 scanned packages

【讨论】:

【参考方案5】:

我在安装 react-native navigation 时遇到了同样的问题,使用:

npm install react-navigation

对我来说,npm audit-fix 效果不佳。 npm 使用有一些限制。对我来说,纱线有效:

yarn add <package-name>

【讨论】:

【参考方案6】:

我在运行这个命令时遇到了同样的问题:

npm install ngx-bootstrap --save

...并通过以 Administrator 身份运行命令提示符来解决它。

所以以管理员身份打开命令提示符,然后重试。希望它会起作用。

【讨论】:

OP 从未提到他在 Windows 上。此外,对项目具有更高权限将如何修复依赖项中的漏洞。 您永远不应该使用管理权限运行npm install!您应该更改文件夹权限,而不是命令。检查this

以上是关于在 npm install 上发现 4 个漏洞的主要内容,如果未能解决你的问题,请参考以下文章

错误:“npm install -g @ionic/cli”给了我“4 个高严重性漏洞”和“ERR!错误号-4058'

在ubuntu上安装最新稳定版本的node及npm

npm install Unexpected token in JSON at position XXX

如何修复 https-proxy-agent Machine-In-The-Middle 漏洞?

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

Jetstream 与 Liviwere - Laravel 8 - 运行 npm install 时的节点漏洞