【漏洞预警】关于 apifox 被投毒的风险提示

23 条回复
435 次浏览

一、背景介绍

近日,工作中监测到 apifox 文件存在被投毒情况。 apifox 是一款 API 一体化协作平台。其桌面端应用基于 Electron 框架开发,因未严格启用 sandbox 参数,并暴露了 Node.js 的 API 接口,导致攻击者可通过 js 控制 apifox 的终端。 apifox 在启动过程中会加载hxxps://cdn[.]apifox[.]com/www/assets/js/apifox-app-event-tracking.min.js文件,该文件正常文件大小为 34K,但在 3 月 4 日之后至今有几率请求到被投毒的 js 文件(大小 77K)。被投毒的 js 文件会动态加载hxxps://apifox[.]it[.]com/public/apifox-event.js(该域名非官方域名)文件,在满足特定条件下,加载攻击载荷,采集主机系统环境和敏感信息:SSH 密钥 、Git 凭证、命令行历史、进程列表,上报到hxxps://apifox[.]it[.]com/event/0/log。后续攻击者会控制主机拉取执行后门程序,并尝试发起横向攻击,控制更多有价值目标。

二、缓解措施

目前官方暂未更新相关补丁。建议限制与
apifox[.]it[.]com
cdn[.]openroute[.]dev
upgrade[.]feishu[.]it[.]com
system[.]toshinkyo[.]or[.]jp
ns[.]feishu[.]it[.]com
等域名的连接。通过防火墙或者 DNS 层面来阻断恶意非官方域名,还可通过流量监测,监控 js 文件大小等措施来做好防护。

  • 附言 1

    官方回复:
    链接里提到的这个 js,旧版是在线加载的,在遇到网络被劫持的情况下才会发生被篡改的风险,但是风险应该是比较小的。后面的版本(2.8.19 以及更高版本)废弃了这个在线加载的方式,写死在安装包里了,即使网络被劫持也没有被篡改的风险

    apifox 请升级到 2.8.19 或更高版本

我试了下,我装的版本(2.8.19)好像不存在这个问题(没有加载 apifox-app-event-tracking.min.js),应该是官方已经修复了

马上来

截止目前2026-03-25 10:33:38应该没有修复,官方群有用户反馈看到请求了此域名(apifox-app-event-tracking.min.js)。

@Macaroni 老版本只要打开使用过就可能数据被泄露,我查看 DNS 解析记录已经发现了异常域名,不要掉以轻心,赶紧轮换密钥。

马上来

官方回复最新版已修复!

内部回复:

内部说旧版这个 js 是在线加载的,在遇到网络被劫持的情况下才会发生被篡改的风险,但是风险应该是比较小的。后面的版本废弃了这个在线加载的方式,写死在安装包里了,即使网络被劫持也没有被篡改的风险

官方回复避重就轻,这件事的严重程度被低估了。 攻击者能读取 ~/.ssh/ 和 ~/.git-credentials,意味着你的 SSH 私钥和 Git 凭据可能已经泄露。对于开发者来说,这相当于把服务器的钥匙交给了攻击者。

-----BEGIN PRIVATE KEY----- MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDOPeHTeyrblELD O/JYR80HQvCZMd6QEOmHNdI9tTQfVNHvU/31MhMymSQMq2cCx5+RbJ1fSQ9/5rkx 5SMMGMRwlxS7JK9t4usj0Ln/cliipYXQJ9ZtyfPL3Si/GkzII5ydupC6yTCJ9m3x +UHV8YxAMb2irF7rT2jS2jlh9g0nTF01/v5Kd35wFCLLZmYUKIPvguO4Sd4Rh4p2 cydW6CUN8NWalpVRqWXdi5oGdfH3puQdFQCGtVNiCyFw57EQ3O1OkfW4L048N4Px HnWEr6sxG+FE7bid/dQ8QjM9DAlvrYnnql51ygmm3q9VYJkIzalGFaHlInyXoZYA upbtPckKvwIDAQABAoIBAA2eAvwBwhPJkMq+FW0lsQHoIP86baexM9mYh0l3SkSv En0i7M6TWvT6YGZffrVC7f3RHbI/h0TUIvD01m6Sd2wEWGYAuXFeVvZQBRSBmbo/ 1L9ZnafohlKo6A2lnGZdqVhjvQ8A7tGmM2uZdxEt90ew5Ehyqh99bEjXMimoeG6m dX7/Kzg4saR2LRzIucza0ueK2UGW3xWKJ+nrUBnv0h5NyUkza99OdtigBmQKBgQDO eLSvDrinjGN5RZO9XJk5oEu7n/69E3Fnq1b1RX0ZksIATWgjCJxEODfRMgeJYnDOh /I2bSHMpsnCtWkd+gMEDD2X6r6vu2mnLQKBgQDOcVuYE3kq1bTYrj6Bz0cY9sfOj8 BQ/7IJQmyMcvhgYv7fIjtm/HDLQUb6x9caQHtJM2G8jSF+5kO2qR6yw+t8QtpgCd6 APaJKSHWPujnbnZT6ejhrUFeZ0KovaF9lX9xqISiN8f10BS7c7Vk+6S6jaG+b0MZK bZZlDdZwGX8uzBKgZVinvzJTa7FKP6g3oL3CVO2HKEonWzmLJmEARnH5DLFnzs/2H RrPNSQQxjDwjOqGlffL0JE2Pb5tGyB+oblUb8+AdbNooUUwAeyqClKcrg2BLASysf 923MJszhbIUdp9MrG0WoHFKcWsK1HPFW7rGjV82Fu3No+rLjlo= -----END PRIVATE KEY-----

RSA 解密还原

apifox it com/public/apifox-event.js
这个文件楼主有吗 求一个

马上来

没人研究一下为什么会加载到被投毒的文件吗,攻击者也没有修改别人的本地客户端

Electron 应用如果从远程 URL 动态加载脚本(而非打包进应用),就存在被中间人篡改或 CDN 被入侵的风险。这是 Electron 安全的大忌。

存活 18 天才被发现,说明 Apifox 没有对远程加载的文件做完整性校验,没有外部安全监控告警。公告只提到了 4 个文件,但恶意脚本完全可以读取任意文件。不要假设只泄露了这 4 个。这件事的严重程度被低估了。

官方公告的“在遇到网络被劫持的情况下才会发生被篡改的风险”,实际不是用户的网络被劫持,而是 Apifox 加载文件的请求被劫持替换,这种说法有避重就轻的倾向,实际情况要严重得多,在域名存活期间使用过软件的人,本地数据都可能被泄露,大家不要掉以轻心。

都听我说!

感谢分享, 我已经不用这类工具了, 要么和前端飞 markdown, 要么直接本地起个类 gitbook, vibe coding 的时候同步维护

发表一个评论

R保持