首页 > 解决方案 > 当 npm audit 什么都不做时,如何使用 react-scripts v2.1.5 修复 npm 包大括号问题?

问题描述

我的 react 客户端文件夹中的 NPM 包给了我 63 个低级漏洞,所有这些漏洞都主要在版本 2.1.5 的 react-scripts 包的 jest 文件夹中处理大括号包。NPM 审核修复不起作用,我该怎么办?

我已经尝试降级到以前版本的 react-scripts,通过更新 package.json、删除包锁、再次运行 npm install 或运行 npm update 来更新大括号,但经过 2 小时的摆弄,没有任何效果。我还尝试在运行时恢复到我的 Github package.json 的先前版本。我相信它在我尝试下载 firebase-ui 后停止工作,但我认为这与更新软件包有关,因为我已经删除了节点模块和 npm 安装了几次。

这是我的干净 package.json 搞砸了。

"webpack-dev-server": "3.1.14",
"@babel/core": "*",
"axios": "*",
"body-parser": "*",
"bootstrap": "*",
"cors": "*",
"dotenv": "*",
"draft-js": "*",
"draft-js-export-html": "*",
"errorhandler": "*",
"express": "*",
"express-session": "*",
"history": "*",
"jquery": "*",
"moment": "*",
"mongoose": "*",
"morgan": "*",
"node-sass-chokidar": "*",
"npm-run-all": "*",
"path": "*",
"query-string": "*",
"react": "*",
"react-dom": "*",
"react-loadable": "*",
"react-redux": "*",
"react-router-dom": "*",
"react-router-redux": "*",
"react-scripts": "*",
"react-validation": "*",
"reactstrap": "*",
"recharts": "*",
"redux": "*",
"redux-logger": "*",
"redux-observable": "*",
"redux-thunk": "*",
"rxjs": "*",
"rxjs-compat": "*",
"validator": "*"

这是我遇到的问题:

低正则表达式拒绝服务

包大括号

react-scripts 的依赖

路径 react-scripts > jest > jest-cli > micromatch > 大括号

更多信息 https://nodesecurity.io/advisories/786

标签: npmjestjsbracesreact-scripts

解决方案


我跑了npm install braces@2.3.1然后npm update

这仍然导致了 63 个漏洞,但它确实将我的大括号带到了当前版本。所以我浏览并更新bracespackage-lock.jsonto中的所有引用2.3.2。然后我npm update再次运行,当我运行时npm audit,漏洞消失了。


推荐阅读