Skip to content
Tech

为什么我的包管理器仍然会将我的内部包与公共包混淆?

80

机会

大多数组织会在内部注册表中维护私有包,同时还会使用来自 npm 或 PyPI 的公共依赖项。当构建工具解析一个名称时,如果攻击者发布了一个名称相同但版本号更高的包,构建工具可能会在无任何提示的情况下优先选择该公共版本,因为没有任何注册表会对私有范围强制执行加密命名空间所有权。 微软在 2026 年 5 月记录了 33 个正在积极利用此漏洞的恶意 npm 包,这些包针对 9 个不同的企业组织范围。Orca Security 报告称,49% 的组织至少拥有一项易受此类攻击影响的资产。目前尚无任何主要的包生态系统推出过相关标准,允许构建工具拒绝那些与已声明的内部包同名但版本号更高的公共包。

为什么重要

注册表层面的加密命名空间所有权是缺失的基础组件,它能够彻底杜绝一类供应链安全威胁,且无需组织更改其构建管道。

我如何评估机会

机会评分是我的个人判断,而非量化指标:痛苦程度、发生频率,以及当前解决方案的匮乏程度。分数越高,意味着我认为越值得去构建。

严重性8/10

出现时造成的痛苦程度。

频率7/10

人们实际遇到它的频率。

空白空间7/10

当前针对它的优质工具有多匮乏。

更多值得解决的问题