在 node.js (npm) 上发现很多错误

Catch a lot of errors on node.js (npm)

我附上了 npm 审计结果。 自行解决问题的尝试毫无结果。如果有人能解释问题的本质,我将不胜感激。久久不能修。也许解决方案简单且合乎逻辑,但不幸的是对我来说并不明显。

       High            Regular expression denial of service                          

       Package         glob-parent                                                   

       Patched in      >=5.1.2                                                       

       Dependency of   gulp [dev]                                                    

       Path            gulp > glob-watcher > chokidar > glob-parent                  

       ------------------------------------------------------------

       High            Prototype Pollution in set-value                              

       Package         set-value                                                     

       Patched in      >=4.0.1                                                       

       Dependency of   gulp [dev]                                                    

       Path            gulp > gulp-cli > matchdep > findup-sync > micromatch >       
                       extglob > expand-brackets > snapdragon > base > cache-base >  
                       union-value > set-value    

在不同路径的终端中重复错误。

查看您在评论中发布的 package.json,至少在撰写本文时,您的所有问题都在开发依赖项中,none 在生产依赖项中。您可以使用 npm audit --omit=dev 确认这一点(截至撰写本文时)显示 0 个漏洞。

此时,一个有效的选择是决定不担心 npm 报告的任何问题。例如,您极不可能通过 glob-parent 触发拒绝服务问题(如您提供的代码段中所报告),并且您这样做的可能性微乎其微,这将是“拒绝服务”在您自己的工具上 运行 gulp。从字面上看,谁在乎?

但是如果你真的想摆脱这些东西:卸载 gulpcheck-dependencies。前者已经 2 年没有发布新版本了,你也没有在你的 package.json 中使用它。后者已经 4 年没有发布新版本了,这不是你离不开的东西。您没有在 package.json 中使用这些开发依赖项中的任何一个。如果您打算使用 gulp,请考虑使用 grunt instead (currently, reports 0 vulnerabilities when installed) or regular npm scripts

TL;DR:

  1. 您可以选择忽略这些。它们都处于开发依赖关系中,至少在撰写本文时是这样。
  2. 如果您不想忽略它们,请删除 gulpcheck-dependencies。无论如何你都不会使用它们,至少现在还没有。

如果您按照教程进行操作,请绝对忽略针对教程目的的警告或查找更新的教程。