文章总结: 2026年3月4日至22日,Apifox公网SaaS版桌面客户端遭遇供应链投毒攻击,攻击者篡改官方CDN托管的统计追踪脚本,注入约42KB恶意JavaScript代码,利用Electron未启用sandbox缺陷通过Node.jsAPI执行系统命令,窃取SSH私钥、Git凭证、npmToken等敏感信息并上传至C2域名apifox.it.com。恶意代码采用7层混淆和RSA-2048加密通信,通过定时器实现持久化。受影响用户需立即升级至2.8.19及以上版本,轮换SSH密钥、Git和npm凭证,并清理本地缓存,排查可通过检查LevelDB存储键rl_mc/rl_headers及网络状态文件中是否存在恶意域名来确认是否中招。 综合评分: 88 文章分类: 供应链安全,漏洞预警,应急响应,威胁情报,WEB安全
Apifox 供应链投毒安全事件预警与排查
猎户攻防实验室
2026年3月27日 10:50 北京
字数 2830,阅读大约需 15 分钟
Apifox 供应链投毒安全事件预警与排查
一、事件概述
1.1 Apifox 产品简介
Apifox 是一款国产 API 一体化协作平台,集 API 文档、API 调试、API Mock、API 自动化测试于一体。该工具在国内开发社区拥有广泛的用户基础,被大量开发团队用于接口管理、前后端联调、自动化测试等场景。
| 项目 | 说明 | | — | — | | 产品定位 | API 一体化协作平台 | | 核心功能 | API 文档、API 调试、Mock 服务、自动化测试 | | 技术架构 | 桌面端基于 Electron 框架开发 | | 支持平台 | Windows、macOS、Linux | | 部署方式 | 公网 SaaS 版、私有化部署版 | | 用户群体 | 国内大量开发团队、前后端工程师、测试工程师 |
由于 Apifox 在国内开发者群体中具有较高的普及度,此次供应链投毒事件的潜在影响范围较大,涉及大量开发者的核心敏感凭证。 |
1.2 事件基本信息
| 项目 | 详情 |
| — | — |
| 受影响产品 | Apifox 公网 SaaS 版桌面客户端(Windows/macOS/Linux) |
| 攻击时间窗口 | 2026年3月4日 – 2026年3月22日(持续 18天) |
| 攻击类型 | 供应链投毒 / CDN 脚本篡改 |
| 攻击载体 | 官方 CDN 托管的前端脚本文件被注入恶意 JavaScript 代码 |
| 恶意域名 | apifox.it.com (托管于 Cloudflare) |
1.3 事件描述
在 2026年3月4日至3月22日期间,Apifox 公网 SaaS 版桌面客户端动态加载的一个外部 JavaScript 文件(事件统计/追踪脚本)被恶意攻击者篡改。
正常情况下,Apifox 启动时会加载:
https://cdn.apifox.com/www/assets/js/apifox-app-event-tracking.min.js
该文件正常大小为 34KB,但在投毒期间可能请求到被篡改版本(77KB,追加了约 42KB 的恶意代码)。
二、攻击技术简析
2.1 攻击链
2.2 技术特征
| 技术点 | 说明 |
| — | — |
| 框架利用 | 利用 Electron 框架未启用 sandbox 参数的缺陷,通过 Node.js API 执行系统命令 |
| 混淆层级 | 7层混淆:字符串数组旋转 + Base64/RC4 双层解密 + 代理函数 + 控制流扁平化 + 死代码注入 + 反调试陷阱 |
| 加密通信 | 内嵌 RSA-2048 私钥,使用 OAEP 填充加密敏感数据 |
| 持久化 | setTimeout 在 30分钟 ~ 3小时 随机间隔重新执行 |
| C2 特征 | 域名 apifox.it.com 使用 Cloudflare CDN 隐藏真实 IP |
2.3 被窃取的敏感信息
| 数据类型 | 路径/内容 | 风险等级 |
| — | — | — |
| SSH 私钥 | ~/.ssh/id_rsa , ~/.ssh/id_ed25519 等 | 🔴 极高 |
| Git 凭证 | ~/.git-credentials | 🔴 极高 |
| Shell 历史记录 | ~/.bash_history , ~/.zsh_history | 🟠 高 |
| npm Token | ~/.npmrc | 🟠 高 |
| 进程列表 | 系统进程信息 | 🟡 中 |
| Apifox 账户 | 邮箱、姓名、访问令牌 | 🟡 中 |
| 机器指纹 | MAC地址 + CPU型号 + 主机名 + 用户主目录 SHA-256 | 🟡 中 |
三、恶意域名分析
3.1 域名欺骗性分析
攻击者使用的 C2 域名 apifox.it.com 具有高度欺骗性:
-
•
.it.com是商业性质的二级域名服务,非意大利国别域名.it -
• 无公开 WHOIS 信息,注册门槛极低
-
• 视觉上容易被误认为:
-
• Apifox 内部测试/研发域名
-
• Apifox 意大利区域服务域名
-
• Apifox 官方子产品域名
3.2 DNS 解析历史
| IP 地址 | 所属组织 | 首次发现 | 最后发现 |
| — | — | — | — |
| 104.21.2.104 | Cloudflare, Inc. | 2026-03-04 | 2026-03-22 |
| 172.67.129.21 | Cloudflare, Inc. | 2026-03-04 | 2026-03-22 |
当前状态:DNS 记录已于 2026-03-22 下线,域名不再解析。
四、影响范围评估
4.1 受影响条件
同时满足以下条件的用户可能受影响:
- 1. ✅ 使用 Apifox 公网 SaaS 版桌面客户端(非网页版)
- 2. ✅ 在 2026年3月4日 – 3月22日 期间启动过 Apifox
- 3. ✅ 客户端版本 低于 2.8.19
- 4. ✅ 网络可访问
apifox.it.com(当时 DNS 生效)
4.2 不受影响的情况
- • ❌ 仅使用 Apifox 网页版
- • ❌ 使用 私有化部署版本
- • ❌ 在攻击时间窗口外使用
- • ❌ 已升级至 2.8.19 及以上版本
五、排查指南
5.0 快速判断标准
| 检测方法 | 判断标准 | 结果 |
| — | — | — |
| LevelDB 存储键 | 存在 rl_mc 或 rl_headers 键 | 🔴 已中招 |
| 网络状态文件 | 包含 apifox.it.com 域名 | 🔴 已中招 |
| SSH 密钥访问时间 | 攻击窗口期内有异常访问 | 🟠 高度可疑 |
5.1 方法一:检查 LevelDB 存储键(推荐)
恶意代码会将机器指纹存储在 localStorage._rl_mc,攻击载荷相关数据存储在 localStorage._rl_headers,这些数据保存在 LevelDB 数据库中。这是最直接的判断依据。
关键文件路径
| 平台 | LevelDB 路径 |
| — | — |
| Windows | C:\Users\<用户名>\AppData\Roaming\Apifox\Local Storage\leveldb |
| macOS | ~/Library/Application Support/Apifox/Local Storage/leveldb |
| Linux | ~/.config/apifox/Local Storage/leveldb |
Windows 检测命令
# PowerShell - 检查 leveldb 中是否存在恶意键
Select-String -Path "$env:APPDATA\Apifox\Local Storage\leveldb\*" -Pattern "rl_mc","rl_headers" -List | Select-Object Path
# CMD 备用命令
findstr /S /I "rl_mc" "%APPDATA%\Apifox\Local Storage\leveldb\*.*"
结果判断:
- • 有输出文件路径 → 🔴 已中招
- • 无输出 → ✅ 安全
macOS 检测命令
# 检查 leveldb 中是否存在恶意键
grep -arlE "rl_mc|rl_headers" ~/Library/Application\ Support/Apifox/Local\ Storage/leveldb/
结果判断:
- • 输出文件路径 → 🔴 已中招
- • 无输出 → ✅ 安全
Linux 检测命令
# 检查 leveldb 中是否存在恶意键
grep -arlE "rl_mc|rl_headers" ~/.config/apifox/Local\ Storage/leveldb/
结果判断:
- • 输出文件路径 → 🔴 已中招
- • 无输出 → ✅ 安全
5.2 方法二:检查网络持久化状态文件
Chromium/Electron 应用会记录访问过的服务器属性到 Network Persistent State 文件。如果该文件包含恶意域名,说明曾连接过 C2 服务器。
关键文件路径
| 平台 | Network Persistent State 路径 |
| — | — |
| Windows | C:\Users\<用户名>\AppData\Roaming\apifox\Network\Network Persistent State |
| macOS | ~/Library/Application Support/apifox/Network/Network Persistent State |
| Linux | ~/.config/apifox/Network/Network Persistent State |
Windows 检测命令
# 检查 Network Persistent State 文件中是否包含恶意域名
Get-Content "$env:APPDATA\apifox\Network\Network Persistent State" | Select-String 'apifox.it.com'
结果判断:
- • 有输出内容 → 🔴 已中招
- • 无输出 → ✅ 安全
macOS 检测命令
# 检查 Network Persistent State 文件中是否包含恶意域名
grep -a "apifox.it.com" ~/Library/Application\ Support/apifox/Network/Network\ Persistent\ State
结果判断:
- • 有输出内容 → 🔴 已中招
- • 无输出 → ✅ 安全
Linux 检测命令
# 检查 Network Persistent State 文件中是否包含恶意域名
grep -a "apifox.it.com" ~/.config/apifox/Network/Network\ Persistent\ State
结果判断:
- • 有输出内容 → 🔴 已中招
- • 无输出 → ✅ 安全
5.3 方法三:检查 SSH 密钥访问时间(辅助判断)
恶意代码必须读取私钥文件才能窃取,可通过最后访问时间进行辅助判断。
Windows
# 查看私钥文件访问时间
Get-ChildItem -Path "$env:USERPROFILE\.ssh" | Select-Object Name, LastAccessTime
# 检查 .git-credentials
Get-Item -Path "$env:USERPROFILE\.git-credentials" -ErrorAction SilentlyContinue | Select-Object FullName, LastAccessTime
macOS / Linux
# 查看私钥文件最后访问时间
ls -lu ~/.ssh
判断标准:
- • 关注
id_rsa、id_ed25519等私钥文件(无.pub后缀) - • 如果在 2026-03-04 至 2026-03-22 期间有非主动操作的访问记录,需高度警惕
5.4 方法四:检查系统日志(辅助判断)
macOS
# 查询包含恶意域名的系统日志
log show --predicate 'eventMessage contains "apifox.it.com"' --last 30d --info --debug
# 查询 DNS 解析记录
sudo log show --predicate 'eventMessage contains "apifox.it.com" or eventMessage contains "104.21.2.104" or eventMessage contains "172.67.129.21"' --last 30d
Windows
# 查看 DNS 缓存(需管理员权限)
ipconfig /displaydns | findstr "apifox.it.com"
Linux
# 检查历史命令中的可疑记录
grep -E "apifox.it.com|curl|wget" ~/.bash_history ~/.zsh_history 2>/dev/null
# 检查网络连接历史(需要 root)
sudo journalctl -u NetworkManager --since "2026-03-04" --until "2026-03-23" | grep -i apifox
5.5 清理缓存(建议)
建议清理 Apifox 缓存和残留文件。
Windows
# 删除 Apifox 缓存目录
Remove-Item-Path"$env:APPDATA\Apifox"-Recurse-Force-ErrorAction SilentlyContinue
Remove-Item-Path"$env:LOCALAPPDATA\Apifox"-Recurse-Force-ErrorAction SilentlyContinue
Remove-Item-Path"$env:LOCALAPPDATA\com.apifox.app"-Recurse-Force-ErrorAction SilentlyContinue
macOS
# 彻底删除 Apifox 缓存和残留文件
rm -rf ~/Library/Application\ Support/Apifox
rm -rf ~/Library/Caches/com.apifox.app
rm -rf ~/Library/Saved\ Application\ State/com.apifox.app.savedState
Linux
# 清理缓存
rm -rf ~/.config/Apifox
rm -rf ~/.cache/Apifox
5.6 网络层检测(企业环境)
在企业网络环境中,可查询防火墙/代理日志:
# 检索恶意域名访问记录
domain: apifox.it.com
# 检索恶意 IP 连接
dst_ip: 104.21.2.104 OR 172.67.129.21
5.7 排查结果判定汇总
| 检测结果 | 状态 | 建议操作 |
| — | — | — |
| LevelDB 检测到 rl_mc / rl_headers | 🔴 已中招 | 立即执行应急处置 |
| Network Persistent State 包含 apifox.it.com | 🔴 已中招 | 立即执行应急处置 |
| SSH 密钥有异常访问时间 | 🟠 高度可疑 | 建议按已中招处理 |
| 所有检测均无异常 | ✅ 安全 | 升级到最新版本,清理缓存 |
六、处置建议
6.1 立即措施(优先级:🔴 紧急)
| 序号 | 措施 | 说明 | | — | — | — | | 1 | 升级 Apifox | 升级至 2.8.19 或更高版本 | | 2 | 轮换 SSH 密钥 | 删除旧密钥,生成新密钥并重新部署 | | 3 | 轮换 Git 凭证 | 撤销旧的 Personal Access Token,生成新 Token | | 4 | 轮换 npm Token | 撤销并重新生成 npm access token |
6.2 短期措施(优先级:🟠 高)
| 序号 | 措施 | 说明 | | — | — | — | | 1 | 检查代码仓库 | 审计近期提交是否为本人操作 | | 2 | 检查服务器访问 | 审计服务器登录日志,排查异常访问 | | 3 | 修改 Apifox 密码 | 更改账户密码,启用双因素认证 | | 4 | 清理本地缓存 | 执行 5.1-5.3 中的清理命令 |
6.3 长期措施(优先级:🟡 中)
| 序号 | 措施 | 说明 | | — | — | — | | 1 | 部署网络监控 | 使用 LuLu/Little Snitch 等工具监控应用网络行为 | | 2 | 建立密钥轮换机制 | 定期更换 SSH 密钥、API Token 等敏感凭证 | | 3 | 加强供应链安全意识 | 对动态加载外部脚本保持警惕 | | 4 | 实施最小权限原则 | 限制开发工具的网络访问权限 |
七、企业级响应建议
7.1 安全团队行动项
7.2 IOC 指标
| 类型 | 值 |
| — | — |
| 恶意域名 | apifox.it.com |
| 恶意 IP | 104.21.2.104 |
| 恶意 IP | 172.67.129.21 |
| 恶意 URL | https://apifox.it.com/public/apifox-event.js |
| 恶意 URL | https://apifox.it.com/event/0/log |
| 被投毒文件 | apifox-app-event-tracking.min.js (77KB 版本) |
| 本地存储键 | localStorage._rl_mc (存储机器指纹)、localStorage._rl_headers(攻击载荷相关) |
八、官方修复说明
8.1 修复版本
- • 安全版本:Apifox 桌面客户端 2.8.19 及以上
8.2 修复措施
- 1. 将相关埋点/统计脚本改为安装包内资源,不再从 CDN 动态拉取
- 2. 加强了 Electron 框架的安全配置
8.3 官方公告
- • Apifox 官方公告 https://docs.apifox.com/8392582m0
九、总结
本次 Apifox 供应链投毒事件是一起典型的软件供应链攻击,攻击者利用 CDN 动态加载机制的缺陷,成功将恶意代码注入到广泛的开发者群体中。
核心教训:
- 1. 动态加载外部脚本存在重大安全隐患
- 2. Electron 应用需严格启用沙箱机制
- 3. 开发者需定期轮换敏感凭证(SSH 密钥、Token 等)
- 4. 供应链安全是现代软件开发不可忽视的一环
参考资料
- 1. Apifox 供应链投毒攻击 – 完整技术分析 https://rce.moe/2026/03/25/apifox-supply-chain-attack-analysis/
- 2. Apifox 官方公告 https://docs.apifox.com/8392582m0
- 3. Apifox CDN 供应链投毒事件简单复盘 – 离别歌 https://www.leavesongs.com/PENETRATION/apifox-supply-chain-attack-analysis.html
本报告基于公开信息整理,仅供参考。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:猎户攻防实验室 《Apifox 供应链投毒安全事件预警与排查》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论