npm深度审计漏洞

时间:2018-06-08 09:54:12

标签: node.js npm git-fork

背景

我想从Koa转移到express,但是,我还使用socket.io完成了大部分工作,并且需要跨连接类型共享会话。输入koa-socket-session

当我安装它时,npm忠实于警告我存在一个高严重性漏洞:

koa-socket-session> koa-socket.io> socket.io> socket.io-client> engine.io-client> parsejson

作为一名优秀的开发者,我决定将它分叉并提交补丁。

片刻之后,我意识到问题是socket.io需要koa-socket.io的旧版本。我想我只是修复了突破性的变化,提交补丁并且好好去。但是...

问题

在修补该问题之后,即使我的项目的其余部分没有重大更改,也有主要的版本号更改,所以我必须分叉这些项目中的每一个来修复依赖关系链。

然而,直到前一个fork进入主分支,如果它甚至是,我不能修改下一步而不将依赖指向我自己的fork并拆分它们的所有代码库。如果不接受我的拉动请求,这可能需要数月,数年或甚至永远不会发生。

解决方案

我能想出的唯一解决方案是:

  1. 构建一个全新的依赖链,为它们提供所有新名称,在npmjs和github上发布它们并放弃所有当前的包。
  2. 将所有依赖项合并为一个,并将它们作为独立的包发布
  3. 显然,任何一种方法都会完全违反社区标准,我真的不打算篡夺所有这些项目,机会是,,除了我以外,任何人都不会使用我的叉子,所以我&# 39; d落后于其他人。

    我想这个问题每天都会出现数百次,并且有了像npm这样一个经过验证的真实系统,必须有一种标准的方法来处理它,但我找不到"对"解决方案在任何地方。处理此问题的正确方法是什么?

0 个答案:

没有答案