【问题标题】:how do i ignore/fix Raven scans vulnerabilities for npm library dependencies我如何忽略/修复 Raven 扫描 npm 库依赖项的漏洞
【发布时间】:2020-09-25 05:40:11
【问题描述】:

我们在 AngularJS 1.x 上有一个 Web 应用程序,它正在创建依赖项问题 -> 依赖库以扫描漏洞。

包.json:

{
  "name": "Test",
  "dependencies": {
    "angular": "1.6.9",
    "angular-animate": "1.6.6",
    "angular-aria": "1.6.9",
    "angular-material": "1.1.9",
    "angular-messages": "1.6.9",
    "angular-route": "1.6.9",
    "angular-touch": "1.6.9",
    "angular-ui-router": "0.3.2",
    "angular-smart-table": "2.1.8",
    "angular-ui-bootstrap": "1.3.3",
    "angular-ui-grid": "4.8.3",
    "angular-ui-select": "0.12.10",
    "uuid": "^3.3.2",
    "bootstrap": "3.3.7",
    "requirejs": "2.3.6",
    "jquery": "3.3.1",
    "grunt-cli": "1.3.2",
    "grunt": "1.3.0",
    "grunt-contrib-uglify": "4.0.1",
    "grunt-contrib-jshint": "2.1.0",
    "grunt-contrib-requirejs": "1.0.0",
    "grunt-contrib-clean": "1.1.0",
    "grunt-contrib-copy": "1.0.0",
    "grunt-contrib-cssmin": "2.2.1",
    "grunt-contrib-concat": "1.0.1",
    "grunt-processhtml": "0.4.2",
    "grunt-front-end-modules": "1.1.0",
    "grunt-karma": "3.0.0",
    "underscore": "1.8.3",
    "d3": "3.5.17",
    "nvd3": "1.8.1",
    "angular-file-saver": "1.1.3",
    "smart-area": "2.0.0",
    "csv-js": "1.0.0",
    "pdfmake": "0.1.36",
    "file-saver": "1.3.2",
    "font-awesome": "4.7.0",
    "angular-file-upload": "2.5.0"
  }
}

包锁.json

...

"htmlprocessor": {
      "version": "0.2.6",
      "resolved": "https://artifacts.jpmchase.net:443/artifactory/api/npm/npm/htmlprocessor/-/htmlprocessor-0.2.6.tgz",
      "integrity": "sha1-rJ9HfsU3g7jXprZ9e2w1HqXXPTU=",
      "requires": {
        "lodash": "~2.4.1"
      },
      "dependencies": {
        "lodash": {
          **"version": "2.4.2",**
          "resolved": "https://artifacts.jpmchase.net:443/artifactory/api/npm/npm/lodash/-/lodash-2.4.2.tgz",
          "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4="
        }
      }
    },
...

例如上面的例子 - lodash 需要更新到 4.17.20 来修复漏洞。

我是添加 lodash 作为 devDependency 还是手动更新 package-lock.json ?

注意-package-lock.json 不是作为源代码控制的一部分推送的,但我正在网上研究它应该是

【问题讨论】:

    标签: angularjs security npm package.json


    【解决方案1】:

    我们也在努力解决我们应用中的安全漏洞,并且遇到了类似的问题。没有好的答案:

    • 当然,您可以手动编辑您的 package-lock.json 文件,但这只是在绕开问题。它不会以某种方式摆脱 lodash 带来的漏洞,因为 NPM 将继续拉低该版本。与试图隐藏它相比,您最好要求放弃对这一安全发现的豁免。

    • 为什么要拉下那个版本?您的 devDependencies 之一依赖于 htmlprocessor。该处理器库specifically calls out the use of that version of lodash。您可以向该库提交合并请求,以将其更新为较新版本的 lodash,但它看起来已不再维护。

    • 添加新版本的 lodash 作为 devDependency 将意味着您现在依赖于两个版本的 lodash。它不会解决任何问题。

    这既是使用 NPM 的福也是祸。轻松访问大量库...但有许多不再维护的库被拉入其中,充满了安全问题。

    【讨论】:

      猜你喜欢
      • 2019-05-08
      • 2018-12-21
      • 1970-01-01
      • 2021-08-25
      • 2021-08-14
      • 1970-01-01
      • 2018-12-24
      • 2013-03-07
      相关资源
      最近更新 更多