AI教程

间接提示注入怎样攻击 AI Agent?邮件、网页、文件与工具链威胁模型

用来源—汇点威胁模型拆解邮件、网页、文件、RAG、MCP与多Agent注入,并以最小权限、数据流门禁、确认、回滚和三十项测试限制影响。

邮件网页文件检索和工具结果经过摄取进入Agent上下文并触发危险动作的来源汇点链
本页目录
  1. 直接答案:把外部内容当数据,把动作放到模型之外裁决
  2. 为什么保留 125009,而不是再建一篇安全新闻
  3. 先画攻击链:攻击者不必直接碰到用户
  4. 区分直接注入、间接注入与普通恶意数据
  5. 用来源—汇点模型定位真正风险
  6. 用户原始任务必须成为不可变参照
  7. 把不可信内容装进结构化数据通道
  8. 邮件场景:摘要权限不等于回复和转发权限
  9. 网页场景:可见域名不等于最终目的地可信
  10. 文件场景:内容、宏、元数据和链接分别处置
  11. RAG 与搜索:索引不是信任转换器
  12. MCP 与远端工具结果必须按供应链输入处理
  13. 多 Agent 系统要限制消息传播和身份继承
  14. 长期记忆是会跨任务放大风险的写入汇点
  15. 模型级识别有价值,但不能成为唯一边界
  16. 权限按工具、动作、对象和数据流收窄
  17. 人工确认要展示事实,而不是只给一个允许按钮
  18. 网络控制要覆盖 URL、DNS、重定向和隐蔽外发
  19. 秘密管理:不给模型看到就少一个可被偷走的目标
  20. 对副作用实施幂等、预算和回滚
  21. 日志必须能回答谁读了什么、为何调用、数据去了哪里
  22. 建立四类可复现攻击集,而不是只测一句 Ignore
  23. 多模态注入不能只检查提取后的纯文本
  24. 自传播和多跳攻击需要限制写入下一跳
  25. 适应性攻击要求循环测试,而不是固定样例考试
  26. 设置明确的停机与降级判据
  27. 评分要同时看攻击成功、任务成功和影响上限
  28. 发布前用红队、紫队和运行时演练闭环
  29. 事故处置先阻断外发,再保存证据和轮换秘密
  30. 普通用户也能降低风险:缩小任务、登录和确认范围
  31. 采购或上线评审要问可验证问题
  32. 本文结论的适用边界
  33. 来源与汇点风险矩阵
  34. 三十项上线验收清单
  35. 1. 来源清单
  36. 2. 任务冻结
  37. 3. 数据通道
  38. 4. 秘密隔离
  39. 5. 只读优先
  40. 6. 最小对象
  41. 7. 网络最终目标
  42. 8. URL 外发
  43. 9. 邮件转发
  44. 10. 网页隐藏文本
  45. 11. 文件隔离
  46. 12. RAG 溯源
  47. 13. MCP 审核
  48. 14. 工具响应
  49. 15. 跨 Agent 消息
  50. 16. 长期记忆
  51. 17. 参数确认
  52. 18. 批量抽样
  53. 19. 幂等与版本
  54. 20. 任务预算
  55. 21. 错误默认
  56. 22. 攻击集覆盖
  57. 23. 合法任务成功
  58. 24. 影响上限
  59. 25. 检测告警
  60. 26. 日志完整
  61. 27. 撤销时延
  62. 28. 回滚副作用
  63. 29. 变更触发
  64. 30. 责任与到期
  65. 官方证据图:NIST 的 Agent hijacking 评测框架
  66. 当前一手来源与证据边界
  67. 继续完成相邻任务
  68. 核验日期与发现证据边界

直接答案:把外部内容当数据,把动作放到模型之外裁决

间接提示注入不是用户直接要求模型越权,而是攻击者把指令藏进邮件、网页、PDF、代码、日历、搜索结果、向量库片段或工具响应,等待 Agent 在正常任务中读取。防护不能只靠让模型识别一句可疑文字;系统需要把不可信内容标注为数据,限制它能影响的字段,用独立策略判断每个工具动作,并在外发、删除、购买、授权等高风险副作用前重新核对用户原始任务、目标、参数、数据去向和批准范围。任何单层过滤都可能失败,安全目标应是即使模型被说服,攻击也拿不到足够权限或静默外发通道。部署团队还应先写清可以接受的失败:摘要出现错误与把客户资料发给陌生域名不是同一级风险。前者可以通过引用和人工复核缓解,后者必须在网络、凭据和工具层硬阻断。验收也要分别证明正常任务完成、越权动作失败、秘密没有进入请求、任务结束后没有残留;缺少任何一项,都不能用一句“检测到注入”代替完整结论。

