首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >重大SBOM风险预警 | 总下载量超百万次开源NPM组件被投毒

重大SBOM风险预警 | 总下载量超百万次开源NPM组件被投毒

原创
作者头像
软件供应链安全工具推荐
发布于 2025-03-31 06:29:58
发布于 2025-03-31 06:29:58
15900
代码可运行
举报
运行总次数:0
代码可运行

SBOM情报概述

Summary

近日(2025.03.25),悬镜供应链安全情报中心在NPM官方仓库(www.npmjs.com)中捕获1起针对全球知名薪酬数据统计平台 PayScale 旗下开源NPM组件 country-currency-map的供应链投毒事件。country-currency-map 是一款可以帮助前端开发人员快速获取货币和国家/地区关系,便于开发国际化应用的开源组件。截至目前 country-currency-map 组件在NPM官方仓库总下载量已超过百万次。

图片
图片

country-currency-map 项目主页

country-currency-map组件的上个版本(2.1.7)发布时间为 2020年4月7号,时隔5年后(2025.03.25),PayScale 官方账号(npm@payscale.com)在NPM上发布最新版本 2.1.8,而该版本组件代码被投毒者植入混淆的恶意代码, 一旦安装该组件则会静默触发执行恶意代码,其主要功能是启动定时器,每隔5分钟将受害者系统的环境变量数据发送到投毒者服务器,倘若系统环境变量中保存开发者的业务系统私钥、API Token等敏感凭证,将进一步加剧业务系统遭受供应链攻击的风险。

目前country-currency-map组件仍正常托管在NPM官方仓库及国内各大主流镜像源,对于NPM开发者来说存在较大安全隐患。悬镜安全已于第一时间将该组件投毒的详细技术分析向XSBOM供应链安全情报订阅用户进行推送预警。

图片
图片

PayScale NPM项目列表

根据NPM官方接口统计,country-currency-map 组件仅NPM官方仓库总下载量已超过百万次(1175713)。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://npm-stat.com/api/download-counts?from=2017-01-01&until=2025-03-26&package=country-currency-map

Github上的country-currency-map项目源码为2.1.7安全版本,未遭受投毒攻击。此外,根据Github项目依赖统计数据,超过170个github开源项目使用country-currency-map组件。考虑到该开源组件的下载量以及使用量,此次投毒攻击是个典型的供应链攻击事件,而攻击根源我们推测是PayScale平台的NPM账号密码或NPM auth token被投毒者盗取导致。

图片
图片

依赖country-currency-map组件的开源项目

投毒分析

Poisoning Analysis

=1

代码混淆

country-currency-map组件最新2.1.8版本的package.json文件被投毒者植入postinstall指令实现安装时静默执行"node ./scripts/launch.js"命令。

图片
图片

postinstall恶意指令

scripts/launch.js 文件代码被混淆保护,如下所示:

图片
图片

launch.js代码混淆

scripts/launch.js 混淆代码还原后,主要代码功能是调用child_process模块进一步执行同目录下的JS文件 scripts/diagnostic-report.js。

图片
图片

launch.js混淆代码还原

diagnostic-report.js文件同样被混淆处理,如下图所示:

图片
图片

diagnostic-report.js代码混淆

2

系统环境变量外传

