悬镜安全 09月16日
NPM生态组件遭恶意代码投毒,开发者敏感信息及Token泄露
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

近日,NPM官方仓库发生多起热门组件高危投毒事件,涉及近40个开源组件项目,其中部分组件下载量超亿次。攻击者通过在组件源码中植入混淆恶意文件,能在安装过程中窃取开发者系统信息、环境变量以及NPM、Github、AWS、GCP等主流业务的token密钥。此次事件已导致多名开发者系统敏感信息及token泄露,攻击者可能借此发动更深入的供应链攻击。悬镜安全已第一时间进行技术分析并推送预警,提醒NPM开发者及时排查,避免遭受攻击。

📦 **NPM组件大规模投毒事件频发**:近期,NPM官方仓库接连发生多起热门开源组件被恶意代码投毒的事件,涉及valorkin和scttcper等开发者维护的近40个项目,其中不乏下载量过亿的组件。这些投毒行为对整个NPM生态的安全构成了严重威胁,凸显了开源软件供应链的脆弱性。

🕵️ **窃取敏感信息与Token密钥**:攻击者通过在组件源码中植入混淆的恶意文件(如bundle.js),并在`package.json`中设置`postinstall`指令,实现在组件安装过程中执行恶意代码。这些恶意代码能够静默收集受害者系统的平台信息、环境变量,并利用TruffleHog等工具搜索和窃取NPM、Github、AWS、GCP等主流业务的token密钥。

🔗 **数据外传与潜在风险**:被窃取的敏感数据经过双重base64编码后,会通过新建的Github仓库进行外传,并通过webhook通知攻击者。这种数据泄露方式将开发者环境的token密钥公开化,极大地增加了攻击者进一步发动更深入的供应链攻击的可能性,对企业和个人开发者都构成了严峻的安全挑战。

🛡️ **排查与应对建议**:文章提供了详细的排查方法,包括使用`npm list`命令检查已安装组件版本,并建议回滚至安全版本(如`ngx-bootstrap@20.0.2`)。同时,推荐使用OpenSCA-cli等工具进行自动化扫描,以快速识别项目中是否受投毒包影响。悬镜安全的产品也已支持对该系列投毒事件的检测。

原创 悬镜安全情报中心 2025-09-16 09:22 北京

十分紧急!NPM生态多个超亿下载量组件再次遭受恶意代码投毒,泄露开发者系统敏感数据及token秘钥,影响范围极大。

SBOM情报概述

Summary

从昨日(2025.09.15)开始,悬镜供应链安全情报中心在NPM官方仓库中持续捕获到多名开发者账户凭证被盗引发的多起热门组件高危投毒事件,主要包括开发者valorkin维护86个开源项目中的2个组件(ngx-bootstrap 与 ng2-file-upload)以及开发者scttcper维护54个开源项目中的14个组件@ctrl/tinycolor等总计涉及近40个开源组件项目,其中受影响的多个热门组件历史总下载量超过亿次,影响范围极攻击者在组件源码中直接植入混淆恶意文件bundle.js,其主要功能是在组件安装过程中静默窃取受害者系统平台信息、环境变量数据以及主流业务(包括NPM、Github、AWS及GCP等)的token密钥,攻击者一旦盗取开发环境相关token,极大可能将进一步发动更深入的供应链攻击。经过我们分析验证,本次投毒事件目前已导致多名开发者系统敏感信息及token泄漏。

开发者valorkin项目状态

此次投毒影响的NPM组件包如下所示,悬镜安全已于第一时间将该系列组件投毒技术分析细节向XSBOM供应链安全情报订阅用户进行推送预警。截止目前仍有多个存在投毒代码的NPM组件项目正常托管在NPM官方仓库,对于NPM开发者需要及时排查避免遭受供应链投毒攻击。此外,对于受害开发者名下其他未受影响的开源组件项目,悬镜安全也将持续进行实时监测预警。

部分投毒组件信息

ngx-bootstrap项目

