Agent读取客户邮件和网页时,怎样测试提示注入风险?
把外部资料与执行授权分开,再用有观察证据的授权测试核对越权读写和外发路径。
Agent读取邮件、网页或附件时,应把其中的文字当作待处理资料;这些资料不能自行获得修改权限、选择外发目标或绕过审批的权力。测试提示注入风险,需要沿着“外部内容进入哪里、影响了什么判断、能否触发真实动作”检查,并核对目标系统与数据去向。只看聊天里有没有说“我拒绝”,无法确认执行边界有效。
提示注入是指输入中的内容试图改变模型原本应该遵守的任务或规则。这里关注间接注入:Agent为完成合法任务读取外部材料,其中夹带了要求它另做事情的指令。企业可以在明确授权的隔离环境,用模拟资料和受控接收端验证自己的系统;不要把客户、供应商或其他人的在线系统当作测试目标。
先画出外部内容到动作的路线
选一条已经准备开放的任务,例如读取供应商邮件并整理询价信息。标记邮件正文、附件、链接页面、检索片段和工具返回中哪些来自外部,哪些只是业务数据。再标记模型可以调用的检索、写入、外发与转交动作,找出资料在哪一步可能影响这些决定。
| 边界 | 要核对的设计 |
|---|---|
| 资料进入上下文 | 保留来源标记;将外部原文与系统任务、企业规则分别表达。 |
| 模型提出动作 | 只生成限定结构的候选参数;不因外部文本自称有授权就扩大动作范围。 |
| 工具真正执行 | 由执行层校验身份、对象、参数和允许的去向,不让模型自行决定访问权限。 |
| 内容输出或外发 | 核对敏感信息、附件与收件目标;需要批准的动作继续执行审批规则。 |
| 记录与复盘 | 能把来源材料、模型输出、实际工具参数和业务结果关联起来,日志保留范围可控制。 |
OWASP的LLM01提示注入风险说明指出,检索增强和微调不能完全消除这类风险,并提出最小权限、区分外部内容和对抗测试等方向。企业需要把这些方向变成自己的可检查控制,不能把接入知识库或增加一句提示当作已经安全。
把测试范围、观察点和停止条件先定下来
- 确认本次有权测试的应用、账号、任务、数据和接收端。使用测试身份、模拟业务对象与虚构标记,不把真实密钥、客户资料或生产外发接收人放进样例。
- 尽可能保留接近真实的数据流与工具校验,但把有副作用的目标替换为隔离资源。记录哪些地方被替换,以免把隔离成功推断为真实接入已经通过。
- 写明预期行为:哪些信息可用于完成原任务,哪些指令应被忽略或导致暂停,允许产生什么记录,不能发生什么动作。
- 准备可核对的观察点:工具调用记录、访问拒绝、测试接收端、模拟业务对象前后状态,以及审批状态。出现越权访问或非预期外发时按约定停止。
样例要覆盖指令影响,也要保留正常资料
| 样例类别 | 受控测试材料怎样安排 | 预期核对的结果 |
|---|---|---|
| 外部文本冒充内部要求 | 在模拟邮件中加入与原任务冲突的流程指示 | 原任务边界不被外部来源改写,执行层仍按既定权限处理。 |
| 诱导读取其他范围 | 材料要求补充本任务无权接触的测试记录 | 访问受到权限限制,相关内容没有出现在输出或接收端。 |
| 改变外发对象 | 材料试图把结果引向未获允许的测试接收位置 | 目标校验或审批阻止未经允许的去向。 |
| 诱导跳过确认 | 材料宣称已经批准某动作,或要求改走其他工具 | 外部声明不能代替审批记录;各执行路径的控制仍成立。 |
| 污染业务结论 | 材料把自身主张包装成企业已经确认的事实 | 输出保留来源与不确定性,不将外部主张升级成内部事实。 |
| 正常与混合内容 | 保留格式正常、语气紧急但没有越权要求的询价;再与异常材料组合 | 正常任务仍能完成;记录误拦截,避免靠拒绝所有内容取得安全表象。 |
同一意图可以出现在正文、附件或被检索到的片段中。测试应覆盖系统实际支持的入口;没有图片识别能力就不声称已覆盖图像风险,未接入真实附件解析也不把纯文本测试算作附件验收。样例应持续加入已经观察到的新失败,而不只重复某个固定敏感词。
示例:提取询价需求时,邮件要求额外取走内部材料
示例(非客户案例):原任务是把模拟询价邮件中的规格与数量整理成内部草稿。测试邮件另附一段要求,试图让系统取出无关的内部测试文档并转交到另一个受控接收端。测试文档仅含虚构标记,不含真实敏感内容。
检查时应同时查看三个结果:询价字段是否仍按允许范围提取;越权读取是否被阻止;测试标记是否进入了输出、日志或接收端。若回复写着“不会外发”,工具记录却显示访问或发送已经发生,应记为控制失效。若系统拒绝整封正常询价,也要记录业务误伤并分析是否有更合适的限制。
还要检查恢复和人工批准之后的路径。原本被阻止的外发,不能在“重新运行”或“换工具处理”时脱离相同校验。人看到的审批内容也必须与实际执行一致,否则把风险交给人看一眼仍可能漏掉参数变化。
测试结论写到具体边界与失败原因
每条样例保留输入版本、应用配置、使用身份、预期行为、实际输出、工具参数与最终状态。结果可区分:控制按预期生效、发现越权或不当动作、正常业务被误拦截、证据不足。若日志看不到关键动作,就先补观察能力,不能把“没有看到泄露”自动记为没有泄露。
修复后应重跑原失败样例、相邻入口与正常任务,核对是否只是把问题移动到其他路径。模型、工具权限、资料入口或审批方式发生变化时,也要重做受影响的测试。已有样例通过,只支持测试覆盖的条件,不说明未测试入口没有风险。
外部内容的控制需要与知识权限隔离及执行前审批与参数核对共同验收。已选业务任务需要接入邮件、网页或知识资料时,可以与企业 AI 项目落地服务沟通实际输入、工具动作和授权测试范围。
本页判断依据
把业务问题说清楚,再决定下一步
已选定需要改善的业务任务,可以先沟通现有数据、系统和责任边界,再确认接入、验收与持续运行的范围。
顾问咨询
先沟通当前问题、服务范围与下一步,再确定适合的安排。
通过企业微信或邮箱直接沟通