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

恶意 npm 包

恶意 npm 包 是什么?

恶意 npm 包包含隐藏代码、安装后会窃取数据、植入恶意软件或破坏下游应用的 npm 软件包。


恶意 npm 包利用了 JavaScript 开发者对公共 npm 注册表的信任。攻击者可能发布全新的恶意包,接管被遗弃的项目,或者侵入维护者账号,向广泛使用的库推送被污染的版本。常见载荷包括凭据与令牌窃取器、加密货币钱包窃取程序,以及通过 npm 生命周期脚本在安装阶段执行的下载器。典型事件包括 2018 年的 event-stream(被转交的维护者注入比特币钱包窃取代码),以及 2021 年的 ua-parser-js(被劫持的版本向数百万台机器安装了挖矿程序与密码窃取器)。缓解措施包括锁文件、--ignore-scripts、为维护者启用 2FA、生成 SBOM、依赖扫描器以及供应链来源认证。

示例

  1. 01

    2018 event-stream:新维护者引入 flatmap-stream 用以窃取 Copay 钱包资金。

  2. 02

    2021 ua-parser-js:被劫持的版本部署了挖矿程序和密码窃取程序。

常见问题

恶意 npm 包 是什么?

包含隐藏代码、安装后会窃取数据、植入恶意软件或破坏下游应用的 npm 软件包。 它属于网络安全的 攻击与威胁 分类。

恶意 npm 包 是什么意思?

包含隐藏代码、安装后会窃取数据、植入恶意软件或破坏下游应用的 npm 软件包。

恶意 npm 包 是如何工作的?

恶意 npm 包利用了 JavaScript 开发者对公共 npm 注册表的信任。攻击者可能发布全新的恶意包,接管被遗弃的项目,或者侵入维护者账号,向广泛使用的库推送被污染的版本。常见载荷包括凭据与令牌窃取器、加密货币钱包窃取程序,以及通过 npm 生命周期脚本在安装阶段执行的下载器。典型事件包括 2018 年的 event-stream(被转交的维护者注入比特币钱包窃取代码),以及 2021 年的 ua-parser-js(被劫持的版本向数百万台机器安装了挖矿程序与密码窃取器)。缓解措施包括锁文件、--ignore-scripts、为维护者启用 2FA、生成 SBOM、依赖扫描器以及供应链来源认证。

如何防御 恶意 npm 包?

针对 恶意 npm 包 的防御通常结合技术控制与运营实践,详见上方完整定义。

恶意 npm 包 还有哪些其他名称?

常见的别称包括: 污染的包, 恶意 npm 发布。

相关术语