为什么保留 125009,而不是再建一篇安全新闻

站内已为“间接提示注入怎样攻击 AI Agent”建立主 URL,但旧稿只有约千字概览,且进入未来四十八小时窗口时预发布指纹失效。继续新建新闻页会分散同一查询意图,因此本轮按远端哈希备份,转为草稿并清除 Cron,再在原 URL 深度重写。新增价值不是改日期,而是来源—信任—规划—工具—外发完整威胁模型、四类载体测试集、跨跳传播检查、三十项负向验收、事故处置合同和可离线校验的 JSON 任务资产。

先画攻击链:攻击者不必直接碰到用户

攻击者只要能控制 Agent 将来会读取的一段内容,就可能进入决策上下文。载体可以是公开网页中的正文或隐藏文本、收到的邮件与附件、共享文档评论、代码仓库 issue、依赖说明、日历邀请、客服工单、检索索引或 MCP 工具返回。Agent 通常是在完成“总结、研究、分类、修复、回复”等合法任务时接触这些内容。随后恶意文本伪装成更高优先级规则、系统通知、数据格式说明或下一步操作,诱导模型偏离用户目标。真正造成损害的是后续可用工具、私有数据、网络和持久记忆。

邮件网页文件检索和工具结果经过摄取进入Agent上下文并触发危险动作的来源汇点链
兰塞 AI 原创:只有把不可信来源、模型决策与危险汇点放到一张图里,才能找到真正的阻断点。

区分直接注入、间接注入与普通恶意数据

直接注入来自当前对话中的用户输入,防守者通常知道谁提供了它;间接注入来自第三方内容,用户可能完全看不到。普通恶意数据会利用传统解析器缺陷,例如脚本、宏、路径穿越或 SQL 注入;提示注入则利用模型把自然语言同时当作内容和可能的指令。两者可能组合:网页先用隐藏文字改变 Agent 计划,再让它下载恶意文件或调用带危险参数的工具。因此输入清理、沙箱和传统应用安全仍然需要,但不能把它们当成提示注入已经解决。

用来源—汇点模型定位真正风险

先列出所有不可信来源,再列出会产生损害的汇点。来源包括网页、邮件、文件、RAG、搜索、远端工具、多 Agent 消息和长期记忆;汇点包括外发请求、写数据库、发送邮件、提交代码、运行命令、购买、删除、改权限和写入记忆。只有来源没有危险汇点时,攻击影响通常限于错误摘要;只有汇点没有不可信来源时,仍有误操作风险,但攻击面较窄。高危路径是同一工作流同时读取攻击者可控内容、接触秘密或私有数据,并能改变状态或向外通信。治理应优先切断这些组合。

用户原始任务必须成为不可变参照

Agent 在长流程中容易把后来读到的内容当成新的任务。系统应保存用户批准的任务对象、允许动作、允许资源、时间窗、输出位置和禁止项,并为它生成不可变任务标识。每次工具调用都要能解释它如何服务原任务;仅仅因为页面写着“为继续完成任务必须上传日志”并不构成授权。任务变化需要回到用户或受控业务规则重新批准,而不是由模型自行修改目标。日志同时保留原始任务摘要与每一步理由,便于发现逐渐偏离而不是只看最终回答。

把不可信内容装进结构化数据通道

网页正文、邮件和文件内容不要拼进开发者指令或系统策略。解析层应输出来源、作者、获取时间、媒体类型、可信级别、允许字段与文本正文,模型读取时明确这些字段只是证据。后续节点只接收完成任务必要的结构化值,例如日期、金额、标题或候选 URL,而不是把整段自由文本原样传给高权限执行器。结构化输出减少隐藏指令穿过多个节点的机会,但它不是证明;攻击者仍可在允许字段里写误导数据,因此服务端继续检查类型、长度、域名、对象和业务约束。

邮件场景:摘要权限不等于回复和转发权限

邮件 Agent 为用户整理未读邮件时,应以只读身份获取限定时间和文件夹中的消息,正文与附件均标记为不可信。摘要节点没有发送、转发、删除或下载外链资源的能力。若用户随后要求回复,执行节点重新显示收件人、主题、正文、附件和外发数据摘要,并要求独立确认。测试必须覆盖伪造管理员通知、要求转发机密、在签名或引用链隐藏指令、通过远程图片 URL 带出数据,以及一封邮件诱导 Agent 打开另一封邮件的多跳攻击。