@ctrl/tinycolor项目

本次事件距离上一次大规模NPM热门组件投毒仅一周时间热点供应链投毒预警 | 知名NPM开发者遭受邮件钓鱼引发大规模供应链投毒攻击目前NPM生态正持续遭遇大范围盗号,对于依赖开源NPM组件的企业及开发者应提高警惕预防潜在的供应链投毒攻击。

投毒分析

Poisoning Analysis

1

混淆恶意代码植入

以 ngx-bootstrap 组件20.0.6版本为例,攻击者在package.json中植入postinstall指令实现在组件安装过程中执行包含恶意混淆代码的 bundle.js 文件

package.json文件

如下所示,bundle.js 文件包含3MB字节混淆js代码。

混淆恶意代码

2

系统敏感信息及token密钥收集

恶意代码会分析受害者平台环境(系统类型、处理器架构等),并根据平台信息从github上(https://github.com/trufflesecurity/trufflehog)获取对应的 TruffleHog 二进制文件到目标系统中执行,主要目的是从文件系统和代码库中搜索高熵字符串及已知模式的token凭证。

TruffleHog下载执行

恶意代码收集的系统敏感信息主要包括平台数据、环境变量、以及各类主流业务(NPM、Github、AWS、GCP等)的token及密钥,如下所示:

环境变量数据及token密钥收集

3

数据窃取外传

恶意代码利用新建Github repo的方式将盗取的敏感数据经过双重base64编码后推送到特定repo中,repo地址通过webhook通知攻击者(https://webhook.site/bb8ca5f6-4175-45d2-b042-fc9ebb8170b7)。

数据外传

如下所示,受害者被投毒攻击后,敏感数据将直接在github上公开泄漏,base64解码后可还原出github token凭证。

数据泄漏

数据泄漏样例

4

IoC 数据

本文分析所涉及的部分恶意IoC数据如下表所示:

该系列投毒NPM包信息(purl格式)汇总如下:

    pkg:npm/ngx-bootstrap@18.1.4
    pkg:npm/ngx-bootstrap@19.0.3
    pkg:npm/ngx-bootstrap@19.0.4
    pkg:npm/ngx-bootstrap@20.0.3
    pkg:npm/ngx-bootstrap@20.0.4
    pkg:npm/ngx-bootstrap@20.0.5
    pkg:npm/ngx-bootstrap@20.0.6
    pkg:npm/ng2-file-upload@7.0.2
    pkg:npm/ng2-file-upload@7.0.3
    pkg:npm/ng2-file-upload@8.0.1
    pkg:npm/ng2-file-upload@8.0.2
    pkg:npm/ng2-file-upload@8.0.3
    pkg:npm/ng2-file-upload@9.0.1
    pkg:npm/@ctrl/tinycolor@4.1.1
    pkg:npm/@ctrl/tinycolor@4.1.2
    pkg:npm/@ctrl/deluge@7.2.2
    pkg:npm/@ctrl/golang-template@1.4.3
    pkg:npm/@ctrl/magnet-link@4.0.4
    pkg:npm/@ctrl/ngx-codemirror@7.0.2
    pkg:npm/@ctrl/ngx-csv@6.0.2
    pkg:npm/@ctrl/ngx-emoji-mart@9.2.2
    pkg:npm/@ctrl/ngx-rightclick@4.0.2
    pkg:npm/@ctrl/qbittorrent@9.7.2
    pkg:npm/@ctrl/react-adsense@2.0.2
    pkg:npm/@ctrl/shared-torrent@6.3.2
    pkg:npm/@ctrl/torrent-file@4.1.2
    pkg:npm/@ctrl/transmission@7.3.1
    pkg:npm/@ctrl/ts-base32@4.0.2
    pkg:npm/angulartics2@14.1.2
    pkg:npm/encounter-playground@0.0.5
    pkg:npm/json-rules-engine-simplified@0.2.4
    pkg:npm/json-rules-engine-simplified@0.2.1
    pkg:npm/koa2-swagger-ui@5.11.2
    pkg:npm/@nativescript-community/gesturehandler@2.0.35
    pkg:npm/@nativescript-community/sentry 4.6.43
    pkg:npm/@nativescript-community/text@1.6.13
    pkg:npm/@nativescript-community/ui-collectionview@6.0.6
    pkg:npm/@nativescript-community/ui-drawer@0.1.30
    pkg:npm/@nativescript-community/ui-image@4.5.6
    pkg:npm/@nativescript-community/ui-material-bottomsheet@7.2.72
    pkg:npm/@nativescript-community/ui-material-core@7.2.76
    pkg:npm/@nativescript-community/ui-material-core-tabs@7.2.76
    pkg:npm/ngx-color@10.0.2
    pkg:npm/ngx-toastr@19.0.2
    pkg:npm/ngx-trend@8.0.1
    pkg:npm/react-complaint-image@0.0.35
    pkg:npm/react-jsonschema-form-conditionals@0.3.21
    pkg:npm/react-jsonschema-form-extras@1.0.4
    pkg:npm/rxnt-authentication@0.0.6
    pkg:npm/rxnt-healthchecks-nestjs@1.0.5
    pkg:npm/rxnt-kue@1.0.7
    pkg:npm/swc-plugin-component-annotate@1.9.2
    pkg:npm/ts-gaussian@3.0.6

    排查方式

    Investigation Method

    以 ngx-bootstrap 恶意组件为例,开发者在项目目录下可通过命令 在项目目录下使用 npm list ngx-bootstrap 或 npm list -g ngx-bootstrap 查询是否已安装存在投毒代码的组件版本(18.1.4, 19.0.319.0.420.0.320.0.420.0.520.0.6),如果已安装请立即使用 npm install ngx-bootstrap@20.0.2 或 npm install -g ngx-bootstrap@20.0.2 回滚到最新安全版本。

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

      [{
      "product": "ngx-bootstrap",
      "version": "{18.1.4, 19.0.3, 19.0.4, 20.0.3, 20.0.4, 20.0.5, 20.0.6}",
      "language": "javascript",
      "id": "XMIRROR-MAL45-7E3B0777",
      "description": "NPM组件ngx-bootstrap多个版本中存在恶意代码投毒,窃取系统平台信息及盗取开发者业务token密钥",
      "release_date": "2025-09-15"
      }]

      该系列组件投毒涉及XSBOM情报ID列表如下所示,悬镜OpenSCA、悬镜源鉴SCA、悬镜灵脉SAST、悬镜灵脉RASP等产品已支持检测,成功订阅该情报后可在检测命中时检出。

        XMIRROR-MAL45-7E3B0777
        XMIRROR-MAL45-F5B1701C
        XMIRROR-MAL45-7F955DC3
        ...

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

        标杆用户代表

        推荐阅读

         关于“悬镜安全”

        悬镜安全,起源于子芽创立的北京大学网络安全技术研究团队“XMIRROR”,作为全球数字供应链安全和DevSecOps敏捷安全开拓者,始终专注于以“AI智能代码疫苗”技术为内核,凭借原创专利级“多模态SCA+DevSecOps+AI供应链情报预警”的第四代DevSecOps数字供应链安全管理体系,创新赋能金融、汽车电子、电信运营商、能源、政企、智能制造和泛互联网等行业用户,构筑起适应自身业务弹性发展、面向敏捷业务交付并引领未来架构演进的共生积极防御体系,持续守护全球数字供应链安全。

        阅读原文

        跳转微信打开

        Fish AI Reader

        Fish AI Reader

        AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

        FishAI

        FishAI

        鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

        联系邮箱 441953276@qq.com

        相关标签

        NPM 供应链安全 恶意代码 开源组件 敏感数据泄露 Token 投毒攻击 NPM poisoning Supply Chain Security Malicious Code Open Source Components Sensitive Data Leakage Token Poisoning Attack
        相关文章