← 返回信息流
Agent SkillLINUX DO · AI·1 小时前

开源工具Open Design默认上传用户隐私数据

原标题:开源工具 Open Design 正在偷偷泄露你的隐私

速览

开源工具Open Design被曝在首次安装时默认开启所有遥测选项,且隐私弹窗仅提供“同意”按钮,无拒绝选项。代码证实,除脱敏API Key外,用户的Prompt、AI回复及附件文件均会被完整打包上传至官方服务器。尽管官方隐私政策声称不发送文件内容,但实际实现与声明严重不符。

AI 深度解读

深度解读:开源工具 Open Design 的隐私泄露争议

背景

近期,LINUX DO 社区发布了一篇关于开源 AI 设计工具 Open Design 的深度技术分析。该工具由 nexu-io 开发,定位为一款“本地优先(Local-first)”的开源 Claude Design 替代品。其官方宣传亮点包括原生桌面应用体验、支持 259+ 种技能、142+ 种设计系统,以及涵盖 Web、桌面、移动端原型、幻灯片、图像、视频等多种格式的原型生成能力。此外,它还声称支持 Claude CodeOpenClawCodexCursorOpenCodeQwenCopilotHermesKimi 等 17+ 种 CLI 工具。

然而,社区开发者通过对 GitHub 仓库 nexu-io/open-designmain 分支最新源码进行逆向分析,发现该工具在隐私保护方面存在严重的设计缺陷。尽管其宣传语强调“本地优先”和“BYOK(Bring Your Own Key,自带密钥)”,但代码实现显示,默认情况下它会强制上传用户的 Prompt、AI 回复、工具调用记录以及完整的文件内容至官方服务器,且用户缺乏有效的拒绝机制。

核心内容

1. 遥测功能默认开启,缺乏真正的选择权

分析指出,Open Design 在首次安装后,遥测(Telemetry)选项默认全部开启。这包括收集用户的 Prompt(提示词)、助手回复、工具输入/输出,以及为了质量回看所需的完整上下文文件。虽然官方声称在发送前会剥离密钥等敏感信息,但这一过程并非由用户主动控制,而是程序默认行为。

在代码层面,文件 apps/daemon/src/app-config.ts 中的 applyTelemetryDefaults 函数明确显示,当用户配置中未定义遥测偏好时,系统会自动将 metrics(指标)和 content(内容)设置为 true。这意味着,即使用户尚未阅读或同意隐私政策,遥测数据已经开始收集。

2. “隐私同意”弹窗实为霸王条款

首次启动时,用户看到的“隐私同意”弹窗仅包含一个 “I get it”(我明白了)按钮,没有任何“拒绝”或“不同意”的选项。

源码注释 apps/web/src/components/PrivacyConsentModal.tsx 中直言不讳地写道:“单个‘I get it’操作:产品默认开启遥测。横幅是一个知情披露界面,而非二元同意选择器。”

当用户点击该按钮时,执行的操作 apps/web/src/App.tsx 不仅记录了安装 ID 和隐私决策时间,还显式地将遥测配置设置为开启状态。这种设计使得用户无法在首次使用时快速关闭遥测,所谓的“同意”实际上只是对既定事实的被动接受。

3. 敏感数据原样上传,仅做简单脱敏

遥测模块 apps/daemon/src/langfuse-bridge.ts 的代码证实,用户的 Prompt 和 AI 输出确实会被发送。虽然代码中调用了 redactSecrets 函数,但该函数仅对 API Key、Token、邮箱、IP 地址、信用卡号等特定敏感信息进行脱敏。

对于普通的 Prompt 内容、AI 回复内容以及工具调用记录,代码并未进行额外的匿名化或模糊处理,而是原样打包进入遥测 Payload。此外,数据在发送前会被截断至 512KiB,但这并不改变数据被完整上传的事实。

4. 文件内容违背“本地优先”承诺

最严重的隐私泄露在于文件内容的上传。官方隐私政策声称“绝不发送文件内容”,但源码 apps/daemon/src/trace-object-manifest.ts 揭示了截然不同的实现逻辑:

  • 附件文件:用户附加的项目文件会被读取并转换为 buffer
  • 产物文件:Agent 生成的产物文件同样会被读取并转换为 buffer

随后,这些文件内容会被进行 Base64 编码,并通过 OPEN_DESIGN_TELEMETRY_RELAY_URLOPEN_DESIGN_OBJECT_RELAY_URL 发送到 Open Design 的官方中继服务器。这意味着,无论用户是否使用 BYOK 模式,只要涉及文件附加或生成,文件的完整内容都会被上传。这一行为彻底违背了其“本地优先”和“沙盒预览”的宣传定位。

关键要点

  • 默认遥测开启:Open Design 在未获得用户明确同意的情况下,默认开启指标和内容遥测。
  • 无拒绝选项:隐私弹窗仅设“我同意”按钮,用户无法拒绝数据收集,知情权被形式化。
  • 数据上传范围广泛:上传内容包括 Prompt、AI 回复、工具调用记录,且仅对密钥等极少数敏感字段进行脱敏。
  • 文件内容泄露:用户附加的文件和 AI 生成的产物文件会被完整读取、Base64 编码并上传至官方服务器,与“本地优先”宣传严重冲突。
  • 隐私政策与代码不符:官方隐私政策声称不发送文件内容,但源码证实文件内容被完整上传。
  • 缺乏用户控制权:用户无法在首次启动时快速关闭遥测,数据收集过程缺乏透明度。

意义与影响

此次事件对“本地优先”和“开源 AI 工具”的信任基础构成了严峻挑战。

首先,“本地优先”不再等同于“数据本地化”。许多用户倾向于选择本地优先工具以保护隐私,但 Open Design 的案例表明,开发者可能在宣传中夸大本地处理的能力,而在后台通过遥测机制将数据上传至云端。这种“伪本地”实践误导了用户,破坏了用户对开源工具的信任。

其次,开源不等于透明隐私保护。尽管代码是开源的,但普通用户难以通过阅读代码发现此类隐私陷阱。这凸显了第三方审计和用户社区监督的重要性。LINUX DO 社区的分析表明,只有深入源码审查,才能揭示工具背后的真实数据流向。

最后,对 AI 工具选型提出警示。用户在选择任何声称“本地优先”或“BYOK”的 AI 工具时,不应仅依赖官方宣传或隐私政策文本,而应结合源码审查或网络抓包验证其实际行为。对于处理敏感项目的用户,建议立即卸载存在争议的工具,并轮换相关的 API Key 和证书密钥,以最小化潜在的数据泄露风险。

查看原文 →linux.do