网页场景:可见域名不等于最终目的地可信

浏览 Agent 可能遇到白底白字、ARIA 标签、元数据、评论、弹窗、图片 OCR、重定向目标或页面脚本生成的注入。只允许知名域名不能解决开放重定向、用户生成内容和第三方资源。导航层应在每次跳转后核对最终域名、协议和下载类型,阻止把私有数据拼到 URL、搜索词、表单或图片请求中。登录状态也应按任务启用:纯研究尽量使用无登录会话;只有需要读取用户资源的步骤才进入受限账户,并在离开任务时清理会话与下载。

文件场景:内容、宏、元数据和链接分别处置

上传 PDF、Office、图片、压缩包或代码仓库前先做类型识别、大小限制、恶意软件扫描和隔离解析。文本提取结果仍是不可信数据,不能因文件来自组织网盘就变成指令。关闭宏和自动执行,阻止解析器访问外网,限制嵌套压缩深度,并记录 OCR、附件、批注、不可见图层、元数据与链接。对于代码,README、issue、注释、测试输出和构建日志都可能携带提示注入;执行器只运行经过任务白名单、代码审查与沙箱允许的命令。

RAG 与搜索:索引不是信任转换器

网页或文档被抓进向量库后,其来源风险不会消失。摄取管线记录原页、作者、时间、许可证、哈希与租户,拒绝未知脚本和越界文件;检索结果附带来源标签,并在回答与工具动作之间设置独立门禁。不要让检索片段直接决定 SQL、收件人、支付对象或网络目标。更新与删除也要传播到索引,避免已经撤销的权限和旧恶意内容长期驻留。对高风险查询,可以先让低权限模型抽取事实,再由策略层根据原任务选择是否进入下一步。

MCP 与远端工具结果必须按供应链输入处理

一个名为 search 或 list 的工具也可能返回带指令的自由文本,诱导 Agent 在下一次调用中提交私有数据。接入 MCP 服务器前核对运营方、代码、权限、传输、日志和更新渠道;为每个工具固定输入模式、允许域名、最大返回大小和敏感字段规则。读工具与写工具使用不同凭据,远端描述文字不能动态扩大权限。服务器版本、工具清单或描述变化应触发重新审核,因为攻击面不仅在运行响应,也在工具元数据和多步骤组合。

多 Agent 系统要限制消息传播和身份继承

规划器、研究员、执行器、审查器之间的消息不应默认互信。每条消息记录来源 Agent、父任务、能力、数据敏感级、允许消费者和到期时间;子 Agent 只能得到完成子任务所需的片段与工具。禁止把上游长上下文、秘密和所有工具一起复制。下游若返回新的指令或要求扩大权限,应交给策略层而不是自动执行。测试还要覆盖注入在多个消息中拆分、通过共享记忆持续存在、让一个 Agent 说服另一个 Agent,以及伪造“已获人工批准”的回执。

长期记忆是会跨任务放大风险的写入汇点

攻击者可能让 Agent 把恶意规则写进个人偏好、团队知识或代码文件,使后续无关注任务继续受影响。记忆写入应是独立工具,只允许结构化、低风险、可追溯字段;记录来源、创建者、任务、到期和删除路径。任何涉及权限、收件人、域名、命令、安全例外或系统策略的内容都不能由普通对话自动持久化。读取记忆时仍显示来源和时间,不把旧内容提升为开发者指令。红队测试要在新会话验证攻击是否残留并能否被彻底删除。

模型级识别有价值,但不能成为唯一边界

专门训练、提示层级、注入分类器和第二模型审查可以降低成功率,却不能给出确定性保证。攻击者会使用社会工程、拆分载荷、编码、翻译、角色扮演、长上下文和多模态内容绕过固定模式。安全设计应假定某些攻击最终会让模型相信错误信息,因此秘密不进入不必要上下文,权限按任务收窄,写操作有参数级策略,外发有数据流检查,高影响动作有人确认。模型更新后还需重跑真实攻击集,不能沿用上一版本分数。

权限按工具、动作、对象和数据流收窄

