Npm 漏洞无法修复

     2023-03-08     26

关键词:

【中文标题】Npm 漏洞无法修复【英文标题】:Npm vulnerabilities can't be fixed 【发布时间】:2021-09-06 14:44:18 【问题描述】:

我开始学习 react 并通过运行创建了我的第一个应用程序:

'npx create-react-app my-app'

构建应用程序后,我在终端中收到一条警告:

22 个漏洞(9 个中等,13 个高)

我试图通过运行来修复它:

'npm 审计修复'

但它返回了这个:

npm 错误!代码 ERESOLVE npm 错误! ERESOLVE 无法解析依赖树 npm 错误! npm 错误!找到:type-fest@0.21.3 npm 错误! node_modules/type-fest npm 错误! type-fest@"^0.21.3" 来自 ansi-escapes@4.3.2 npm 错误! node_modules/ansi-转义 npm 错误! ansi-escapes@"^4.2.1" 来自@jest/core@26.6.3 npm 错误! node_modules/@jest/core npm 错误! @jest/core@"^26.6.0" 来自 jest@26.6.0 npm 错误!节点模块/开玩笑 npm 错误!来自 jest-watch-typeahead@0.6.1 的对等 jest@"^26.0.0" npm 错误! node_modules/jest-watch-typeahead npm 错误!还有 1 个(反应脚本) npm 错误!还有 1 个 (jest-cli) npm 错误! ansi-escapes@"^4.3.1" 来自 jest-watch-typeahead@0.6.1 npm 错误! node_modules/jest-watch-typeahead npm 错误! jest-watch-typeahead@"0.6.1" 来自 react-scripts@4.0.3 npm 错误!节点模块/反应脚本 npm 错误! react-scripts@"4.0.3" 来自根项目 npm 错误!还有 2 个(开玩笑的观察者,终端链接) npm 错误! npm 错误!无法解决依赖关系: npm 错误! peerOptional type-fest@"^0.13.1" 来自@pmmmwh/react-refresh-webpack-plugin@0.4.3 npm 错误! node_modules/@pmmmwh/react-refresh-webpack-plugin npm 错误! @pmmmwh/react-refresh-webpack-plugin@"0.4.3" 来自 react-scripts@4.0.3 npm 错误!节点模块/反应脚本 npm 错误! react-scripts@"4.0.3" 来自根项目 npm 错误! npm 错误!修复上游依赖冲突,或者重试 npm 错误!此命令与 --force 或 --legacy-peer-deps npm 错误!接受不正确的(并且可能被破坏的)依赖解决方案。 npm 错误! npm 错误!有关完整报告,请参阅 /home/azizdragon/.npm/eresolve-report.txt。

npm 错误!可以在以下位置找到此运行的完整日志:npm ERR! /home/azizdragon/.npm/_logs/2021-06-23T03_09_31_663Z-debug.log

我尝试删除 package-lock.json 文件和 node_modules 文件夹并运行:

npm 安装

但它导致了相同的漏洞,这是我运行“npm audit”时的报告:

浏览器列表 4.0.0 - 4.16.4 严重程度:中等 正则表达式拒绝服务 - https://npmjs.com/advisories/1747 可通过npm audit fix --force 修复 将安装 react-scripts@1.1.5,这是一个重大更改 node_modules/react-dev-utils/node_modules/browserslist react-dev-utils >=6.0.0-next.03604a46 取决于易受攻击的 browserslist 版本 node_modules/react-dev-utils 反应脚本 >=0.10.0-alpha.328cb32e 取决于@pmmmwh/react-refresh-webpack-plugin 的易受攻击版本 取决于@svgr/webpack 的易受攻击版本 取决于 mini-css-extract-plugin 的易受攻击版本 依赖于易受攻击的 react-dev-utils 版本 依赖于易受攻击的 webpack-dev-server 版本 节点模块/反应脚本

