🧨
Tools & Internet Supply Chain & Quality Failure 2018 - 2018

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

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

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

See the patterns
No English translation for this case yet — showing the stored original.
Peak valuation

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

Final cost

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

Attribution votes

2,794 votes cast

Community output

1 plans · 1 insights

Sponsored
把你亲历的失败写进来

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

Root Causes Consensus Poll

Vote for the primary fatal error that caused this enterprise to collapse.

外部合规

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

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

919 votes (33%)
产品技术

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

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

772 votes (28%)
资本财务

开源维护缺少持续支持

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

625 votes (22%)
组织管理

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

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

478 votes (17%)