“可访问邮箱”过于宽泛,应拆成列出指定文件夹、读取指定消息、生成本地草稿、展示待确认回复和发送一次已批准邮件。数据库、网盘、支付和部署也按只读、草稿、写入、删除与管理权限分离。参数规则在服务端校验账户、租户、对象、数量、金额、收件人、域名和路径。对可能外发的数据执行源—汇点检查:它从哪里来、是否包含用户或企业秘密、是否确实需要发往当前目标、用户是否看到将发送的内容。

任务合同数据标签权限收窄动作策略数据流门禁和确认回滚组成的Agent控制面
兰塞 AI 原创:防线目标不是要求模型永不受骗,而是让越权动作在模型之外失败。

人工确认要展示事实,而不是只给一个允许按钮

确认界面应显示具体动作、最终目标、关键参数、将发送或覆盖的数据、来源、不可逆影响和可用回滚。不要只问“是否继续”,也不要把攻击者控制的说明当作确认理由。批量动作提供数量与抽样明细,重定向后再次显示最终域名,命令执行显示工作目录和参数。确认只对当前任务哈希和短时间有效;模型、工具或参数改变后自动失效。低风险动作可以预批准,但必须由业务规则明确列出并有配额、监控与随时撤销能力。

网络控制要覆盖 URL、DNS、重定向和隐蔽外发

Agent 的网络白名单不仅比较初始字符串,还要解析协议、主机、端口、DNS 结果、重定向链和下载类型。阻止 localhost、云元数据、私有网段、非预期端口和协议走私。对搜索、图片、预览、错误上报和 webhook 同样检查,因为秘密可能被编码进路径、查询、域名或请求体。允许外网研究的执行器不要同时持有生产秘密;需要下载的文件先进入隔离区,扫描和人工确认后再进入高信任环境。网络日志记录目标与字节规模,但不把秘密原文复制进日志。

秘密管理:不给模型看到就少一个可被偷走的目标

API 密钥、Cookie、会话令牌和私钥存放在凭据代理或秘密系统,由受控工具在调用时注入。模型上下文只看到凭据引用或能力句柄,不能读取明文。令牌绑定单一环境、受众、动作和短时间,任务结束即撤销;测试与生产完全分离。即使攻击者诱导模型打印环境变量,模型也应没有相应读取工具。日志、截图、崩溃回执、下载目录和缓存也要扫描秘密,事故时按最坏情况轮换,而不是等待确认外发成功。

对副作用实施幂等、预算和回滚

提示注入常通过重试制造重复发送、重复订单或重复删除。写工具要求幂等键和期望版本,执行前读回当前状态并保存差异;每个任务设置调用次数、金额、数据量、并发和时间预算。超过预算进入人工处理,不让模型自行拆分规避。可逆动作先生成草稿或隔离副本,不可逆动作需要更强确认。回滚不是一句“支持撤销”,而是实际验证代码、配置、数据、消息队列、外部邮件或支付是否能恢复,并记录无法自动恢复的部分。

日志必须能回答谁读了什么、为何调用、数据去了哪里

审计记录用户任务、Agent 与模型版本、读取来源、内容哈希、信任标签、工具名称、参数摘要、策略决定、确认回执、网络目标、结果和错误。日志本身不能包含完整秘密或过量个人数据,也不能由被审计的 Agent 修改。为同一任务使用关联 ID,把内容摄取、计划、批准、执行和回滚串起来。告警关注来源与汇点异常组合,例如读取新域名后立即外发大量数据、无对应用户任务的写入、频繁被拒绝后改用其他工具或把同一数据编码进多个 URL。

建立四类可复现攻击集,而不是只测一句 Ignore

测试集至少包含邮件、网页、文件和工具输出四类载体,并覆盖显式指令、社会工程、伪造系统通知、编码文本、隐藏文字、拆分载荷、多跳链接、跨 Agent 转发、长期记忆和数据外发。每个用例固定合法用户任务、攻击者可控内容、目标副作用、可用工具、秘密样本、预期拒绝点和清理步骤。测试结果同时记录合法任务是否完成,避免通过关闭所有功能获得虚假安全。攻击文本只在隔离夹具中使用,不发到真实用户或第三方系统。

邮件网页文件工具四类间接提示注入载体的负向测试和复盘闭环
兰塞 AI 原创:攻击测试必须覆盖真实载体、多跳传播和合法任务可用性。

多模态注入不能只检查提取后的纯文本