css-what https://npmjs.com/advisories/1754 修复可通过 npm audit fix --force 安装 react-scripts@1.1.5,这是一个重大更改 node_modules/svgo/node_modules/css-what css-select 取决于易受攻击的 css-what 版本 node_modules/svgo/node_modules/css-select svgo >=1.0.0 取决于易受攻击的 css-select 版本 节点模块/svgo @svgr/plugin-svgo * 取决于易受攻击的 svgo 版本 node_modules/@svgr/plugin-svgo @svgr/webpack >=4.0.0 取决于@svgr/plugin-svgo 的易受攻击版本 node_modules/@svgr/webpack 反应脚本 >=0.10.0-alpha.328cb32e 取决于@pmmmwh/react-refresh-webpack-plugin 的易受攻击版本 取决于@svgr/webpack 的易受攻击版本 取决于 mini-css-extract-plugin 的易受攻击版本 依赖于易受攻击的 react-dev-utils 版本 依赖于易受攻击的 webpack-dev-server 版本 节点模块/反应脚本 postcss-svgo >=4.0.0-nightly.2020.1.9 取决于易受攻击的 svgo 版本 node_modules/postcss-svgo cssnano-预设-默认 * 取决于易受攻击的 postcss-normalize-url 版本 取决于易受攻击的 postcss-svgo 版本 node_modules/cssnano-preset-default cssnano 4.0.0-nightly.2020.1.9 - 4.1.11 取决于易受攻击的 cssnano-preset-default 版本 节点模块/cssnano 优化-css-assets-webpack-plugin 3.2.1 || 5.0.0 - 5.0.4 || 5.0.6 依赖于易受攻击的 cssnano 版本 node_modules/optimize-css-assets-webpack-plugin

glob-parent https://npmjs.com/advisories/1751 修复可通过 npm audit fix --force 安装将安装 react-scripts@1.1.5,这是一个 突破性变化 node_modules/watchpack-chokidar2/node_modules/glob-parent node_modules/webpack-dev-server/node_modules/glob-parent chokidar 1.0.0-rc1 - 2.1.8 取决于 glob-parent node_modules/watchpack-chokidar2/node_modules/chokidar 的易受攻击版本 node_modules/webpack-dev-server/node_modules/chokidar 手表包-chokidar2 * 取决于易受攻击的 chokidar 版本 node_modules/watchpack-chokidar2 手表包 1.7.2 - 1.7.5 取决于 watchpack-chokidar2 的易受攻击版本 node_modules/watchpack 网络包 4.44.0 - 4.46.0 依赖于易受攻击的 watchpack 版本 节点模块/webpack webpack-dev-server 2.0.0-beta - 3.11.2 取决于易受攻击的 chokidar 版本 node_modules/webpack-dev-server @pmmmwh/react-refresh-webpack-plugin 0.3.1 - 0.5.0-beta.4 依赖于易受攻击的 webpack-dev-server 版本 node_modules/@pmmmwh/react-refresh-webpack-plugin 反应脚本 >=0.10.0-alpha.328cb32e 取决于@pmmmwh/react-refresh-webpack-plugin 的易受攻击版本 取决于@svgr/webpack 的易受攻击版本 取决于 mini-css-extract-plugin 的易受攻击版本 依赖于易受攻击的 react-dev-utils 版本 依赖于易受攻击的 webpack-dev-server 版本 节点模块/反应脚本

规范化-url https://npmjs.com/advisories/1755 可通过 npm audit fix --force 修复,将安装 react-scripts@1.1.5,这是一个重大更改 node_modules/normalize-url node_modules/postcss-normalize-url/node_modules/normalize-url mini-css-extract-plugin 0.6.0 - 1.0.0 取决于易受攻击的 normalize-url node_modules/mini-css-extract-plugin 的版本 反应脚本 >=0.10.0-alpha.328cb32e 取决于@pmmmwh/react-refresh-webpack-plugin 的易受攻击版本 取决于@svgr/webpack 的易受攻击版本 取决于 mini-css-extract-plugin 的易受攻击版本 依赖于易受攻击的 react-dev-utils 版本 依赖于易受攻击的 webpack-dev-server 版本 node_modules/react-scripts postcss-normalize-url node_modules/postcss-normalize-url cssnano-预设-默认 * 取决于易受攻击的 postcss-normalize-url 版本 取决于易受攻击的 postcss-svgo 版本 node_modules/cssnano-preset-default cssnano 4.0.0-nightly.2020.1.9 - 4.1.11 取决于易受攻击的 cssnano-preset-default 版本 节点模块/cssnano 优化-css-assets-webpack-plugin 3.2.1 || 5.0.0 - 5.0.4 || 5.0.6 依赖于易受攻击的 cssnano 版本 node_modules/optimize-css-assets-webpack-plugin

22 个漏洞(9 个中等,13 个高)

