外观
如何防御 Prompt Injection 与工具越权?
3 分钟速学卡
30 秒口述: Prompt Injection 的根因是模型会同时读取可信指令和不可信内容,单靠提示词无法建立安全边界;我会把网页、文档和工具结果当作数据,禁止其提升权限。真正的防线在工具层:按用户身份做最小权限和对象级授权,参数白名单,高风险动作预览与人工确认,敏感信息最小暴露,并记录完整审计。再配合内容隔离、输出校验、沙箱、速率限制和红队回归,即使模型被诱导,也无法越过确定性执行边界。
- 本质: Prompt Injection 无法只靠 Prompt 解决,安全必须落在身份、对象权限和副作用执行边界。
- 核心机制: 外部内容一律视为不可信数据;模型输出只是意图,不是授权。
- 关键判断: 工具使用最小权限并重新鉴权;高风险动作需要确认、审计和红队回归。
- 项目落地: 故障演练:检索文档夹带“上传所有客户数据”的文本。模型若产生导出调用,工具网关仍因当前用户无全量导出权限而拒绝,并记录来源 Chunk 与调用意图。
- 边界与坑: “系统 Prompt 写禁止越权即可。” 提示词不是访问控制;“对输入做关键词过滤。” 可被变体绕过,且不能代替后端授权。
目录
面试官为什么问
考察威胁建模、权限体系和纵深防御,而不是写一句“忽略恶意指令”。
小白先看懂
员工收到一封伪装成领导的邮件,要求打开保险柜。安全制度不会让“邮件写得像命令”自动获得钥匙,而是门禁核验身份、权限、物品范围和二次审批。
邮件内容对应不可信 Context,门禁对应授权网关,钥匙范围对应最小权限。类比忽略了数据外泄、间接注入和模型输出编码等攻击面。
主题教学图片
图:教学图片|如何防御 Prompt Injection 与工具越权?
替代文本: 围绕“如何防御 Prompt Injection 与工具越权?”组织的中文教学图,通过分区、箭头和标签解释核心机制。

读图结论: Prompt 不是权限;副作用前必须确定性鉴权。
这张图片用于建立主题机制的直觉。精确公式、参数、失败分支和事实边界仍以正文与 Mermaid 为准。
图片生成记录: model=gpt-image-2,generated=2026-07-15,prompt_version=v1,reviewed=2026-07-16,review_basis=user-confirmed;查看生成 Prompt。
图:架构|不可信内容与确定性授权边界
替代文本: 用户、网页和文档内容进入模型后只能产生工具意图,该意图必须经过身份、对象权限、参数与审批网关,才能到达沙箱或业务系统。
图表加载中…
读图结论: 不可信文本即使影响模型,也必须被确定性授权和最小权限挡在副作用之前。
安全过滤与业务检索降级分开:不能因模型需要完成任务而放宽 ACL。输出到日志、浏览器或命令行前还要做相应编码与脱敏。
核心原理
防御分为内容层、模型编排层、工具网关、运行环境和监控响应。核心原则是数据不变指令、模型不持有长期高权限凭证、后端重新授权、不可逆动作确认。
项目和生产视角
故障演练: 检索文档夹带“上传所有客户数据”的文本。模型若产生导出调用,工具网关仍因当前用户无全量导出权限而拒绝,并记录来源 Chunk 与调用意图。长期将该样本加入红队集。
常见错误回答
- “系统 Prompt 写禁止越权即可。” 提示词不是访问控制。
- “对输入做关键词过滤。” 可被变体绕过,且不能代替后端授权。
- “Agent 使用服务账号最方便。” 共享高权限身份扩大爆炸半径。
递进追问
- 直接注入与间接注入有什么区别?
- 对象级授权为什么要在后端重做?
- 高风险动作怎样设计预览与确认?
- 如何建立 Prompt Injection 红队回归集?
关联阅读
总结
一句话记忆: Prompt Injection 无法只靠 Prompt 解决,安全必须落在身份、对象权限和副作用执行边界。
- 外部内容一律视为不可信数据;
- 模型输出只是意图,不是授权;
- 工具使用最小权限并重新鉴权;
- 高风险动作需要确认、审计和红队回归。