攻击内容可能藏在图片、二维码、音频、视频字幕、扫描 PDF、图表标签或界面截图中。OCR、视觉模型和语音转写会把它们重新变成模型可读的文字,因此仅在 HTML 输入处过滤并不够。多模态管线应记录原始文件哈希、解析器与模型版本、提取结果、可见区域和置信度,把每种派生文本继续标为不可信。测试要覆盖低对比度文字、旋转与缩放、分帧内容、二维码跳转和图像引导点击,同时确认辅助功能所需的真实标签不会被粗暴删除。任何由图像触发的导航、上传或工具动作仍回到任务与参数门禁。

自传播和多跳攻击需要限制写入下一跳

一种更危险的模式不是一次性让 Agent 做错事,而是诱导它把恶意内容写进邮件、聊天、代码、工单、共享文档或记忆,等待另一个 Agent 再读取。防线要把所有面向他人或未来会话的写入视为传播汇点:发送前展示正文与目标,禁止不透明编码,扫描是否包含来源内容中无任务必要性的指令,并把写入与原任务哈希绑定。测试不仅观察当前 Agent 是否外发,还要让隔离的第二个 Agent 读取产物,验证攻击不会跨会话、跨成员或跨系统继续扩散。清理必须删除所有副本、索引和缓存。

适应性攻击要求循环测试,而不是固定样例考试

攻击者会根据拒绝信息改变措辞、把载荷拆成多步、利用确认疲劳、转换语言或诱导 Agent 调用替代工具。若防守评测只重复公开的几十条固定字符串,模型可能学会样式而没有学会任务边界。评测应将攻击目标、载体、上下文、可用工具与秘密位置分开组合,保留从未用于调试的隐藏集,并让人工与自动红队在明确授权的隔离环境寻找新路径。记录每次尝试而不是只保存最佳结果,比较不同版本的攻击成功、合法任务完成与影响上限,避免升级模型后只看平均分掩盖新出现的高危路径。

设置明确的停机与降级判据

系统必须预先定义何时停止自治,而不是事故发生后临时决定。触发条件可包括检测到注入、来源信任突变、目标域名变化、秘密可能进入上下文、连续策略拒绝、异常数据量、确认参数不一致、工具目录变更、日志中断或无法验证回滚。停机后冻结队列和凭据,保留只读证据,通知责任人;若业务必须继续,只能降级到预先批准的低风险模式,例如生成本地草稿而不发送。恢复需要新版本、定向回归、秘密轮换和责任人签字,不能由同一受污染会话自动解除。

评分要同时看攻击成功、任务成功和影响上限

攻击成功率回答恶意目标是否完成;任务成功率回答防护是否让正常工作仍然可用;影响上限回答最坏情况下可访问的数据、可调用的工具和可恢复性。还要记录检测率、误报、确认次数、人工理解率、撤销时间和残留。单次未攻破没有统计意义,同一场景应跨模型版本、提示变体和不同上下文重复。公开基准能比较趋势,但企业上线结论必须来自自己的工具、数据、权限和业务副作用。任何百分比都要附样本、条件和日期。

发布前用红队、紫队和运行时演练闭环

红队负责尝试绕过任务边界,蓝队检查策略、隔离、监控和响应,紫队把成功攻击转为长期回归用例。每次模型、系统提示、工具描述、MCP 服务器、权限、解析器、浏览器、RAG 数据源或确认界面变化后运行定向测试。至少定期做一次端到端演练:植入隔离注入,观察是否进入上下文、是否被识别、工具是否拒绝、告警是否到达、秘密是否保持不可见、环境是否清理。修复后保留旧失败回执,新建通过回执,不能覆盖历史。

事故处置先阻断外发,再保存证据和轮换秘密

发现异常工具调用、未知外发或任务偏离时,先暂停相关 Agent、令牌、队列和网络出口;保存任务、消息、来源内容、工具参数、策略版本、日志与文件哈希。不要继续让同一 Agent“自行调查”,因为污染上下文可能扩大动作。按可能暴露范围轮换凭据、撤销会话、隔离记忆和索引、撤回消息或回滚数据,并通知受影响所有者。随后定位攻击入口、首次越权动作、检测缺口和影响上限,把真实链条转成回归测试,并明确哪些外部副作用无法完全收回。

普通用户也能降低风险:缩小任务、登录和确认范围