要解决不需要注意的问题,请运行:npm audit fix

要解决所有问题(包括重大更改),请运行:npm audit 修复 --force

我应该使用 npm audit fix --force 吗? 如果有帮助,我运行 Linux Mint 18.3 Cinnamon 64 位 节点版本:v16.0.0 NPM 版本:7.18.1

提前致谢。

【问题讨论】:

运行 npm audit fix 几次,然后我认为适度的数字应该减少或警告每次都会减少并再次实际工作。我曾经这样解决过。 遇到了同样的问题。作为节点生态系统的新手,我现在开始担心 - 如果基本的标准脚本创建了一个具有如此多严重漏洞的应用程序,那么它说明了工具的成熟度...... 奇怪的是,我恰好在这个问题上阅读了this blog post by Dan Abramov。要点是这些漏洞中的许多可能不会影响在实践中使用 Create React App 创建的应用程序,因为其中许多依赖项仅在开发中使用。 @alexakarpov 阅读overreacted.io/npm-audit-broken-by-design 了解更多详情,但这并不是对工具成熟度的反映,而是对npm audit 的实施存在问题的反映。如果您在将它们部署到生产环境的 Node.js 应用程序的上下文中使用它们,这些问题可能是个问题,但在 Create React App 的上下文中它们不是。您只需要担心npm audit --production 标记的任何内容。 【参考方案1】:

正如 Matthew Daly 在 Dan Abramov 的这篇博文 npm audit: Broken by Design 之后的 cmets 中所提到的,大部分或可能所有警告都与开发依赖关系有关,因此它们不会影响您的生产构建 strong>,你完全不用担心修复它们。

这并不意味着开发依赖的漏洞在任何情况下、每个包和每个版本中都是无害的。

根据我的经验,大多数时候使用npm audit 无法解决所有问题,而且几乎总是使用npm audit --force 会使情况变得更糟并破坏您的应用程序。

因此,当我安装最新版本的流行且高度维护的软件包(如 create-react-app)时,我会忽略这些警告。

CRA 等库的维护者肯定知道这些警告,如果问题严重,他们会立即修复。

另一种确保这些警告无害的方法是检查reported issues of the create-react-app 或任何其他库,看看响应是什么。

我强烈建议您阅读上述文章,npm audit: Broken by Design。

【讨论】:

如何修复 NPM 高危漏洞? (污染)

】如何修复NPM高危漏洞?(污染)【英文标题】:HowtofixNPMhighseverityvulnerabilities?(Pollution)【发布时间】:2021-06-3004:13:41【问题描述】:我想安装一些npm包,但总是遇到同样的错误“3个高危漏洞”当我按下npm审计修复时我总是这样... 查看详情

多个 npm 审核修复后无法运行 Vue 应用程序

...时间】:2022-01-1920:03:19【问题描述】:我想解决一个问题漏洞问题,但现在我的应用程序无法运行。我收到此错误消息:未找到此依赖项:firebase在./src/main.js,./node_modules/cache-loader/dist/cjs.js??ref--12-0!./ 查看详情

npm 审计修复:1 个高严重性漏洞:任意文件覆盖

】npm审计修复:1个高严重性漏洞:任意文件覆盖【英文标题】:npmauditfix:1highseverityvulnerability:ArbitraryFileOverwrite【发布时间】:2019-09-0209:38:52【问题描述】:===npmauditsecurityreport===┌─────────────────────... 查看详情

当包是最新的时,如何修复具有任意文件覆盖高漏洞的 NPM 包 Tar?

】当包是最新的时,如何修复具有任意文件覆盖高漏洞的NPM包Tar?【英文标题】:HowtofixNPMpackageTar,withhighvulnerabilityaboutArbitraryFileOverwrite,whenpackageisuptodate?【发布时间】:2019-09-0210:12:06【问题描述】:我刚刚从NPM安装了Flickity,并... 查看详情

如何修复 npm 无法全局安装 typescript 错误

】如何修复npm无法全局安装typescript错误【英文标题】:Howtofixnpmfailingtogloballyinstalltypescripterror【发布时间】:2019-05-2012:09:42【问题描述】:尝试使用npm全局安装typescript时sudonpminstall-gtypescript安装失败,出现以下错误:ENOENT:nosuchfi... 查看详情

npm 审计修复与 npm 安装

