NPM组件包 vant部分版本内嵌挖矿代码

发布于:2025-02-11 ⋅ 阅读:(55) ⋅ 点赞:(0)

Vant 是一个轻量、可定制的移动端组件库,于 2017 年开源。
目前 Vant 官方提供了 Vue 2 版本、Vue 3 版本和微信小程序版本,并由社区团队维护 React 版本和支付宝小程序版本。
Vant 2 版本:https://vant-ui.github.io/vant/v2/#/zh-CN/home
Vant 3 版本:https://vant-ui.github.io/vant/v3/#/zh-CN/home
Vant 4 版本:https://vant-ui.github.io/vant/#/zh-CN/home

漏洞描述:

由于开发者团队成员的 npm token被窃取,攻击者向 Vant 组件植入挖矿代码,当用户安装投毒版本时会下载并执行挖矿程序xmrig(钱包地址:475NBZygwEajj4YP2Bdu7yg6XnaphiFjxTFPkvzg5xAjLGPSakE68nyGavn8r1BYqB44xTEyKQhueeqAyGy8RaYc73URL1j),并窃取用户云服务凭据( /.aliyun/config.json、/.hcloud/config.json 以及 ~/.tccli/default.credential文件)并发送到攻击者可控的服务器地址。

影响范围:

2.13.3 <= npm版本 <= 2.13.5
3.6.13 <= npm版本 <= 3.6.15
4.9.11 <= npm版本 <= 4.9.14
版本

修复建议:

开发者团队当前已弃用上述版本,如使用过上述版本的请进行自检

参考链接:

https://github.com/youzan/vant/issues/13275
https://github.com/youzan/vant/discussions/13273

针对本次事件的建议:

  1. 及时更新和验证版本:
    使用者在安装或更新开源软件时,应始终关注官方渠道发布的最新版本,避免使用来路不明的版本。
    验证所安装软件的签名和哈希值,确保软件的完整性和真实性。
  2. 审查依赖项:
    在使用开源软件时,仔细审查其依赖项,确保没有包含恶意代码或不受信任的库。
    定期检查依赖项的更新日志和安全公告,以及时发现并修复潜在的安全漏洞。
  3. 限制npm token权限:
    对于开源项目的维护者,应严格限制npm token的权限,避免将其泄露给不受信任的人员。
    定期更换npm token,以减少被窃取的风险。
  4. 使用安全的构建和部署流程:
    采用自动化的构建和部署流程,确保在构建和部署过程中使用安全的工具和配置。
    对构建和部署环境进行定期的安全审计和漏洞扫描。
  5. 监控和检测异常行为:
    部署监控工具来检测系统中的异常行为,如异常的资源使用、网络活动等。
    设置警报系统,以便在检测到可疑行为时及时采取措施。
  6. 保持警惕并关注安全公告:
    使用者应时刻保持警惕,关注开源社区发布的安全公告和漏洞信息。
    及时了解并应用针对已知漏洞的补丁和修复措施。
  7. 采用多因素身份验证:
    对于访问关键资源和系统的账户,采用多因素身份验证以增加安全性。
    确保所有账户都使用强密码,并定期更换密码。