让 Agent 完成具体任务,例如“只总结这三封邮件,不发送、不打开外链”,比“处理今天所有事项”更安全。研究公开资料时退出不必要账户;不要把密码、恢复码或完整客户数据放进对话;看到外发、购买、删除、授权和登录确认时检查最终目标与内容。如果页面或文件声称必须上传秘密、关闭安全功能或忽略用户指令,停止任务并改用人工查看。用户侧做法不能替代产品安全,但能显著缩小一次成功诱导造成的影响。

采购或上线评审要问可验证问题

供应商应说明不可信内容如何标记,模型能看到哪些秘密,工具权限如何拆分,网络如何限制,确认如何绑定参数,是否支持无登录模式、审计、撤销、数据保留与导出,以及模型或连接器升级后怎样回归。不要接受“使用最先进模型”“有内容过滤”作为完整答案。要求在隔离环境演示一个邮件或网页注入场景,查看阻断点与回执;若产品只能给营销截图而不能说明权限与响应边界,应把高风险自主动作保持关闭。

本文结论的适用边界

本文提供威胁建模、系统门禁和验收方法,不代表对任何模型、浏览器 Agent、MCP 服务器或企业部署完成渗透测试。OpenAI、NIST、Google、Microsoft 与 OWASP 的材料用于证明行业定义、评测与分层控制方向;本站原创图和合同是编辑归纳。模型鲁棒性、产品界面、工具权限、地区、价格与安全功能会变化,部署日必须重新打开官方资料并在自己的环境复验。Bing Webmaster、Search Console、排名、流量、点击、CTR、用户和转化均未取数。

来源与汇点风险矩阵

这张表用于确定测试优先级,不表示任何产品已经通过安全认证。只读摘要也可能造成错误决定,但能外发秘密或改变状态的工作流应先拆权与演练。

来源 常见伪装 危险汇点 首要门禁 通过证据
邮件与日历 管理员通知、签名、引用链 回复、转发、附件外发 只读摘要与发送身份分离 恶意正文无法产生发送
网页与搜索 隐藏文字、弹窗、重定向 导航、表单、下载、URL 外发 最终域名和数据流检查 私密样本未离开允许域
文件与代码 批注、OCR、README、日志 命令、写仓库、上传文件 隔离解析、命令白名单和差异审批 越权命令被服务端拒绝
RAG 与记忆 旧规则、污染片段、伪造批准 长期偏好、跨会话动作 溯源、到期、受控记忆写入 新会话无攻击残留
MCP 与多 Agent 工具描述、自由文本响应、转发消息 下一工具调用、跨域外发 模式校验、能力衰减和参数策略 恶意工具响应不能扩大权限

三十项上线验收清单

每项填写环境、版本、输入夹具、预期、实际、证据位置、责任人和复查触发条件。配置截图只能证明某个选项曾经可见,必须用允许与拒绝请求验证运行时行为。

1. 来源清单

列出邮件、网页、文件、RAG、工具、多 Agent 与记忆来源,标记谁可写入、是否跨租户以及内容如何进入模型。测试后保存原始任务、攻击载体哈希、工具与策略版本、实际结果和清理状态;若失败,停止扩大权限并保留失败回执,修复后以新回执重跑。

2. 任务冻结

保存用户批准的任务、对象、动作、目标、期限和禁止项;后续内容不能无确认地改变任务。测试后保存原始任务、攻击载体哈希、工具与策略版本、实际结果和清理状态;若失败,停止扩大权限并保留失败回执,修复后以新回执重跑。

3. 数据通道

不可信文本只进入用户或数据字段,不拼入系统、开发者或策略指令;结构化抽取有类型和长度限制。测试后保存原始任务、攻击载体哈希、工具与策略版本、实际结果和清理状态;若失败,停止扩大权限并保留失败回执,修复后以新回执重跑。

4. 秘密隔离

模型没有读取秘密明文、浏览器 Cookie、宿主环境变量和无关文件的工具;调用时由凭据代理注入。测试后保存原始任务、攻击载体哈希、工具与策略版本、实际结果和清理状态;若失败,停止扩大权限并保留失败回执,修复后以新回执重跑。

5. 只读优先

总结、搜索和分类使用只读身份;回复、提交、删除、付款和权限修改属于不同工具与凭据。测试后保存原始任务、攻击载体哈希、工具与策略版本、实际结果和清理状态;若失败,停止扩大权限并保留失败回执,修复后以新回执重跑。

6. 最小对象

工具参数限制租户、账户、文件夹、仓库、分支、表、字段和收件人,不能靠自然语言自律。测试后保存原始任务、攻击载体哈希、工具与策略版本、实际结果和清理状态;若失败,停止扩大权限并保留失败回执,修复后以新回执重跑。

