【问题标题】:How to exclude dependencies or module which are available in package-lock.json in build.gradle to get rid of vulnerabilities如何在 build.gradle 中排除 package-lock.json 中可用的依赖项或模块以摆脱漏洞
【发布时间】:2021-03-10 03:56:14
【问题描述】:

如何排除 build.gradle 中 package-lock.json 中可用的依赖项或模块以摆脱漏洞

以下是对该问题的一些见解: 当我们在 nodejs 项目上执行 npm install 时,package-lock.json 正在生成,并且在 package-lock.json 中,所有依赖项都被添加到 lodash、uglify-js 等......即使我们没有声明 lodash 或 uglify-js在 package.json 中,这些包被添加到 package-lock.json。

当我们对上述项目进行白源扫描或 CVE 修复时,我们发现了 lodash 和 uglify-js 的漏洞,即使我们没有在 nodejs 代码和 package.json 中使用。

如何从 package-lock.json 中排除特定的依赖项?

【问题讨论】:

    标签: package-lock.json


    【解决方案1】:

    ... in package-lock.json all the dependencies are getting added for lodash,uglify-js etc...even though we have not declared lodash or uglify-js in package.json,these packages were adding to package-lock.json.

    您在项目中使用的模块之一在其源代码中使用了lodash, uglify-js etc..(作为构建模块时的依赖项)。这就是它们在package-lock.json 中可用的原因。

    您可以使用 NPMls 命令查看哪些包正在使用哪些依赖项。

    npm ls lodash
    

    您可以在npm Docs阅读更多内容

    【讨论】:

    • └─┬ cypress@6.0.0 │ Cypress.io 端到端测试工具 │ git+github.com/cypress-io/cypress.gitgithub.com/cypress-io/cypress └── lodash@4.17.20 Lodash 模块化实用程序。 git+github.com/lodash/lodash.gitlodash.com
    • 即使 lodash 有最新版本,但当我运行 whitesource 扫描时,它仍然显示为漏洞(要消除漏洞必须是最新版本)。
    • 主要是我的父包使用子包,但是子包需要更新到最新版本,但是父包还是旧的,我该如何解决这个问题?
    • 如果父包使用旧版本,则必须等到开发人员发布具有最新依赖版本的更新。因为可能需要根据依赖项的变化对包进行必要的代码更改。 (方法折旧、参数类型更改等...)
    猜你喜欢
    • 2019-04-06
    • 2018-09-09
    • 2018-10-31
    • 2019-03-26
    • 1970-01-01
    • 1970-01-01
    • 2018-04-19
    • 2020-05-28
    • 2018-12-07
    相关资源
    最近更新 更多