NPM-AUDIT 发现高漏洞。我应该做些什么?

Nem*_*mus 13 npm angular npm-audit angular-devkit

npm audit 在我的项目上运行并得到我这个


@angular-devkit/build-angular [dev] 的高命令注入依赖

路径@angular-devkit/build-angular > @ngtools/webpack > tree-kill

更多信息 https://npmjs.com/advisories/1432

高指令注射

包树杀

已修补 >=1.2.2

@angular-devkit/build-angular [dev] 的依赖

路径@angular-devkit/build-angular > tree-kill

更多信息 https://npmjs.com/advisories/1432

Tree-kill需要更新,但它是一个角度问题,不是我的。所以呢?需要等待 angular-team 将自己的 package.json 更新为更新版本的 tree-kill 吗?

Yur*_*kov 13

您无需等待软件包的新版本即可修复此问题@angular-devkit/build-angular

只需执行以下步骤:

  1. package.json通过添加resolutions具有正确版本包的部分来更新您的文件tree-kill
"resolutions": {
  "tree-kill": "1.2.2"
}
Run Code Online (Sandbox Code Playgroud)
  1. package-lock.json通过运行命令更新您的:
npx npm-force-resolutions
Run Code Online (Sandbox Code Playgroud)
  1. 在你的项目中重新安装 NPM 包:
rm -r node_modules
npm install
Run Code Online (Sandbox Code Playgroud)

运行npm audit以检查您的项目是否不再有此问题。并且不要忘记提交修改后的文件package.jsonpackage-lock.json.

有关NPM 力决议的更多信息。


小智 11

我今天遇到了同样的问题,我通过以下方式解决了它:

  1. 从 node_modules 文件夹中删除 tree-kill 包。
  2. 删除 package-lock.json 文件。
  3. 转到 node_modules 文件夹中的@angular-devkit/build-angular 文件夹并编辑 package.json 文件;将 tree-kill 版本从 1.2.1 更改为 1.2.2
  4. 转到 node_modules 文件夹中的 @ngtools/webpack 文件夹并执行与步骤 3 相同的操作。

之后运行 npm install 。

  • 手动编辑依赖项不是一个好主意,因为重新安装项目将代表问题 (2认同)