7. 网络最终目标

检查 DNS、IP、端口、协议与全部重定向;私网、元数据、未知下载和非预期外发默认拒绝。测试后保存原始任务、攻击载体哈希、工具与策略版本、实际结果和清理状态;若失败,停止扩大权限并保留失败回执,修复后以新回执重跑。

8. URL 外发

测试秘密是否能经查询参数、路径、域名、图片、预览、搜索或错误上报静默带出。测试后保存原始任务、攻击载体哈希、工具与策略版本、实际结果和清理状态;若失败,停止扩大权限并保留失败回执,修复后以新回执重跑。

9. 邮件转发

恶意邮件不能让摘要 Agent 转发、回复、删除、下载外链或访问其他邮件;所有发送显示最终明细。测试后保存原始任务、攻击载体哈希、工具与策略版本、实际结果和清理状态;若失败,停止扩大权限并保留失败回执,修复后以新回执重跑。

10. 网页隐藏文本

白底字、ARIA、元数据、评论、弹窗、OCR 和脚本生成文字都作为不可信数据,不提升为指令。测试后保存原始任务、攻击载体哈希、工具与策略版本、实际结果和清理状态;若失败,停止扩大权限并保留失败回执,修复后以新回执重跑。

11. 文件隔离

PDF、Office、图片、压缩包和代码在无网隔离解析,关闭宏与自动执行,限制嵌套和文件体积。测试后保存原始任务、攻击载体哈希、工具与策略版本、实际结果和清理状态;若失败,停止扩大权限并保留失败回执,修复后以新回执重跑。

12. RAG 溯源

每个检索片段保留原页、作者、日期、租户、许可证与哈希;删除和权限变化能传播到索引。测试后保存原始任务、攻击载体哈希、工具与策略版本、实际结果和清理状态;若失败,停止扩大权限并保留失败回执,修复后以新回执重跑。

13. MCP 审核

核对服务器运营方、代码、传输、工具清单、描述、更新和日志;读写凭据与权限完全分离。测试后保存原始任务、攻击载体哈希、工具与策略版本、实际结果和清理状态;若失败,停止扩大权限并保留失败回执,修复后以新回执重跑。

14. 工具响应

远端工具返回的自然语言不能决定下一次高权限调用;只允许经过模式校验的必要字段继续流转。测试后保存原始任务、攻击载体哈希、工具与策略版本、实际结果和清理状态;若失败,停止扩大权限并保留失败回执,修复后以新回执重跑。

15. 跨 Agent 消息

消息带来源、父任务、能力、敏感级和到期;子 Agent 不继承完整上下文、秘密与全部工具。测试后保存原始任务、攻击载体哈希、工具与策略版本、实际结果和清理状态;若失败,停止扩大权限并保留失败回执,修复后以新回执重跑。

16. 长期记忆

普通内容不能写入安全规则、收件人、域名、命令或权限例外;记忆可追溯、到期并可完整删除。测试后保存原始任务、攻击载体哈希、工具与策略版本、实际结果和清理状态;若失败,停止扩大权限并保留失败回执,修复后以新回执重跑。

17. 参数确认

确认界面展示动作、最终目标、数据、差异和不可逆影响,并绑定参数哈希、身份与短时间窗。测试后保存原始任务、攻击载体哈希、工具与策略版本、实际结果和清理状态;若失败,停止扩大权限并保留失败回执,修复后以新回执重跑。

18. 批量抽样

批量发送、修改或删除显示总量、规则、代表样本和排除项;数量变化会使旧批准失效。测试后保存原始任务、攻击载体哈希、工具与策略版本、实际结果和清理状态;若失败,停止扩大权限并保留失败回执,修复后以新回执重跑。

19. 幂等与版本

写操作有幂等键、期望版本和有上限重试;超时不会重复创建订单、发送或删除。测试后保存原始任务、攻击载体哈希、工具与策略版本、实际结果和清理状态;若失败,停止扩大权限并保留失败回执,修复后以新回执重跑。

20. 任务预算

限制调用次数、并发、金额、数据量、外发字节和持续时间;模型不能用拆分动作绕过。测试后保存原始任务、攻击载体哈希、工具与策略版本、实际结果和清理状态;若失败,停止扩大权限并保留失败回执,修复后以新回执重跑。

21. 错误默认