diagnostic-report.js 混淆代码还原后,其恶意代码主要功能是通过setTimeout()接口启动定时器,每隔5分钟调用collectEnv()函数将系统环境变量数据进行base64编码后再外传到投毒者webhook接口(https://eoi2ectd5a5tn1h.m.pipedream.net)。

图片
图片

diagnostic-report.js窃取系统环境变量信息

3

IoC 数据

本次捕获的NPM投毒组件包涉及的IoC数据如下表所示:

图片
图片

排查方式

Investigation Method

1. 开发者可通过命令 npm list country-currency-map@2.1.8 在项目目录下使用查询是否已安装存在恶意投毒的组件版本,如果已安装请立即使用 npm install country-currency-map@2.1.7 将存在投毒的版本卸载并回退到安全版本。此外还需关闭系统网络并排查系统是否存在异常进程。

2. 此外,也可使用 OpenSCA-cli 工具将受影响的组件包按如下示例保存为db.json文件,直接执行扫描命令(opensca-cli -db db.json -path ${project_path}),即可快速获知您的项目是否受到投毒包影响。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[  {    "product": "country-currency-map",    "version": "[2.1.8]",    "language": "javascript",    "id": "XMIRROR-MAL45-DE0AF19",    "description": "country-currency-map组件2.1.8版本存在代码投毒窃取系统环境敏感信息",    "release_date": "2025-03-25"  }]

悬镜供应链安全情报中心是国内首个数字供应链安全情报研究中心。依托悬镜安全团队强大的供应链SBOM管理与监测能力和AI安全大数据云端分析能力,悬镜云脉XSBOM数字供应链安全情报预警服务通过对全球数字供应链投毒情报、漏洞情报、停服断供情报等进行实时动态监测与溯源分析,可为用户智能精准预警“与我有关”的数字供应链安全情报,提供情报查询、情报订阅、可视化关联分析等企业级服务。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
供应链投毒预警 | 恶意Py包仿冒tensorflow AI框架实施后门投毒攻击
本周(2024年01月15号),悬镜供应链安全实验室在Pypi官方仓库(https://pypi.org/)中捕获1起Py包投毒事件,投毒者利用包名错误拼写(typo-squatting)的攻击方式来仿冒谷歌开源的tensorflow机器/深度学习框架,投毒攻击目标锁定AI开发者。
OpenSCA社区
2024/01/22
3230
供应链投毒预警 | 恶意NPM包利用Windows反向shell后门攻击开发者
本周(2024年02月19号),悬镜供应链安全情报中心在NPM官方仓库(https://npmjs.com)中发现多起NPM组件包投毒事件。攻击者利用包名错误拼写方式 (typo-squatting)在NPM仓库中连续发布9个不同版本的恶意包,试图通过仿冒合法组件(ts-patch-mongoose)来攻击潜在的NodeJS开发者。
OpenSCA社区
2024/02/29
3930
安全情报 | Pypi再现窃密攻击投毒
悬镜安全自研的开源组件投毒检测平台通过对主流开源软件仓库(包括Pypi、NPM、Ruby等)发布的组件包进行持续性监控和自动化代码安全分析,同时结合专家安全经验复审,能够及时发现组件包投毒事件并精确定位恶意代码片段,捕获潜在的供应链投毒攻击行为。
OpenSCA社区
2023/09/19
4100
安全情报 | Pypi再现窃密攻击投毒
如何应对开源组件⻛险?软件成分安全分析(SCA)能力的建设与演进
总第511篇 2022年 第028篇 随着 DevSecOps 概念的推广,以及云原生安全概念的快速普及,研发安全和操作环境安全现在已经变成了近几年非常热的词汇。目前,在系统研发的过程中,开源组件引入的比例越来越高,所以在开源软件治理层面安全部门需要投入更多的精力。 但由于早期技术债的问题,很多企业内部在整个研发流程中对使用了哪些开源组件、这些开源组件可能存在哪些严重的安全隐患等相关的问题,几乎是没有任何能力去进行收敛,多年前的 SCA(Software Composition Analysis 软件成分
美团技术团队
2022/05/27
1.2K0
如何应对开源组件⻛险?软件成分安全分析(SCA)能力的建设与演进
SCA技术进阶系列(一):SBOM应用实践初探
现代软件都是组装的而非纯自研。随着开源组件在数字化应用中的使用比例越来越高,混源开发已成为当前业内主流开发方式。开源组件的引入虽然加快了软件开发效率,但同时将开源安全问题引入了整个软件供应链。软件组成成分的透明性成为软件供应链安全保障的基础,SBOM(Software Bill of Materials,软件物料清单)作为软件供应链安全治理的重要抓手,其在行业的应用实践速度明显加快。
OpenSCA社区
2023/02/13
1.3K0
供应链安全情报 | 恶意py包伪装代理SDK进行后门攻击,目标锁定python开发者
2023年11月28号,悬镜供应链安全实验室在Pypi官方仓库(https://pypi.org)监测到两起伪装成http和socks5代理SDK的开源组件投毒事件。python开发者一旦下载安装这些投毒Py包(libproxy、libsocks5),会触发执行Py包中的恶意代码,最终将导致开发者系统被投毒者植入恶意后门。
OpenSCA社区
2023/12/01
4790
供应链安全情报 | 恶意py包伪装代理SDK进行后门攻击,目标锁定python开发者
供应链投毒预警 | 开源供应链投毒202404月报发布(含投毒案例分析)
悬镜供应链安全情报中心通过持续监测全网主流开源软件仓库,结合程序动静态分析方式对潜在风险的开源组件包进行动态跟踪和捕获,发现大量的开源组件恶意包投毒攻击事件。在2024年4月份,悬镜供应链安全情报中心在NPM官方仓库(https://www.npmjs.com/)和Pypi官方仓库(https://pypi.org/)上共捕获772个不同版本的恶意组件包,其中NPM仓库投毒占比接近89%, Pypi仓库投毒占比11%;Pypi官方仓库经历3月份遭受集中式投毒后,对新发布组件包进一步加强审查力度,本月Pypi恶意投毒攻击呈现大幅下降趋势。
OpenSCA社区
2024/05/21
4071
供应链投毒预警 | 开源供应链投毒202404月报发布(含投毒案例分析)
供应链投毒预警 | 开源供应链投毒202401最新月报来啦!
悬镜供应链安全情报中心通过持续监测全网主流开源软件仓库,结合程序动静态分析方法对潜在风险的开源组件包进行分析和监测,捕获大量开源组件恶意包投毒攻击事件。2024 年 1 月份,悬镜供应链安全情报中心在 Npm 官方仓库(https://www.npmjs.com/)和 Pypi 官方仓库(https://pypi.org/)上共捕获 675 个不同版本的恶意投毒包,其中 Npm 仓库投毒占比 90.48%, Pypi 仓库投毒占比 9.52%, 从每日捕获的投毒包数据来看,Npm 仓库仍然是开源组件投毒的重灾区。
OpenSCA社区
2024/03/02
4240
供应链投毒预警:恶意Py包伪装HTTP组件开展CStealer窃密后门攻击
近日(2024年4月25号),悬镜供应链安全情报中心在Pypi官方仓库(https://pypi.org/)中捕获1起CStealer窃密后门投毒事件,投毒者连续发布6个不同版本的恶意Py包multiplerequests,目标针对windows平台python开发者,该恶意包在安装时会远程加载CStealer后门到受害者系统上执行,该后门会窃取受害者系统敏感信息、主流浏览器隐私数据、数字货币钱包应用数据以及系统屏幕截屏等。此外,后门还会尝试驻留Windows系统启动目录实现开机自启动。
OpenSCA社区
2024/04/30
1800
供应链投毒预警:恶意Py包伪装HTTP组件开展CStealer窃密后门攻击
炸了... 百万周下载量的 npm 包以反战为名进行供应链投毒!
大家好,我是 ConardLi ,今天前端圈又炸了... 原因居然还是因为一个 npm 包。
ConardLi
2022/04/08
8220
炸了... 百万周下载量的 npm 包以反战为名进行供应链投毒!
GOTC演讲回顾|基于代码疫苗技术的开源软件供应链安全治理
5月27-28日,由上海浦东软件园、开放原子开源基金会、Linux基金会亚太区和开源中国联合发起的2023全球开源技术峰会(Global Open-source Technology Conference, GOTC)在上海圆满召开。大会聚焦开源前沿技术与产业生态发展,以行业展览、主题发言、专题论坛、开源市集的形式来诠释本次大会的主题——Open source,into the future。
云鲨RASP
2023/06/25
2820
开源软件供应链安全系列:OSS风险点与预防
Verocode研究结果表明[1],在开源组件仓库中70.5%的代码库存在安全漏洞,而这些安全漏洞风险46.6%是由其他开源项目直接、间接引进所导致的。超过96%的产业机构在其开发实现的软件应用代码库中使用开源组件。由于开源体系安全意识的淡薄以及代码重用的盛行,这一比例将持续扩大。
绿盟科技研究通讯
2023/02/22
1.5K0
开源软件供应链安全系列:OSS风险点与预防
以反战为名,百万周下载量node-ipc包作者进行供应链投毒
近日,不少开发者(https://v2ex.com/t/840562#reply11)在使用到 vue -cli 中的 node-ipc 模块时,这个依赖项会在桌面以及其他位置创建一个叫做“WITH-LOVE-FROM-AMERICA.txt”的文件,不过打开这个文件是空的。据悉,该 package 每周下载量达到了百万。另外,使用 Yarn 的开发者也受到了影响。
深度学习与Python
2022/03/22
4310
以反战为名,百万周下载量node-ipc包作者进行供应链投毒
【产品那些事】什么是软件成分分析(SCA)?
在现代软件开发环境中,开发团队经常会依赖于开源的第三方组件来节省时间和提高效率。这些组件本身是由开源社区(Github、Gitee)贡献者来开发,然而,这也带来了一些潜在的安全风险,特别是涉及到供应链安全(这些组件的开发者队安全队安全方面的了解几乎为0、恶意的供应链投毒风险)和第三方组件的质量问题(存在抄袭、开源许可证合规风险)。
没事就要多学习
2024/09/09
1.2K0
【产品那些事】什么是软件成分分析(SCA)?
Kubernetes 安全大揭秘:从攻击面剖析到纵深防御体系构建(下)
在上一篇文章中,我们介绍了k8S的基础设施、控制平面风险,接下来我们继续另外的四个部分,即供应链与CI/CD攻击面、横向移动与持久化攻击、防御策略与防护工具,继续深度剖析k8s安全。
星尘安全
2025/02/27
2291
Kubernetes 安全大揭秘:从攻击面剖析到纵深防御体系构建(下)
从 10 万 npm 用户信息被窃看开源软件供应链安全
作者 | 赵钰莹 如今,所有热爱开源的开发者可能都心怀担忧:开源软件的供应链安全问题如何解决?关于开源代码维护者因反俄给 node-ipc 库添加恶意代码、GitHub 封停部分俄罗斯开发者账号的讨论还未结束,10 万 npm 用户账号信息被窃再登 HN 热搜,开源软件供应链的安全性成为业界关注的焦点话题。 前段时间,ARM 开源项目宣布从 GitHub 迁移至 GitLab。当时,Arm 杰出工程师兼软件社区高级总监 Andrew Wafaa 解释道:“GitHub 其实是个黑箱,我们必须与之合作、或者
深度学习与Python
2023/03/29
4140
从 10 万 npm 用户信息被窃看开源软件供应链安全
攻防信息收集之道|外网信息收集
从个人的角度去简单整理下打点前的信息收集那些事。从信息收集本质上来说多数内容都是大同小异,遇到坚壁时,不用死磕,毕竟条条大路通罗马。(大佬们也可以说说看法~向各位大佬学习!!)
亿人安全
2023/08/10
4.9K1
攻防信息收集之道|外网信息收集
构建安全可靠的系统:第十一章到第十五章
一旦您分析并设计了您的系统,就该是实现计划的时候了。在某些情况下,实现可能意味着购买现成的解决方案。第十一章提供了谷歌在决定构建定制软件解决方案时的思考过程的一个例子。
ApacheCN_飞龙
2024/01/11
3840
构建安全可靠的系统:第十一章到第十五章
机器学习学术速递[11.9]
【1】 Directional Message Passing on Molecular Graphs via Synthetic Coordinates 标题:基于合成坐标的分子图定向信息传递 链接:https://arxiv.org/abs/2111.04718
公众号-arXiv每日学术速递
2021/11/17
1.8K0
机器学习学术速递[8.24]
【1】 Graph Attention Multi-Layer Perceptron 标题:图形注意多层感知器 链接:https://arxiv.org/abs/2108.10097
公众号-arXiv每日学术速递
2021/08/25
2K0
推荐阅读
相关推荐
供应链投毒预警 | 恶意Py包仿冒tensorflow AI框架实施后门投毒攻击
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验