...个成熟的npminstall那么为什么当我运行npminstall并看到审计漏洞时,我必须手动运行npmauditfix来修复它们?【问题讨论】:【参考方案1】:npminstall不带任何参数只会 查看详情

无法修复 npm “fs:不支持重新评估本机模块源...”

】无法修复npm“fs:不支持重新评估本机模块源...”【英文标题】:Cannotfixnpm"fs:re-evaluatingnativemodulesourcesisnotsupported..."【发布时间】:2017-04-1821:02:41【问题描述】:任何对npm的调用都会产生一个消息列表:fs:不支持重新... 查看详情

如何修复 npm start “无法确定原生 SDK 版本”错误?

】如何修复npmstart“无法确定原生SDK版本”错误?【英文标题】:Howtofixnpmstart"cannotdeterminenativeSDKversion"error?【发布时间】:2020-08-0523:23:13【问题描述】:我正在尝试使用npmstart和expo从ubuntu上的github存储库运行我的react本机... 查看详情

如何修复@vue/cli 漏洞?

】如何修复@vue/cli漏洞?【英文标题】:Howtofix@vue/cliVulnerabilities?【发布时间】:2021-08-2013:47:41【问题描述】:我有vuejs-3项目,我正在寻找0个漏洞。当我执行npminstall时,我得到了48个当前版本节点和npm的漏洞。即使我尝试npmauditf... 查看详情

即使在删除 node_modules 和 npm install 后安装新包时也无法修复编译错误

】即使在删除node_modules和npminstall后安装新包时也无法修复编译错误【英文标题】:Unabletofixcompilationerrorwhileinstallingnewpackageevenafterdeletingnode_modulesandnpminstall【发布时间】:2021-06-1000:26:51【问题描述】:我按照here的说明安装了react-... 查看详情

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

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

当我尝试使用 --depth 21 更新包时,NPM 崩溃

...7-2300:54:18【问题描述】:我正在尝试修复我的项目中的npm漏洞。在尝试npmaudit时,我得到了一个命令来修复其中一个包中的漏洞。$npmupdatekind-of--depth21运行此命令时,我收到以下消息:<---Lastfew 查看详情

使用 docker 和 nodeJS 构建简单应用程序时,如何修复错误“npm ERR!无法从路径或包中检测节点名称”?

...docker和nodeJS构建简单应用程序时,如何修复错误“npmERR!无法从路径或包中检测节点名称”?【英文标题】:Howtofixerror"npmERR!couldnotdetectnodenamefrompathorpackage"whenbuildingsimpleappwithdockerandnodeJS?【发布时间】:2021-03-0617:53:48【... 查看详情

如何修复 vue-cli-service 漏洞?

】如何修复vue-cli-service漏洞?【英文标题】:howtofixvue-cli-servicevulnerability?【发布时间】:2020-09-0323:10:48【问题描述】:我刚刚尝试使用@vue/cli4.3.1创建一个新项目,全新安装Ubuntu19.10,npm6.14.4。当我cd进入项目并运行npminstall时,... 查看详情

无法 npm 使用 eslint 依赖项启动我的 React 项目

】无法npm使用eslint依赖项启动我的React项目【英文标题】:Can\'tnpmstartmyReactprojectwitheslintdependencies【发布时间】:2022-01-1215:40:51【问题描述】:我在我的react项目中安装了eslint来修复所有的eslint错误。我修复了所有错误,但是,我... 查看详情

https-proxy-agent 升级到 3.0.0 但 npm 审核仍然显示未修复

...供修复,即使升级到最新版本,审计警告仍显示为6个高漏洞。p>运行npmau 查看详情

如何修复:42 个漏洞(3 个低、15 个中等、24 个高)?

】如何修复:42个漏洞(3个低、15个中等、24个高)?【英文标题】:Howfixit:42vulnerabilities(3low,15moderate,24high)?【发布时间】:2021-12-1119:56:05【问题描述】:这是我的设置:我的环境和版本:节点JS:v14.18.1npm:8.1.1世博会-cli:4.12.10... 查看详情

无法修复 spring-security-oauth2-resource-server 上的漏洞

】无法修复spring-security-oauth2-resource-server上的漏洞【英文标题】:Unabletofixavulnerabilityonspring-security-oauth2-resource-server【发布时间】:2020-12-2400:30:54【问题描述】:我有一个Spring项目,当我运行mvndependency:tree时显示以下依赖项。+-org... 查看详情