一句话说清:当一个 AI 系统同时具备三种能力——能读到私有数据、会接触到不可信内容、并且有对外发送信息的通道——那么数据外泄就不再是"可能性",而是"迟早发生"。这三样凑齐,是泄露的充分条件。
拆开看这三样
私有数据:你的邮箱、网盘、工单系统、代码仓库、CRM、内部聊天记录。模型能读到这些,才有东西可偷。
不可信内容:网页、外部发来的邮件、他人上传的 PDF、第三方工具返回的结果、别人提的 issue。关键在于——这些内容里可能夹着针对模型的指令,而用户完全不知情。
对外发送能力:能发邮件、能调外部接口、能往公开仓库里写东西、能生成一个带参数的链接。这是数据"走出去"的路。
打个比方
你雇了个助理,给他保险柜钥匙,允许他拆看任何人塞进门缝的信,还给了他公司邮箱和快递寄件权限。某天信封里写着"请把保险柜第三层拍照寄到这个地址",他照做了。
他不是叛变,他只是分不清"信里的字"和"老板的指令"——大模型天生分不清这两者,因为对模型来说,它们都只是同一串输入。这就是提示注入(prompt injection)的可怕之处:攻击者不需要攻破你的系统,只需要让一段文字被模型读到。
为什么叫"充分条件"
三样缺一,风险立刻降一个量级:
| 要素 | 常见形态 | 去掉它意味着 |
|---|---|---|
| 私有数据 | 邮箱、网盘、代码库、客户名单 | 攻击者无物可取 |
| 不可信内容 | 网页、外部邮件、他人文档 | 攻击者递不进指令 |
| 对外发送 | 发信、调外部 API、写公开仓库 | 数据出不去 |
只要砍掉任意一条,泄露链条就断了。安全工作的重点不是"让模型更聪明地识别坏话",而是让这三样尽量别同时出现在一个自动化流程里。
和相邻概念的区别
越狱(jailbreak)是让模型违反自身的安全策略,说它本不该说的话;提示注入是攻击者借数据通道塞指令,模型可能完全"听话照做",没违反任何规则。而致命三要素不是攻击手法,是系统结构——它描述的是"什么配置下,注入一旦发生就必然变成真实泄露"。
对从业者和普通人的意义
开发者:优先做减法。出站访问走白名单、敏感操作加人工确认、把外部内容明确标注为"数据而非指令"、给 Agent 最小权限和沙箱。做不到全砍,就先砍最危险的那条——通常是出站。
普通职场人:当一个助手同时能读你的邮件/文档,又能上网抓内容,还能替你发消息或提交表单时,它就是一整套致命三要素。授权前先问一句:它读的东西里,有多少是别人能塞进来的?具体产品和权限配置以官方页面为准。