身份、策略、确认、日志或网络控制失败时,高风险动作默认拒绝;只读降级范围事先明确。测试后保存原始任务、攻击载体哈希、工具与策略版本、实际结果和清理状态;若失败,停止扩大权限并保留失败回执,修复后以新回执重跑。

22. 攻击集覆盖

邮件、网页、文件和工具四类载体均含显式、社会工程、编码、拆分、多跳和持久化样本。测试后保存原始任务、攻击载体哈希、工具与策略版本、实际结果和清理状态;若失败,停止扩大权限并保留失败回执,修复后以新回执重跑。

23. 合法任务成功

每个攻击用例同时检查用户合法任务能否完成,避免以关闭全部功能制造虚假安全。测试后保存原始任务、攻击载体哈希、工具与策略版本、实际结果和清理状态;若失败,停止扩大权限并保留失败回执,修复后以新回执重跑。

24. 影响上限

即使模型被说服,也只能接触明确数据和动作;记录最坏可见秘密、外发目标与恢复难度。测试后保存原始任务、攻击载体哈希、工具与策略版本、实际结果和清理状态;若失败,停止扩大权限并保留失败回执,修复后以新回执重跑。

25. 检测告警

异常来源—汇点组合、连续拒绝、域名突变、数据量异常和无原任务写入能触发及时告警。测试后保存原始任务、攻击载体哈希、工具与策略版本、实际结果和清理状态;若失败,停止扩大权限并保留失败回执,修复后以新回执重跑。

26. 日志完整

任务、来源哈希、工具参数摘要、策略、确认、网络目标与结果可串联,Agent 无法删除自己的记录。测试后保存原始任务、攻击载体哈希、工具与策略版本、实际结果和清理状态;若失败,停止扩大权限并保留失败回执,修复后以新回执重跑。

27. 撤销时延

暂停 Agent、令牌、会话、队列、网络和记忆后,用负向请求验证动作确实失败并记录耗时。测试后保存原始任务、攻击载体哈希、工具与策略版本、实际结果和清理状态;若失败,停止扩大权限并保留失败回执,修复后以新回执重跑。

28. 回滚副作用

代码、配置、数据、邮件、支付和外部系统分别说明回滚能力;无法撤回部分进入人工预案。测试后保存原始任务、攻击载体哈希、工具与策略版本、实际结果和清理状态;若失败,停止扩大权限并保留失败回执,修复后以新回执重跑。

29. 变更触发

模型、提示、解析器、工具、MCP、权限、数据源、网络或确认界面变化都会触发相应回归。测试后保存原始任务、攻击载体哈希、工具与策略版本、实际结果和清理状态;若失败,停止扩大权限并保留失败回执,修复后以新回执重跑。

30. 责任与到期

业务、安全和运行负责人分别签字,结论绑定环境与版本,并设复查日期和失效条件。测试后保存原始任务、攻击载体哈希、工具与策略版本、实际结果和清理状态;若失败,停止扩大权限并保留失败回执,修复后以新回执重跑。

官方证据图:NIST 的 Agent hijacking 评测框架

NIST 官方技术博客说明Agent hijacking属于间接提示注入并讨论合法任务与恶意任务评测
NIST 官方技术博客必要局部,访问于 2026 年 10 月 5 日。官方展示不等于本站完成 AgentDojo 或任何产品实测。

该证据图只证明 NIST 官方材料把 agent hijacking 定义为攻击者把恶意指令放进 Agent 会摄取的数据,并强调同时观察合法用户任务与恶意注入任务;它不能证明任一模型或产品对所有攻击免疫,也不能替代读者环境中的端到端验收。

当前一手来源与证据边界

本文未收集真实企业邮箱、私有文件、生产密钥或客户数据,也未对具体厂商产品作安全认证。官方声明、兰塞 AI 编辑归纳与需要部署者复验的结果已分别标示。

继续完成相邻任务

核验日期与发现证据边界

本文于 2026 年 10 月 5 日复核公开一手资料。GitHub pushed_at、页面哈希、监控信号、IndexNow、sitemap、crawler 和 AI citation 只能证明发现、请求、站内成员关系或当时技术可达,不能证明模型事实、收录、排名、曝光、点击、CTR、真实访问、用户或转化。安全结论只覆盖回执写明的任务、模型、工具、权限、数据源、网络和版本。任何环境差异、策略变更或连接器升级,都应重新执行对应攻击夹具、合法任务和撤销清理测试。