Node.js 如何修复Seriate和Lodash漏洞

Node.js 如何修复Seriate和Lodash漏洞,node.js,npm,lodash,Node.js,Npm,Lodash,对于我的项目,我使用了一个包,Seriate npm安装系列化 但是,运行此命令会产生以下结果: 发现17个漏洞(9个低,1个中等,7个高) 我运行了npm-audit和npm-audit-fix但什么都没有。我还研究了依赖关系,Lodash似乎有一个安全问题(应该在4.17.11中修复) 我怎样才能修好这些?我尝试过像这样更新lodash:npm安装lodash@4.17.11但是,这也不起作用 这是否也需要担心,它是从一个本身安全的本地服务器上运行的 感谢您的帮助npm audit发现的安全

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

npm安装系列化

但是,运行此命令会产生以下结果:

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

我运行了
npm-audit
npm-audit-fix
但什么都没有。我还研究了依赖关系,Lodash似乎有一个安全问题(应该在4.17.11中修复)

我怎样才能修好这些?我尝试过像这样更新lodash:
npm安装lodash@4.17.11
但是,这也不起作用

这是否也需要担心,它是从一个本身安全的本地服务器上运行的


感谢您的帮助

npm audit发现的安全问题不能自动修复(即通过将软件包版本更改为等效的安全版本),它们需要手动检查,因此不能简单地通过
npm audit fix
修复<代码>npm审计修复--强制将是一个选项(注意:引入了破坏性的更改!),但对我来说,这17个问题都没有修复

安装系列化的当前版本时,
lodash@4.7.11
已经需要/安装,因此
npm ilodash@4.7.11
不会改变任何东西

在你的案件中,这些问题是否危险,确实需要你方进行调查。请注意,并不是因为
lodash
不安全,使用
lodash
是-仅在某些情况下,仅在某些机器中,仅用于某些功能等。从阅读与安全问题相关的NPM咨询开始(如).

如npm audit所述,不会自动解决Lodash安全漏洞

  • 发现需要手动检查的安全漏洞
如果发现了安全漏洞,但没有可用的修补程序,审计报告将提供有关该漏洞的信息,以便您进一步调查。

  • 要解决此漏洞,您可以
  • 检查缓解因素
  • 如果存在修复程序,则更新相关程序包
  • 修复该漏洞
检查缓解因素

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

如果存在修复程序,则更新相关软件包

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

  • 要查找必须更新的包,请在“路径”字段中查找具有该漏洞的包的位置,然后检查依赖该漏洞的包。例如,如果该漏洞的路径是@package name>dependent package>package with漏洞,则需要更新dependent package

  • 在npm公共注册表上,找到依赖包并导航到其存储库。有关查找包的更多信息,请参阅

  • 在从属软件包存储库中,打开拉取或合并请求,将易受攻击软件包的版本更新为具有修复程序的版本

  • 合并拉取或合并请求并在npm公共注册表中更新包后,使用
    npm update

  • 修复漏洞

    如果不存在修复程序,您可能希望在包存储库的拉入或合并请求中向包维护人员建议解决该漏洞的更改

  • 检查“路径”字段中漏洞的位置
  • 在npm公共注册表上,查找带有漏洞的包。有关查找包的更多信息,请参阅
  • 在包存储库中,打开拉取或合并请求以对包存储库进行修复
  • 一旦修复程序被合并并且在npm公共注册表中更新了包,请更新依赖于具有修复程序的包的包的副本

  • 感谢您的解释,我没有使用您的链接中指定的命令,我已经在Seriate的github上发布了一个