一句话定义
智能体身份外泄(Agent Identity Leak)指 AI 智能体(agent)执行任务时,把你或你所在组织的身份信息,例如邮箱、账号 ID、机器名、仓库路径、内网域名,随工具调用的请求一起发给了外部服务;而你全程没有感知,也没有收到任何报错。
打个比方
你寄一个包裹,只想让对方知道收件地址,可快递单上印着你的姓名、电话、住址。包裹没错,收件人也没恶意,但你的信息已经跟着走出门了。智能体也一样:它出门干活时会带一份“名片”,名片本来只该给自家后端看,却常常跟着请求发给了路上遇到的每一个第三方。
这类泄漏是怎么发生的
以 Claude Code 这类命令行编程智能体为例,公开讨论中不止一次出现过类似现象:抓取外部网页、调用第三方 MCP 服务(Model Context Protocol,一种给智能体接工具的协议)时,请求里带着可识别账号的标识。拆开来看,路径大致三条:
1. 工具调用外发。抓网页、搜资料、调第三方 API,都会发出真实 HTTP 请求;请求头里的运行环境标识、客户端版本、会话标识,本来用于官方后端做归属统计与排障,但同一份请求头也发到了任意目标站点。
2. 遥测与错误上报。崩溃堆栈、调试日志、环境变量快照,往往打包发送,邮箱、用户名、内网主机名就混在里面。
3. 上下文串联放大。智能体记得“我是谁、在哪个仓库、为谁工作”,当某一步需要把上下文摘要交给外部工具时,身份信息就一起走了。
关键在于“被动”:不是攻击者用提示注入(prompt injection)骗它说出去,也不是密钥硬编码被扫到,而是设计上为了方便支持和统计的元数据,越过了信任边界。
和相邻概念的区别
| 概念 | 泄漏的是什么 | 触发方式 | 典型症状 |
|---|---|---|---|
| 身份外泄 | 使用者/组织身份元数据 | 自动、随请求附带 | 第三方日志里出现你的邮箱 |
| 提示注入 | 任务控制权 | 攻击者构造内容 | 智能体执行了不该做的操作 |
| 凭证泄漏 | 密钥、token | 配置或代码暴露 | 账单异常、接口被陌生调用 |
怎么审计
动手比读文档可靠:本地起一个代理,把所有出站请求头和目标域名打印出来逐条看;用一次性测试账号、空仓库跑一遍,看哪些外部服务能看到它;再对照工具文档确认哪些字段默认附带、能否关闭。具体默认值和开关以官方页面为准。
如何减少泄漏
- 让智能体用专用邮箱和账号出门,不要用个人主账号;
- 在代理层做域名白名单,非必需地址直接拒绝;
- 在出口剥离身份类请求头;
- 关掉非必要的遥测与自动上报;
- 把“会发出去什么”纳入代码评审和日志留存。
对从业者来说,这类泄漏不报错、不告警,属于静默的合规风险,可能撞上数据处理协议和跨境传输条款;对普通职场人,启用任何“能上网”的智能体前,先问一句:它用什么身份出门?
