🧨
工具与互联网 供应链与品控失控 2018 - 2018

npm 包被植入恶意代码 (event-stream):为什么一个开源包的「换人维护」,会成为攻击者最省事的入口?

接手一个被广泛依赖的包,比攻破任何一家公司都便宜

npm 包被植入恶意代码 (event-stream):巅峰期被广泛使用的开源工具包,周下载量以百万计,被大量项目作为基础依赖引入,属于生态里典型的「默默运行」型组件;终局是原维护者把项目转手后,新维护者在依赖中植入针对特定加密货币钱包的恶意代码,被平台发现前已发布数月,引发对开源维护权转让的广泛讨论。

不只看这一家
高峰估值

被广泛使用的开源工具包,周下载量以百万计,被大量项目作为基础依赖引入,属于生态里典型的「默默运行」型组件

终局损失

原维护者把项目转手后,新维护者在依赖中植入针对特定加密货币钱包的恶意代码,被平台发现前已发布数月,引发对开源维护权转让的广泛讨论

归因投票

2,794 票参与

社区产出

1 方案 · 1 见解

推广
把你亲历的失败写进来

投稿会先进入待审,通过后才进入公开目录和站点地图。

核心败因全民归因公投

投票选择您认为导致该企业/项目最终死亡的最核心死穴,认同即可实时投票计入权重

外部合规

维护权可以低成本转让给陌生人

转让过程没有身份核验或过渡期约束,攻击者可以合法接手项目

919 票 (33%)
产品技术

使用者对间接依赖缺少可见性

多一层依赖就把恶意代码藏在了视野之外,多数团队不会逐层审查

772 票 (28%)
资本财务

开源维护缺少持续支持

维护者长期无偿投入,倦怠后倾向于把项目交出去而不是维护下去

625 票 (22%)
组织管理

平台对发布行为缺少异常检测

维护权变更与新依赖引入没有触发额外的审核流程

478 票 (17%)