热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何手动修复npm漏洞?

如何解决《如何手动修复npm漏洞?》经验,为你挑选了1个好方法。

我跑的npm install时候说found 33 vulnerabilities (2 low, 31 moderate) run `npm audit fix` to fix them, or `npm audit` for details.

但是,npm audit fix产出up to date in 11s fixed 0 of 33 vulnerabilities in 24653 scanned packages 33 vulnerabilities required manual review and could not be updated

这是否review意味着它不应由用户修复?

当我运行npm audit它时,给我一个表的列表,类似于Update to version 4.17.5 or later.

在此示例中,链接页面的修复部分说/node_modules/browser-sync/package.json.但是,/node_modules/lodash/lodash.json有以下几行:

????????????????????????????????????????????????????????????????????????????????
? Low           ? Prototype Pollution                                          ?
????????????????????????????????????????????????????????????????????????????????
? Package       ? lodash                                                       ?
????????????????????????????????????????????????????????????????????????????????
? Patched in    ? >=4.17.5                                                     ?
????????????????????????????????????????????????????????????????????????????????
? Dependency of ? browser-sync [dev]                                           ?
????????????????????????????????????????????????????????????????????????????????
? Path          ? browser-sync > easy-extender > lodash                        ?
????????????????????????????????????????????????????????????????????????????????
? More info     ? https://nodesecurity.io/advisories/577                       ?
????????????????????????????????????????????????????????????????????????????????

而且没有更多的lodash依赖.所以它应该已经是v4.17.5.我还检查了var VERSION = '4.17.10';哪一/node_modules/lodash/package.json行.在npm install有这些线路:

"devDependencies": {
    "lodash-cli": "4.17.5",
}

我认为版本显示在"_id"中,而不是"_from",因此版本是正确的但漏洞仍然出现在审计列表中.

我仍然是node.js的新手,这些消息让我很困惑.有没有办法手动修复它或摆脱这些消息,我不能做任何事情?



1> Estus Flask..:

lodash-cliin devDependencies不会影响browser-sync项目的工作方式,devDependencies将软件包作为依赖项安装时将被忽略。

什么audit报告说的是,这是easy-extenderlodash依赖性:

browser-sync > easy-extender > lodash        

它取决于Lodash 3,而该问题已在Lodash 4中得到解决。可以通过分叉easy-extender,更新和安装它(而不是NPM公共注册表中的软件包)来解决此问题。但是这种依赖性没有真正的问题。

audit报告重要性应手动评估。即使嵌套的依赖项具有安全风险,也并不意味着已使用引入此风险的功能。这也不意味着即使使用它,也会由于使用方式而带来实际风险。

browser-sync是生产中不使用的开发工具,没有太多可以利用其漏洞的方案。和原型污染是不是所有漏洞,只是一个通知,一包不遵循良好的做法,可以忽略不计。

通常,这是修复报告的漏洞的方法:

进行健全性检查

万一这是一个真正的问题,请检查易受攻击软件包的存储库中是否存在现有问题 PR

如果没有,请提交问题

分叉存储库或使用现有PR作为git依赖项,直到在NPM版本中对其进行修复

如果嵌套了依赖项,请在多个嵌套级别上执行此操作

多数情况下,预计您不会超越健全性检查标准。

patch-package可以帮助就地修补嵌套的依赖关系,但这不会影响audit报告。


推荐阅读
  • Node.js学习笔记(一)package.json及cnpm
    本文介绍了Node.js中包的概念,以及如何使用包来统一管理具有相互依赖关系的模块。同时还介绍了NPM(Node Package Manager)的基本介绍和使用方法,以及如何通过NPM下载第三方模块。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • RN即ReactNative基于React框架针对移动端的跨平台框架,在学习RN前建议最好熟悉下html,css,js,当然如果比较急,那就直接上手吧,毕竟用学习前面基础的时间,R ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • 本文介绍了如何使用Express App提供静态文件,同时提到了一些不需要使用的文件,如package.json和/.ssh/known_hosts,并解释了为什么app.get('*')无法捕获所有请求以及为什么app.use(express.static(__dirname))可能会提供不需要的文件。 ... [详细]
  • 预备知识可参考我整理的博客Windows编程之线程:https:www.cnblogs.comZhuSenlinp16662075.htmlWindows编程之线程同步:https ... [详细]
  • 本文介绍了一个适用于PHP应用快速接入TRX和TRC20数字资产的开发包,该开发包支持使用自有Tron区块链节点的应用场景,也支持基于Tron官方公共API服务的轻量级部署场景。提供的功能包括生成地址、验证地址、查询余额、交易转账、查询最新区块和查询交易信息等。详细信息可参考tron-php的Github地址:https://github.com/Fenguoz/tron-php。 ... [详细]
  • 本文介绍了JavaScript进化到TypeScript的历史和背景,解释了TypeScript相对于JavaScript的优势和特点。作者分享了自己对TypeScript的观察和认识,并提到了在项目开发中使用TypeScript的好处。最后,作者表示对TypeScript进行尝试和探索的态度。 ... [详细]
  • node.jsurlsearchparamsAPI哎哎哎 ... [详细]
  • 本文介绍了在Android Studio中使用命令行build gradle的方法,并解决了一些常见问题,包括手动配置gradle环境变量和解决External Native Build Issues的方法。同时提供了相关参考文章链接。 ... [详细]
  • React 小白初入门
    推荐学习:React官方文档:https:react.docschina.orgReact菜鸟教程:https:www.runoob.c ... [详细]
  • 前言:原本纠结于Web模板,选了Handlebars。后来发现页面都是弱逻辑的,不支持复杂逻辑表达式。几乎要放弃之际,想起了Javascript中ev ... [详细]
author-avatar
漂泊盼安定
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有