Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 304

依赖混淆攻击

依赖混淆攻击 是什么?

依赖混淆攻击供应链攻击的一种,攻击者在公共注册中心发布与组织内部依赖同名的恶意包,诱使构建工具拉取公共版本。


依赖混淆利用包管理器(npm、pip、Maven、NuGet、RubyGems 等)在同时使用公共与私有注册中心时的默认解析行为。攻击者通过泄露的 manifest、公开仓库或 DNS 等手段获取内部包名,然后在公共注册中心发布同名的更高版本包,等待构建机器安装。Alex Birsan 在 2021 年的研究证明多家大公司均受影响。缓解措施包括:显式指定 registry 范围(npm scoped 包、NuGet 上游 feed、pip --index-url)、在公共注册中心提前占位、阻断对外解析、用 SigstorePGP 对包签名,以及通过受管控的制品库统一约束包名与来源。SLSA、SBOM 与对公共注册中心新增包的持续监控,也有助于检测此类尝试。

示例

  1. 01

    公共 npm 上出现的恶意 internal-utils@99.0.0 取代了内部的 internal-utils 包。

  2. 02

    构建流水线从 PyPI 拉取本应来自私有源的 pip 依赖。

常见问题

依赖混淆攻击 是什么?

供应链攻击的一种,攻击者在公共注册中心发布与组织内部依赖同名的恶意包,诱使构建工具拉取公共版本。 它属于网络安全的 应用安全 分类。

依赖混淆攻击 是什么意思?

供应链攻击的一种,攻击者在公共注册中心发布与组织内部依赖同名的恶意包,诱使构建工具拉取公共版本。

依赖混淆攻击 是如何工作的?

依赖混淆利用包管理器(npm、pip、Maven、NuGet、RubyGems 等)在同时使用公共与私有注册中心时的默认解析行为。攻击者通过泄露的 manifest、公开仓库或 DNS 等手段获取内部包名,然后在公共注册中心发布同名的更高版本包,等待构建机器安装。Alex Birsan 在 2021 年的研究证明多家大公司均受影响。缓解措施包括:显式指定 registry 范围(npm scoped 包、NuGet 上游 feed、pip --index-url)、在公共注册中心提前占位、阻断对外解析、用 Sigstore 或 PGP 对包签名,以及通过受管控的制品库统一约束包名与来源。SLSA、SBOM 与对公共注册中心新增包的持续监控,也有助于检测此类尝试。

如何防御 依赖混淆攻击?

针对 依赖混淆攻击 的防御通常结合技术控制与运营实践,详见上方完整定义。

依赖混淆攻击 还有哪些其他名称?

常见的别称包括: 命名空间混淆, 替换式攻击。

相关术语

参见