如何修复 npm 审计报告

Posted

技术标签:

【中文标题】如何修复 npm 审计报告【英文标题】:how to fix the npm audit report 【发布时间】:2019-05-03 11:36:04 【问题描述】:

当我运行 npm audit 命令时

=== npm 审计安全报告 ===

`Manual Review 

 Some vulnerabilities require your attention to resolve 

 Visit https://go.npm.me/audit-guide for additional guidance `



High          │ Arbitrary File Overwrite                                     

Package       │ tar                                                          
Patched in    │ >=4.4.2                                                       
Dependency of │ @angular-devkit/build-angular [dev]                           
Path          │ @angular-devkit/build-angular > node-sass > node-gyp >tar 
More info     │ https://nodesecurity.io/advisories/803

上面写着found 1 high severity vulnerability in 42611 scanned packages 1 vulnerability requires manual review。由于它与@angular-devkit/build-angular有关,我担心它是否会在我的项目中产生任何其他问题。

当我运行 npm audit fix 命令时

    npm WARN optional SKIPPING OPTIONAL 
    DEPENDENCY:fsevents@1.2.9 (node_modules/fsevents):
    npm WARN notsup SKIPPING OPTIONAL 
    DEPENDENCY:Unsupported platform for 
    fsevents@1.2.9: wanted "os":"darwin","arch":"any" 
    (current: "os":"linux","arch":"x64")

那么如何在任何具有 linux 操作系统的系统中解决这个问题。让我们考虑忽略上面的 npm 审计修复结果,因为它在某种程度上是一个警告。但是 npm 审计的结果被认为是一个高危漏洞。如何解决这个问题。

Angular CLI 版本

      Angular CLI: 7.3.8
      Node: 10.0.0
      OS: linux x64
      Angular: 7.2.14
      ... animations, common, compiler, compiler-cli, core, forms
      ... language-service, platform-browser, platform-browser-dynamic
      ... router

      Package                           Version
      -----------------------------------------------------------
      @angular-devkit/architect         0.13.8
      @angular-devkit/build-angular     0.13.8
      @angular-devkit/build-optimizer   0.13.8
      @angular-devkit/build-webpack     0.13.8
      @angular-devkit/core              7.3.8
      @angular-devkit/schematics        7.3.8
      @angular/cli                      7.3.8
      @ngtools/webpack                  7.3.8
      @schematics/angular               7.3.8
      @schematics/update                0.13.8
      rxjs                              6.3.3
      typescript                        3.2.4
      webpack                           4.29.0

帮我解决这个问题。谢谢你

【问题讨论】:

npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.0.14的可能重复 不,首先你会看到 npm 审计安全报告。 1 high severity vulnerability 在那里。它与@angular-devkit//build-angular 相关。我为此担心。如果我忽略 npm 审计修复结果,那么我的问题也没有解决。如何解决这个问题。被列为高严重性漏洞。 【参考方案1】:

This vulnerability has been fixed.

删除node_modulespackage-lock.json,然后运行命令:

    npm install npm audit npm audit fix npm audit

Found 0 vulnerabilities会出现,问题已解决。

【讨论】:

在“当我运行 npm 审计命令”部分的第一行说 Manual Review Some vulnerabilities require your attention to resolve 。这些不能直接使用上述命令修复。我已经尝试过了。所以使用这个 npm 审计修复并不能解决我的问题。谢谢 npm audit 显示漏洞,要修复此问题,您需要使用npm audit fix,然后使用npm audit 检查问题是否已修复。 当你看到一些漏洞需要手动关注时,它会给你一个漏洞上面的命令。我会建议一一更新并检查您的应用程序是否仍然正常工作。有时更新可能会破坏您的应用程序,有时您实际上无法自己修复漏洞,因为它们是您正在使用的软件包的依赖项。【参考方案2】:

我想通过这个。 这就是我为修复审计所做的工作。

问题是TAR,它是node-gyp的一个依赖项。

解决方案在这里: https://github.com/sass/node-sass/issues/2625 按照“mohsenari”的建议去做。 它对我有用。

对于不支持的可选 fsevents,这是另一回事,但这只是一个警告,没什么大不了的。

它发生是因为 fsevents 是一个可选依赖项,仅在 项目在 macOS 环境下运行(包提供了“Native 访问 Mac OS-X FSEvents')。

来源: npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.0.14

【讨论】:

您的回答绝对是信息丰富的,但对我没有用。谢谢。

以上是关于如何修复 npm 审计报告的主要内容,如果未能解决你的问题,请参考以下文章

npm 审计修复后如何解决原型污染 lodash 需要人工审核

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

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

如何修复这些漏洞? (npm audit fix 无法修复这些漏洞)

npm 审计修复与 npm 安装

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