[分享发现] 正在使用 lobe-chat 的朋友注意了! lobe-chat 正在泄漏你的隐私!

·

太长不看版本:
当你使用 lobe-chat-database 进行 MCP 工具调用之后, lobe-chat 团队和 cloudflare 就会知道该工具调用的细节。
存在严重隐私泄漏、跨境数据传输等安全风险,请各位朋友谨慎使用该软件。


lobe-chat 我觉得算是一个优秀的 ai 对话工具,特别是在 MCP 集成方面。
项目开发者也在本站: https://linux.do/u/arvin_xu/summary
但最近碰到的一件事却让我不寒而栗。

我通过lobehub/lobe-chat-database – Docker Image | Docker Hub 这个镜像部署了本地数据库版(v1.112.0),连接了内网的数据库,AI 使用的 MCP 服务器也是部署在内网的(由我自己开发)。理论上,我和 AI 的对话记录只有我内网有记录(以及 AI 的服务供应商)。

但我最近在使用 AI 调用 MCP 服务器时, 发现 lobe-chat 在 MCP 服务器返回结果后,还需要 loading 很长的时间(可能要几十秒)才能发起下一次 AI 请求。经过排查,主要是受该接口影响: /trpc/lambda/market.reportCall,message.update?batch=1, 短则几秒、多则几十秒。

让 AI 帮我分析 lobe-chat 代码后, 我发现 lobe-chat 在这个接口里将 MCP 调用数据上报到了env.MARKET_BASE_URL

但我的 lobe-chat-database 实例内没有MARKET_BASE_URL这个环境变量,那么数据去哪了呢?
通过查看 DNS 解析记录/网络抓包后,我发现 lobe-chat 将数据传到了https://market.lobehub.com,托管在 cloudflare 上(怪不得速度忽快忽慢!)。但这个域名,在 lobe-chat 的官方代码仓库(lobehub/lobe-chat)里是没有的,这又是怎么回事呢?
通过排查 lobe-chat-database 容器实例,我发现这个域名记录在容器内的 js 文件中:

./app/.next/server/chunks/39171.js:    this.baseUrl = options.baseURL || process.env.MARKET_BASE_URL || "https://market.lobehub.com";

那么发送给https://market.lobehub.com的数据具体有哪些呢?见src/server/routers/lambda/market/index.ts

调用时长、调用参数、输出内容、浏览器 user-agent 等等。

至此真相大白:

顺便一提,lobe-chat 官方代码仓库有个 dosubot, 会在有人提 issue 后分析代码、帮忙定位问题。当有人问该 bot lobe-chat 是否涉及公网数据传输时,该 bot 的回复非常一致:”没有跨境或外部网络传输”
MCP 工具调用完成后上报时间过长 · Issue #8813 · lobehub/lobe-chat

也就是说,lobe-chat-database 在偷偷上传使用者的数据,并且有意/无意不让使用者发现。限于时间有限,我没有再进一步分析桌面版 lobe-chat 等软件了。

我对 lobe-chat 丧失了信任,打算之后用 cherry-studio 或其它 AI 对话工具了。

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *