跳到主要内容

28 篇博文 含有标签「privacy」

查看所有标签

会话摘要抹掉了用户授予你的同意标志

· 阅读需 12 分钟
Tian Pan
Software Engineer

在第 3 轮,你的用户点击了“不要保留我的代码”。在第 7 轮,他们关闭了“使用我的对话来改进模型”。在第 12 轮,他们选择了退出跨会话记忆。到第 40 轮时,你的上下文预算耗尽了。压缩过程将第 1-30 轮折叠成一个简洁的 200 token 摘要,读起来非常顺畅:它捕捉了用户的提问、你的智能体做了什么以及结果如何。在第 41 轮,你的智能体——带着那份摘要和最近的 10 轮对话——自信地将用户的代码写入了一个用户在第 7 轮就已经选择退出的存储库中。

你的审计日志现在包含一个在 t=3 时的授权事件,一个在 t=41 时的违规操作,而两者之间是一段没有任何字段说明为什么该操作被允许的文本。摘要生成器经过训练是为了压缩对话,而不是为了转发控制状态。没有人告诉它那个授权开关是承重的(load-bearing)。也没人能告诉它,因为授权信息并不在对话中——它存在于对话旁的一个结构化字段里,而这个结构化字段没能熬过摘要化的过程。

自身训练语料库成为泄露途径的 PII 脱敏器

· 阅读需 10 分钟
Tian Pan
Software Engineer

一个团队在他们的日志流水线前端部署了一个经过微调的脱敏模型。它在数据进入长期存储之前剥离姓名、电子邮件、账号和 IP 地址。该模型体积小、速度快,且易于与接入层(ingestion workers)并行部署。隐私审查通过了该方案。六个月后,一位客服工程师将一行看起来很奇怪的日志粘贴到调试工具中,脱敏器产生的输出包含了一个真实客户的电子邮件地址——而这个地址在输入中根本没有出现。

流水线完全按照其构建初衷运行。而脱敏器本身就是泄露源。

你的产品视图从未呈现的推理 Token

· 阅读需 11 分钟
Tian Pan
Software Engineer

一位客户给支持团队发了邮件。AI 助手告诉他们在错误的司法管辖区申报纳税,他们非常生气,想知道助手是如何得出那个答案的。你的支持人员打开问题队列,看到了最终回复:自信、听起来很有道理,但却是错误的。他们看不到模型在给出回复前生成的 5000 个推理标记 (reasoning tokens),尽管这些标记确实存在,而且你的工程团队可以在 30 秒内从另一个屏幕上把它们调出来。证据就在公司里,只是拿在错误的人手中。

这就是团队在生产环境的智能体上启用扩展思考 (extended thinking) 时产生的差距。推理成为了每一次调用的核心产物,而你的组织尚未决定谁在什么时候、以何种精度、以及在多长时间内可以看到它。默认决策是由负责各个界面的团队分别做出的,他们的默认设置各不相同,而这些缝隙恰恰是客户投诉产生的地方。

你的智能体无法穿透推理的脱敏层

· 阅读需 10 分钟
Tian Pan
Software Engineer

一次隐私评审批准了你的脱敏层。姓名、邮箱、账号、电话——所有这些都在提示词送达模型之前被清理掉了。你的单轮分类器仍然能跑到 94% 的准确率。六周后,你的多步骤智能体开始对类似"Sarah 用于登录的邮箱和她账单记录里的邮箱是同一个吗?"这样的问题给出自信但错误的答案,而且没人能在开发环境里复现。

脱敏层做到了 infosec 团队要求它做到的一切。它同时也悄悄地摧毁了你的智能体推理所依赖的性质:在不同轮次中出现的两个实体指代是同一回事。这个智能体并没有产生幻觉,它读到的是一份转录文本,其中 Sarah 变成了三个不同的人,"同一个"邮箱地址变成了两个互不相同的占位符。

内部评估集:一个无人审查的隐私边界

· 阅读需 12 分钟
Tian Pan
Software Engineer

你的 AI 团队所谓的“评估集”(eval set),在大多数发布 LLM 功能的公司中,其实是从生产日志中提取的真实客户对话集合。团队中没有人认为这是一个隐私事件。数据从未离开过集群。没有配置新系统。没有增加供应商。一名工程师写了一个查询,将几千条追踪记录(traces)导出到标注工具中,然后团队就开始根据这些记录对模型输出进行评分。法律团队从未听说过这件事,因为从内部来看,什么都没有改变——原本就存在于同一个数据库中的对话,现在只是被几名工程师和一个裁判模型(judge model)读取了而已。

这就是那个无人审查的隐私边界。客户向你发送消息是为了让你回答他们。他们并不是为了让你拿这些消息去衡量模型才把消息给你的。这两种用途在存储层看起来完全一样,在推理层感觉也一样,但在每一种现代隐私监管制度下,它们属于不同的处理目的——而两者之间的鸿沟,正是下一轮合规阵痛将要降临的地方。

少样本示例造成的租户泄露:当你的提示词库变成跨客户数据存储库

· 阅读需 13 分钟
Tian Pan
Software Engineer

打开一个日益成熟的 AI 产品的生产环境系统提示词(system prompt),向下滑过角色描述,你几乎总能看到一个标有 # Examples## Few-shot demonstrations 的部分。这些示例非常出色——它们很具体,具有领域针对性,且精准地匹配了上季度评估集(eval set)中表现不佳的失败模式。但在仔细观察后,你发现它们其实也是真实的客户数据。来自真实账户的真实工单 ID。从支持会话中原封不动摘录的措辞模式。某个租户使用的内部产品代码,而其他客户群从未听说过。

