悬镜安全 04月05日 21:35
SBOM情报预警 | 恶意NPM组件窃取Solana智能合约私钥
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

悬镜安全情报中心发布预警,NPM 官方仓库出现针对 Solana 智能合约用户的恶意组件投毒事件,攻击者通过伪装成 Solana SDK 的恶意组件窃取用户私钥。这些恶意组件针对 Windows、Linux 及 Mac 平台,利用代码混淆技术躲避检测,已导致多名 NodeJs 开发者私钥泄露。悬镜安全已发布技术分析,并提供了检测和清除方法。

🔑 恶意组件伪装:攻击者在 NPM 官方仓库投放了 4 个伪装成 Solana 智能合约 SDK 的恶意组件包,诱骗开发者下载使用。

💻 平台针对性:这些恶意组件针对 Windows、Linux 和 Mac 平台,通过调用系统命令读取剪切板数据。

✂️ 私钥窃取流程:恶意组件会监控系统剪切板,一旦检测到 Solana 智能合约私钥,立即将其通过 ioredis 模块发送到攻击者控制的 Redis 服务器。

🛡️ 检测与防御:开发者可以使用 `npm list` 命令检查是否安装了恶意组件,并使用 `npm uninstall` 进行卸载。此外,还可使用 OpenSCA-cli 工具进行扫描,检测项目是否受到影响。

原创 悬镜安全情报中心 2025-02-21 17:01 北京

供应链风险情报预警!悬镜供应链安全情报中心在NPM官方仓库中捕获多起针对Windows、Linux及Mac平台Solana智能合约用户开展私钥盗取投毒攻击。目前已有多名受害者私钥被盗。


SBOM情报概述

Summary

近日(2025.02.15 ~ 2025.02.19),悬镜供应链安全情报中心在NPM官方仓库(www.npmjs.com)中捕获多起针对Windows、Linux及Mac平台Solana智能合约用户开展合约私钥窃取的NodeJs组件投毒事件。投毒者(satoshinana11)在npmjs官方源上连续投放4个伪装成Solana智能合约SDK的NPM恶意组件包,并利用代码混淆技术对抗静态安全检测,已有多名NodeJs开发者受到投毒攻击导致合约私钥泄露。

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


solana合约窃密恶意组件列表


根据NPM官方接口统计,该系列Solana合约私钥窃密投毒组件近一个月的总下载量约为455次。

恶意组件月度下载量


投毒分析

Poisoning Analysis

以 serum-anchor-wallet 恶意组件为例,该系列恶意组件将投毒代码经过混淆后嵌入到lib/app.js 代码文件中,并伪装成Solana智能合约SDK



恶意NPM包 serum-anchor-wallet


1

代码混淆

组件主模块入口 index.js 及 lib/app.js 代码文件如下所示,index.js 负责加载并执行 lib/app.js 文件中的混淆代码。


投毒组件恶意模块代码


对恶意代码文件 lib/app.js 混淆代码进行解码还原后如下所示,其主要功能是调用 child_process 模块读取系统剪切板中缓存的Solana智能合约私钥,并通过 ioredis 模块将窃取的私钥存储到投毒者控制的redis服务中。


恶意文件 app.js 混淆代码还原

2

合约私钥盗取







getQuryResult() 函数中负责针对Windows、MacOS以及Linux系统分别调用外部系统命令powershell Get-Clipboard、pbpaste和xclip读取剪切板数据。恶意代码通过设置定时器,每隔1秒钟调用 getQuryResult() 函数对剪切板进行实时监控。窃取的剪切板数据会进一步利用 isValidSolanaPrivateKey() 函数筛选出Solana智能合约私钥数据。


系统剪切板数据窃取

3

合约私钥外传




投毒代码一旦监控捕获到剪切板中的Solana智能合约私钥,会立即通过 ioredis 模块将私钥数据外传投递到投毒者控制的redis服务器(redis-12193.c259.us-central1-2.gce.redns.redis-cloud.com:12193)。

系统剪切板数据外传

投毒者控制的redis服务器解析IP地址为 34.28.66.214,利用密码可远程连接投毒者redis服务器,并发现多名受害者的合约私钥数据已被窃取。

投毒者redis服务器IP地址

投毒者redis服务器数据

受害者合约私钥数据

4

IoC 数据

本次捕获的Solana合约窃密系列NPM投毒组件包涉及的IoC数据如下表所示:


排查方式

Investigation Method

serum-anchor-wallet 恶意组件为例,开发者可通过命令 npm list serum-anchor-wallet 在项目目录下使用查询是否已安装存在恶意投毒的组件版本,如果已安装请立即使用 npm uninstall serum-anchor-wallet 进行卸载。此外还需关闭系统网络并排查系统是否存在异常进程。

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


    [ { "product": "serum-anchor-wallet", "version": "[1.0.2, 1.0.3]", "language": "javascript", "id": "XMIRROR-MAL45-ED7D46DA", "description": "恶意NPM组件窃取Solana智能合约私钥", "release_date": "2025-02-18" }, { "product": "raydium-sdk-liquidity-init", "version": "[1.0.2]", "language": "javascript", "id": "XMIRROR-MAL45-CAEF758A", "description": "恶意NPM组件窃取Solana智能合约私钥", "release_date": "2025-02-15" }, { "product": "gas-fee-saver", "version": "[1.0.0, 1.0.1, 1.0.2]", "language": "javascript", "id": "XMIRROR-MAL45-A80F5C57", "description": "恶意NPM组件窃取Solana智能合约私钥", "release_date": "2025-02-13" }, { "product": "cors_error_preventor", "version": "[1.0.0]", "language": "javascript", "id": "XMIRROR-MAL45-CC46FBC5", "description": "恶意NPM组件窃取Solana智能合约私钥",     "release_date": "2025-02-12"    }]


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

    推荐阅读


    关于“悬镜安全”


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

    阅读原文

    跳转微信打开

    Fish AI Reader

    Fish AI Reader

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

    FishAI

    FishAI

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

    联系邮箱 441953276@qq.com

    相关标签

    NPM 供应链攻击 Solana 私钥盗取
    相关文章