Entry № 723
恶意 npm 包
恶意 npm 包 是什么?
恶意 npm 包包含隐藏代码、安装后会窃取数据、植入恶意软件或破坏下游应用的 npm 软件包。
恶意 npm 包利用了 JavaScript 开发者对公共 npm 注册表的信任。攻击者可能发布全新的恶意包,接管被遗弃的项目,或者侵入维护者账号,向广泛使用的库推送被污染的版本。常见载荷包括凭据与令牌窃取器、加密货币钱包窃取程序,以及通过 npm 生命周期脚本在安装阶段执行的下载器。典型事件包括 2018 年的 event-stream(被转交的维护者注入比特币钱包窃取代码),以及 2021 年的 ua-parser-js(被劫持的版本向数百万台机器安装了挖矿程序与密码窃取器)。缓解措施包括锁文件、--ignore-scripts、为维护者启用 2FA、生成 SBOM、依赖扫描器以及供应链来源认证。
● 示例
- 01
2018 event-stream:新维护者引入 flatmap-stream 用以窃取 Copay 钱包资金。
- 02
2021 ua-parser-js:被劫持的版本部署了挖矿程序和密码窃取程序。
● 常见问题
恶意 npm 包 是什么?
包含隐藏代码、安装后会窃取数据、植入恶意软件或破坏下游应用的 npm 软件包。 它属于网络安全的 攻击与威胁 分类。
恶意 npm 包 是什么意思?
包含隐藏代码、安装后会窃取数据、植入恶意软件或破坏下游应用的 npm 软件包。
如何防御 恶意 npm 包?
针对 恶意 npm 包 的防御通常结合技术控制与运营实践,详见上方完整定义。
恶意 npm 包 还有哪些其他名称?
常见的别称包括: 污染的包, 恶意 npm 发布。