V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
cooper
V2EX  ›  分享创造

Apifox 供应链攻击应急响应工具

  •  
  •   cooper ·
    myxiaoao · 3 月 26 日 · 1290 次点击

    Apifox 遭受供应链攻击 https://v2ex.com/t/1201146

    早上自己检查了一下,顺便搞了一个自动扫描工具。

    背景

    2026 年 3 月 25 日,Apifox 官方确认其公网 SaaS 版桌面客户端遭受供应链攻击。客户端动态加载的一个外部 JavaScript 文件被恶意篡改。

    • 风险时间窗口: 2026 年 3 月 4 日 至 2026 年 3 月 22 日
    • 受影响范围: 仅公网 SaaS 版桌面客户端( Web 版和私有化部署版不受影响)
    • C2 恶意域名: apifox.it.com(托管在 Cloudflare ,存活 18 天,目前已下线)
    • 可能泄露的数据: ~/.ssh/~/.zsh_history~/.bash_history~/.git-credentials
    • 官方公告: https://mp.weixin.qq.com/s/GpACQdnhVNsMn51cm4hZig

    本工具自动扫描系统状态,引导你完成凭证轮换:

    模块 功能
    0 - 取证确认 检查 LevelDB 恶意标记、验证 Apifox 版本、在 /etc/hosts 中屏蔽 C2 域名
    1 - 终止进程 终止运行中的 Apifox 进程
    2 - SSH 密钥 扫描、备份、轮换 SSH 私钥,并提示对应平台
    3 - Shell History 清理 zsh/bash/fish 历史记录中的敏感 token
    4 - GitHub Token 轮换 GitHub CLI 认证
    5 - K8s 凭证 备份 kubeconfig 以便重新颁发
    6 - Docker 凭证 登出所有已配置的 Docker Registry
    7 - macOS 钥匙串 检查与 apifox 相关的钥匙串条目(仅 macOS )
    8 - .env 扫描 在常见开发目录中查找 .env 、.key 、.pem 文件
    9 - 审计 引导检查异常活动( GitHub 安全日志、git 历史、K8s 事件)

    重要提示: 本工具仅备份和轮换凭证,不会删除任何原始文件——操作前始终会先创建备份。

    可以先执行 --dry-run 预览

    支持平台

    • macOS (Intel / Apple Silicon)
    • Linux (Debian/Ubuntu, RHEL/CentOS, Arch)

    仓库地址: https://github.com/myxiaoao/apifox-incident-fix

    7 条回复    2026-03-28 08:45:37 +08:00
    wzw
        1
    wzw  
       3 月 26 日
    平台: Darwin 24.6.0
    Apifox 进程: 运行中 (PID: 54040)
    Apifox LevelDB: 未发现已知恶意标记
    Hosts 屏蔽: apifox.it.com 未屏蔽

    发现的凭证:
    SSH 密钥: 未找到
    GitHub CLI: not installed
    Kubernetes: 未找到
    Docker: 未找到
    Shell History: 未发现敏感 token
    .env 文件: 未找到

    将执行的模块:
    [0] 取证确认 & Hosts 屏蔽 ✓ 适用
    [1] 终止 Apifox 进程 ✓ 适用
    [2] 轮换 SSH 密钥 — 跳过
    [3] 清理 Shell History — 跳过
    [4] 轮换 GitHub Token — 跳过
    [5] 轮换 K8s 凭证 — 跳过
    [6] 轮换 Docker 凭证 — 跳过
    [7] 检查 macOS 钥匙串 ✓ 适用
    [8] 扫描 .env 文件 — 跳过
    [9] 审计异常活动 ✓ 适用

    执行所有适用模块?[Y(是)/n(否)/select(选择)]


    这样是未中招?, SSH 密钥 应该有才对呀
    cooper
        2
    cooper  
    OP
       3 月 26 日
    @wzw 未发现已知恶意标记
    wzw
        3
    wzw  
       3 月 26 日
    @cooper 那就可以放心了? 哈哈哈
    gefangshuai
        4
    gefangshuai  
       3 月 26 日
    apifox 真是坑
    ShawyerPeng
        5
    ShawyerPeng  
       3 月 27 日
    MALICIOUS MARKERS FOUND 这就是中招了?
    ShawyerPeng
        6
    ShawyerPeng  
       3 月 27 日
    我怎么感觉没有恶意标记文件呢?为什么会扫出来 pifox LevelDB: MALICIOUS MARKERS FOUND 呢?跑命令还有自己去目录下('~/Library/Application Support/apifox/Local Storage/leveldb')找了都没有_rl_headers 、_rl_mc 、af_uuid 类似文件
    cooper
        7
    cooper  
    OP
       3 月 28 日
    @ShawyerPeng #6

    优化一下指标判断:

    恶意指标:localStorage 中存在 rl_headers 、rl_mc 键; HTTP 请求头中包含 af_uuid 、af_os 、af_user 、af_name 、af_apifox_user 、af_apifox_name ;读取 com
    -mon.accessToken 凭证;执行 ps aux / tasklist 命令

    调整为:
    恶意指标:
    确认标记( Remote Loader ):localStorage 中存在 _rl_headers 、_rl_mc 键
    可疑字段(数据窃取字段,也可能为正常 Apifox 数据):HTTP 请求头中包含 af_uuid 、af_os 、af_user 、af_name 、af_apifox_user 、af_apifox_name ;读取 common.
    +accessToken 凭证;执行 ps aux / tasklist 命令
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   5256 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 01:29 · PVG 09:29 · LAX 18:29 · JFK 21:29
    ♥ Do have faith in what you're doing.