跳到文章正文
报告 编辑推荐

不读聊天记录也能画出你的生活:6.8 万条 Agent 工具调用,泄露了哪些隐私

你让 AI 助手查下周去伦敦的路线,它顺手调用了地图服务;你让它整理体检报告,它连上了健康数据库…

你让 AI 助手查下周去伦敦的路线,它顺手调用了地图服务;你让它整理体检报告,它连上了健康数据库。你和它说过的话,理论上只有你和模型厂商能看到。但上海人工智能实验室 AgentDoG 团队联合电子科技大学、悉尼大学完成的一项研究提醒我们:即使对话全程保密,Agent 在后台留下的工具调用轨迹,也足以拼出你住哪儿、信什么、身体怎么样。

这项研究构建了一个名为 PrivacyTrace 的基准,把「工具调用」当成一种新的隐私侧信道来量化。论文给出的结论不是猜想,而是一组可复现的数字。

一分钟速览

  • 研究对象是 Agent 的工具调用轨迹,而不是对话内容。
  • 团队合成 1000 个虚拟用户、17 项属性,用 25 个真实 MCP 服务器产出 4000 条轨迹、共 67950 条工具调用。
  • 盲猜属性成功率 17.97%,看到单域轨迹后升到 26.25%,跨四个领域串联后达到 32.77%。
  • 泄露最严重的是国籍与宗教信仰,分别达到 57.73% 和 50.03%。
  • 但精确身份几乎猜不出:16000 个身份标识预测槽里只对了 35 次,邮箱与政府证件号为零。

攻击者什么都没做错

先要理解攻击面在哪。在主流的 Agent 架构里,模型通过 MCP 这类标准接口调用外部工具:地图、日历、健康服务、购物平台。每次调用都会生成一条记录,包含工具名、传入参数、返回结果和调用顺序。工具服务器看不到你和 Agent 的对话,却能完整看到这些记录;一个架在中间的网关或聚合平台,甚至能看到你所有任务的全部轨迹。

研究者把这两类观察者称为「本地观察者」和「全局观察者」。它们都是半诚实的:老老实实完成本职工作,只是顺手多看了一眼自己本来就有权限看到的数据。这恰恰是最难防范的一类,因为它不违反任何规则,也没有任何一方在「作恶」。

举个具体的例子。你让 Agent 规划通勤和办事路线,轨迹里会出现目的地的地理编码、出行时间、交通方式。单看每一条都很普通,但组合起来:目的地落在伦敦某医院区域,出行严格避开安息日,从周五日落到周六夜间一律只步行。一个旁观的服务器就能推断:你可能住在伦敦,患有慢性肾病,信仰犹太教。你一个字都没说过,但你的行为替你说了。

给一千个虚拟用户做一次「CT」

量化这种风险最大的障碍是数据:没人愿意把病历交给研究者做攻击实验。团队的办法是合成。他们参考联合国、世界银行、教科文组织、国际劳工组织等机构的人口统计分布,用迭代比例拟合生成 1000 个统计上贴近真实人口结构的虚拟用户,每人带 17 项属性,包括国籍、年龄、职业、宗教信仰、身心健康、收入等。

接着围绕旅行、健康、购物、职业学习四个领域,用 25 个真实 MCP 服务器的真实工具执行任务,产出 4000 条 Agent 轨迹、67950 条工具调用记录。最后让四个主流大模型扮演攻击者,只看轨迹、不看对话,去推断这 17 项属性。

实验设计里有一个巧妙的对照:攻击者只拿属性清单盲猜,是基线;拿到轨迹后再猜,多出来的准确率,才是轨迹泄露的净证据。评分采用强制预测,17 项每项都必须给出答案,猜错算错,语义匹配由另一个没看过轨迹的裁判模型裁定,模糊地带一律判错。

还有一个现实细节:四个攻击者的成绩相差不大,从 25.29% 到 28.32%,但成本天差地别。跑完全部实验,GPT-5.5 约需 1080 美元,DeepSeek-V4-Flash 只要约 46 美元,效果几乎持平。换句话说,发动这类画像攻击的门槛,比大多数人想象的低得多。

26.25% 意味着什么

结果是这样的:盲猜的成功率是 17.97%,拿到单域轨迹后升到 26.25%,净增 8.28 个百分点。换算下来,17 项属性平均只猜对四到五项,比盲猜多对一到两项。这个精度够拼出轮廓,远够不到看穿一个人。

更值得注意的是观察范围的影响。单个 MCP 服务器只能做到 24.24%,单个域是 26.25%,而把同一用户跨四个领域的会话串联起来,成功率跳到 32.77%。可见范围越大,画像越清晰。论文也提醒,这三个数字来自三组不同的统计口径,只能视为关联而非因果;在同一口径的配对实验里,从单服务器扩大到单域,实际只提升 3.09 个百分点。

分属性看,泄露最严重的是国籍和宗教信仰,出行与购物类任务的泄露明显高于职业学习。让人松一口气的部分是精确身份:16000 个身份标识预测槽里只有 35 次猜对,其中 34 次是姓名、1 次是电话号码,邮箱和政府身份标识的正确次数为零。轨迹泄露的是「画像」,不是「身份证」。

防御该从哪里下手

这项研究最有价值的地方,是把风险从「模型会不会乱说」转移到了「系统记录了什么」。只要 Agent 还要调用工具,轨迹就会存在;只要轨迹存在,聚合与关联就有价值。防御思路也随之改变:不是要求模型更乖,而是要求系统少留、晚留、分开放。

具体来说,工具网关可以按任务做最小化记录,返回结果只保留完成任务必需的字段;跨域轨迹不应默认汇聚到同一个可长期检索的池子里;对地理位置、宗教活动、健康服务这类高敏感调用,应该设置更短的保留期与更严的访问审计。对开发者而言,隐私设计要从「对话层」下移到「调用层」。

对普通用户,这项研究也提供了一个朴素的提醒:你交给 Agent 的任务越贴近生活,它留下的痕迹就越像你。便利与暴露是同一枚硬币的两面。真正值得期待的,不是让 Agent 少干活,而是让它在干活的同时,学会把不该记住的部分忘掉。

本文地址:https://www.163264.com/19071