把这些示例放进去的团队并不是粗心大意。这些示例进入提示词的方式与好示例一贯进入提示词的方式相同:有人从生产环境的追踪(traces)中挖掘出模型处理不佳的案例,挑选出最干净的现成示例,将其粘贴到系统消息中,看着评估分数上升,然后发布。这条从生产环境追踪到系统提示词的流水线,是现代 LLM 工程中最可靠的提示词改进闭环。但这也是团队在不知不觉中构建的一个结构性跨租户数据泄露渠道,而系统提示词已悄然变成了一个数据处理协议(DPA)从未涵盖的多租户数据存储库。

当被遗忘权遇上微调:当删除止于快照

· 阅读需 12 分钟
Tian Pan
Software Engineer

一位客户提交了一份主体访问请求(Subject-Access Request),要求删除他们的数据。数据工程师清理了生产数据库、分析仓库、支持工单存档以及冷备。法务团队在数据清单中列出的每个系统都反馈清理完毕。随后,房间里有人提出了一个没人想第一个回答的问题:那模型呢?

三个月前,该客户的支持记录被用于一次微调运行。从那时起,由此生成的适配器(Adapter)就一直在为其他客户提供预测服务,其中嵌入了该客户的措辞、账户名称,偶尔甚至还有权重中的原句。你可以证明数据仓库中的数据已删除。但你无法证明模型中的数据已删除 —— 团队中最诚实的那位成员会大声说出这一点。

在不触发法律红线的前提下,用生产数据训练你的 AI

· 阅读需 13 分钟
Tian Pan
Software Engineer

你的 AI 功能上线了。用户正在使用它。每一次会话回放、每一次点踩、每一个返回错误答案的请求,都清晰地暴露出它现在的表现与它应有水平之间的差距。信号就在眼前。问题是:你是否可以合法地利用这些信号。

这就是团队撞上合规高墙的地方。这不是一堵理论上的墙——而是实实在在的。仅在 2024 年,欧洲监管机构就开出了逾 12 亿欧元的 GDPR 罚款,OpenAI、Meta 和 LinkedIn 均在被点名之列。大多数执法行动背后有一条共同主线:以原先收集目的之外的方式使用行为数据,或收集了超出运营功能所必要的数据。监管机构并不会因为你的意图是改进模型而非投放广告就网开一面——尽管工程师们往往这样以为。

Prompt 中的 PII:你的 AI 流水线缺失的数据最小化模式

· 阅读需 14 分钟
Tian Pan
Software Engineer

2025 年的研究发现,提交给商用 LLM 的 Prompt 中有 8.5% 包含敏感信息——PII、凭据和内部文件引用。这一统计数据可能低估了问题的严重性。它只计算了用户显式输入的内容,而没有计算系统静默添加的内容:检索到的客户记录、数据库查询的工具输出、从之前会话持久化的记忆,或者是训练前未经过清洗的微调数据。大多数 AI 流水线的 PII 泄露并非源于用户错误,而是源于没有单一工程师负责的架构盲点。

失效模式几乎总是一样的:团队发布了一个 AI 功能,认为“我们不发送个人数据”,但个人数据却从缝隙中进入了——在包含客户地址的 RAG 检索分块中,在返回完整用户档案的智能体工具输出中,或者在从 CRM 导出且未经脱敏(redaction)的微调数据集中。GDPR 的数据最小化原则要求你只收集特定目的所必需的数据。LLM 架构在默认情况下违反了这一点。

真正信守承诺的隐私模式:在 AI 功能中构建用户可控的数据边界

· 阅读需 11 分钟
Tian Pan
Software Engineer

2026 年 3 月,一场集体诉讼指控 Perplexity 的“无痕模式”(Incognito Mode)正在将对话数据和用户标识符路由到 Meta 和 Google 的广告网络 —— 甚至对于明确激活了该功能的付费订阅者也是如此。该功能被称为“无痕”。用户认为这意味着私密。但实现方式却并非如此。

这是 AI 隐私模式中最常见的失败模式:名字是营销,实现是“留存戏剧”(retention theater)。工程师上线了一个开关。法务批准了措辞。用户按下开关并信任它。但在数据管道的某处,输入内容仍在流向日志服务、训练任务或某个没人记得拦截的第三方分析 SDK。

数据敏感级别模型路由:管控哪个模型能看到哪些数据

· 阅读需 13 分钟
Tian Pan
Software Engineer

你的 AI 系统在上午 9 点将一条患者查询路由到了自托管模型。上午 11 点,该模型的 Pod 在部署时重启。请求队列积压,路由器检测到超时,随即回退到你用于通用查询的云端 LLM。请求成功完成,没有告警触发,监控面板一片绿色。而就在这次交互中,受保护的健康信息悄然流向了一个你根本没有签署《业务伙伴协议》的供应商。

这不是假设,而是几乎所有未经专门设计来防范此类问题的 AI 路由栈的默认行为。

你的微调大模型正在泄露哪些训练数据

· 阅读需 10 分钟
Tian Pan
Software Engineer

当一个团队在客服工单、内部Slack记录或专有代码上对大模型进行微调时,通常本能地将数据摄取视为单向门:数据进去,更好的模型出来。但实际并非如此。一名研究人员只需API访问权限和200美元,就能系统地将原文逐字提取出来,其中往往包括模型本不应对外呈现的内容。这并非理论上的边缘案例——这是已被记录的攻击模式,已在包括全球部署最广泛的语言模型在内的生产系统上得到演示。

核心问题在于,微调模型在隐私立场上与基础模型有着本质区别。它们在规模更小、更具特征性的数据集上训练,个别样本远比基础模型行为更容易被区分——而这种可区分性正是攻击者所利用的。