# 提示注入防护：网页里的文字，不能替企业下命令

从内容来源、工具权限与执行校验理解提示注入，保护企业智能体读取外部资料时的指令边界。

要点：提示注入可能把指令藏在网页、文档或工具结果里，诱使智能体偏离原任务。企业应区分用户授权与外部内容，并在工具执行层约束权限、目标和数据流。提示词提醒有帮助，但不能替代系统边界。

![机柜中按区域连接的网络线缆与访问面板（AI概念配图）](/images/guides/covers/prompt-injection-boundary-v2.png)

## 能够阅读，不代表应当服从

智能体为完成任务读取一份网页时，网页中的“请执行某动作”仍然属于页面内容，不能自动变成企业授权。类似内容也可能出现在附件、邮件正文或检索结果中。

系统应保留来源与信任层次，明确哪些内容是任务要求，哪些只是需要分析的资料。摘要和跨步骤交接也要保留这个区别，避免外部文字在压缩过程中被升级为内部指令。

## 把约束落实到真正发生动作的位置

工具应检查身份、资源范围与动作性质。读取资料的权限，不应自然扩展为向任意地址发送资料的权限。重要状态变更需要满足既定业务条件，不能仅凭模型生成的参数放行。

还可以限制工具返回内容的范围，减少无关信息进入上下文。错误信息、日志和页面内容应按资料处理，不让它们改变当前任务的目标。具体措施需根据系统用途设计。

## 测试应覆盖正常任务与异常内容

可以在受控测试资料中加入与任务冲突的指示，检查智能体是否仍遵守原目标，以及是否试图调用不相关工具。同时保留正常样例，避免防护使有效资料完全无法使用。

测试结果应记录输入来源、尝试动作和执行层是否阻止越界。不能只看模型口头表示“已忽略”，还应核对实际工具行为。

| 层次 | 需要保护的边界 |

| --- | --- |

| 内容 | 资料不自动获得指令效力 |

| 上下文 | 摘要与交接保留来源性质 |

| 工具 | 身份、目标与动作受约束 |

| 验证 | 检查实际行为及正常任务可用性 |

## 防护是一项持续的系统工作

攻击方式与模型行为都会变化，单次测试通过不代表永久可靠。保留异常记录、更新测试样例和复查权限，有助于发现新的薄弱处。

企业采用智能体，意味着语言开始接近实际行动。越是在这个连接点，越需要清楚区分理解一段话与接受一项授权。

## 测试资料中的指令是否会越权

在受控文档中放入与原任务冲突的文字，检查是否试图改变目标、发送数据或调用无关工具。执行层验证身份与对象，拒绝越界后仍应能完成正常任务，单次通过不能视为永久防护。

## 参考来源

- [Anthropic｜提示注入防护](https://www.anthropic.com/news/prompt-injection-defenses)：外部内容中的提示注入与持续防护研究

- [MCP 官方文档｜协议介绍](https://modelcontextprotocol.io/docs/2026-07-28/getting-started/intro)：AI 应用连接外部系统的协议定义

## 从阅读到行动的三道检查

- 来源性质：谁在提出要求

- 授权范围：当前任务允许什么

- 执行校验：工具是否满足业务条件

![从阅读到行动的三道检查](/images/guides/diagrams/prompt-injection-boundary.svg)

## 继续阅读

- [智能体沙箱：让试错发生在可承受的范围内](/guides/agent-sandbox)

- [智能体工具设计：名称清楚，还不够](/guides/agent-tool-selection)

- [AI 工作流的人工审核，放在哪里才有效？](/guides/human-approval)

明确授权、处理位置与双方责任；部署、接口、定制及代运维另列技术实施。

下一步：[核对数据与合作边界](/data-boundary)

原文：/guides/prompt-injection-boundary

内容版本：guide:prompt-injection-boundary:v1

<!-- version:guide:prompt-injection-boundary:v1 -->

[结合企业情况咨询](/intake?source=%2Fguides%2Fprompt-injection-boundary&articleId=guide%3Aprompt-injection-boundary&versionId=guide%3Aprompt-injection-boundary%3Av1)