首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复Seriate和Lodash漏洞

如何修复Seriate和Lodash漏洞
EN

Stack Overflow用户
提问于 2019-07-03 09:34:09
回答 2查看 6.3K关注 0票数 4

对于我的项目,我使用了一个包,Seriate。

npm install seriate

但是,运行它会得到以下结果:

发现17个漏洞(9个低、1个中等、7个高)

我运行了npm auditnpm audit fix,但什么也没有。我还研究了依赖项,Lodash似乎有一个安全问题(据推测固定在4.17.11)。

我怎么才能修好这些?我已经尝试过像这样更新npm install lodash@4.17.11:然而,这也不起作用。

另外,这是否需要担心,它是从本地服务器上运行的,而本地服务器本身是安全的?

谢谢你的帮助

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-03 09:43:57

npm audit发现的安全问题不能自动修复(即通过将包版本更改为等效的安全版本),它们需要手动检查,因此不能由npm audit fix简单地解决。npm audit fix --force将是一种选择(注意:引入破坏更改!)但对我来说,这17个问题都没有解决。

在安装当前版本的seriate时,已经需要/安装了lodash@4.7.11,因此npm i lodash@4.7.11不会更改任何内容。

在你的情况下,这些问题是否危险,确实需要你进行调查。请注意,并不是因为lodash不安全,而是只在某些情况下使用lodash,只在某些机器上使用,只对某些功能使用,等等。首先阅读与安全问题相关的NPM警告(如这一个)。

票数 2
EN

Stack Overflow用户

发布于 2019-09-04 21:42:12

正如尼诺所提到的,npm audit不会自动解决Lodash安全漏洞。

  • 发现需要手动检查的安全漏洞

如果发现了安全漏洞,但没有可用的修补程序,审计报告将提供有关该漏洞的信息,以便进一步研究。示例审计报告的快照在这里。

  • 要解决该漏洞,可以使用
    1. 检查缓解因素
    2. 如果存在修补程序,则更新相关包。
    3. 修复漏洞

检查缓解因子

检查“More info”字段中的安全建议,查看可能允许您在有限情况下继续使用带有漏洞的包的缓解因素。例如,该漏洞可能只存在于特定操作系统上使用的代码或调用特定函数时。

如果存在修补程序,则更新相关包,

如果存在修补程序,但依赖于带有该漏洞的包的包尚未更新以包含固定版本,则可能需要在依赖包存储库上打开拉或合并请求以使用固定版本。

  1. 若要查找必须更新的包,请检查带有漏洞的包的位置的“Path”字段,然后检查依赖它的包。例如,如果该漏洞的路径是@package-name >依赖-package>package- will ,则需要更新
  2. 在npm公共注册表上,找到依赖包并导航到它的存储库。有关查找包的详细信息,请参阅这里
  3. 在依赖包存储库中,打开拉或合并请求,将易受攻击包的版本更新为具有修复功能的版本。
  4. 一旦合并了拉或合并请求,并在npm公共注册表中更新了包,就用npm update更新包的副本

修复漏洞

如果不存在修补程序,则可能需要建议更改,以解决包存储库中的拉或合并请求中的包维护人员的漏洞。

  1. 检查“Path”字段以确定漏洞的位置。
  2. 在npm公共注册表上,查找带有该漏洞的包。有关查找包的详细信息,请参阅这里
  3. 在包存储库中,打开一个拉或合并请求,对包存储库进行修复。
  4. 一旦该修复程序被合并并在npm公共注册表中更新了该包,则使用该修补程序更新依赖于该包的包的副本。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56867099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档