12

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

4

3 回答 3

16

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

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

于 2019-02-17T17:25:46.643 回答
4

Jest 是一个测试包,永远不会出现在你的生产包中,你可以忽略这个漏洞而没有风险。

这个包https://github.com/naugtur/npm-audit-resolver#readme可以帮助你忽略低漏洞。

于 2019-02-18T11:36:09.723 回答
1

我能够用resolutions字段解决类似的问题,然后是yarn install-

  "resolutions": {
    "braces": "= 2.3.1"
  }

我已经检查yarn.lock并验证了仅更新了相关的依赖项。

这里有更多关于这个主题的信息 - https://github.com/yarnpkg/yarn/issues/4986

于 2020-02-11T14:52:37.227 回答