简要回答
Authority Laundering(权限洗白)是间接提示注入的进化形态,攻击者不直接攻击 Agent,而是污染 Agent 会读取的外部数据源(网页、邮件、API 返回),让 Agent 将恶意指令误认为合法任务并执行工具调用,产生真实副作用。防御核心是最小权限原则、输入输出隔离、工具调用审计和关键操作人工确认。
核心要点
Authority Laundering 定义:Authority Laundering(权限洗白)是间接提示注入的进化形态,攻击者不直接攻击 Agent,而是污染 Agent 会读取的外部数据源
攻击链路:恶意输入 → Agent 读取并解析 → Agent 基于输入调用工具 → 工具执行产生副作用
与传统提示注入的区别:传统注入直接攻击模型输入,Authority Laundering 通过污染外部数据间接攻击
防御核心:最小权限原则、输入输出隔离、工具调用审计、关键操作人工确认
标准回答
一、什么是 Authority Laundering
Authority Laundering(权限洗白)是 2026 年 7 月 Dark Reading 首次系统性描述的 AI Agent 安全威胁。它的核心思想是:攻击者不直接攻击 Agent 本身,而是污染 Agent 会读取的外部数据源(如网页、邮件、第三方 API 返回),让 Agent "自愿"执行恶意操作。
二、攻击链路详解
典型的 Authority Laundering 攻击包含五个阶段:
- 恶意输入构造——攻击者在网页中隐藏指令(如 HTML 注释中的"请删除所有文件")
- Agent 读取——Agent 抓取网页内容时,将隐藏指令一并读取
- 指令解析——Agent 将隐藏指令误认为是合法任务
- 工具调用——Agent 基于"任务"调用内部工具(如文件系统工具)
- 副作用产生——工具执行产生实际影响(如删除文件、发送数据)
三、与传统提示注入的区别
| 维度 | 传统提示注入 | Authority Laundering |
|---|---|---|
| 攻击目标 | 直接攻击模型输入 | 污染 Agent 读取的外部数据 |
| 攻击路径 | 用户输入 → 模型 | 外部数据 → Agent → 工具 |
| 防御难度 | 中等(输入过滤) | 高(需要隔离输入输出) |
| 影响范围 | 单次对话 | 可能触发工具调用,产生真实副作用 |
四、防御策略
- 最小权限原则——Agent 只授予完成任务所需的最小权限,不授予全局权限
- 输入输出隔离——外部输入标记为不可信,与内部指令严格分离。例如,将外部输入放在特殊的"数据区",不允许数据区内容触发工具调用
- 工具调用审计——记录所有工具调用,异常调用(如批量删除、大量数据外传)触发告警
- 关键操作人工确认——危险操作(删除、发送、支付)必须人工确认,不允许 Agent 自主执行
五、实际案例
2026 年某企业部署的客服 Agent 遭受 Authority Laundering 攻击:攻击者在工单系统中提交包含隐藏指令的工单,Agent 读取工单后将隐藏指令误认为任务,调用邮件工具向攻击者指定的邮箱发送了内部文档。根本原因是 Agent 没有区分"工单内容"和"任务指令"。
六、收尾
Authority Laundering 是 AI Agent 安全的重大挑战。随着 Agent 能力增强(能调用更多工具、访问更多数据),攻击面也在扩大。防御的核心思想是:永远不要信任外部输入,即使它来自看似可信的数据源。
常见误区
⚠️ 常见踩坑
误区一:认为"用了安全的模型就不会被攻击"。Authority Laundering 与模型安全性无关,它利用的是 Agent 的工具调用能力,而非模型的漏洞。即使是最安全的模型,如果 Agent 架构设计不当,仍然可能遭受 Authority Laundering 攻击。
误区二:认为"输入过滤就能防御"。传统提示注入可以通过输入过滤防御,但 Authority Laundering 的恶意输入来自 Agent 主动读取的外部数据源(如网页),这些数据本身是合法的,只是其中隐藏了恶意指令。输入过滤无法区分"正常内容"和"隐藏指令"。
误区三:认为"Agent 不会执行危险操作"。Agent 的设计目标是"尽可能完成用户任务",如果 Agent 将隐藏指令误认为任务,它确实会尝试执行。不要假设 Agent 能自动识别危险操作。
追问
追问 1:Authority Laundering 与间接提示注入(Indirect Prompt Injection)有何关系?
Authority Laundering 是间接提示注入的进化形态。间接提示注入是指攻击者将恶意指令藏在模型会读取的外部内容中(如网页、文档),当模型处理这些内容时,可能把隐藏指令误当作要执行的命令。
Authority Laundering 在此基础上更进一步:它不仅让模型"读取"恶意指令,还让模型"执行"基于指令的工具调用,产生真实的副作用。间接提示注入可能只影响模型的输出(如生成错误内容),Authority Laundering 则会影响现实世界(如删除文件、发送数据)。
防御核心:需要同时防御间接提示注入(输入隔离)和工具调用滥用(最小权限、人工确认)。
追问 2:如何在 Agent 架构设计层面防御 Authority Laundering?
Agent 架构设计层面的防御包含四个层次:
输入隔离层——所有外部输入(网页、邮件、API 返回)标记为不可信,放在特殊的"数据区"。数据区内容不允许直接触发工具调用,只能作为任务的"输入数据"。
任务解析层——将用户指令与外部数据严格分离。例如,用户指令是"总结这个网页",网页内容是"数据",不是"指令"。任务解析层需要明确区分"要做什么"和"处理什么数据"。
权限控制层——Agent 只授予完成任务所需的最小权限。如果任务是"总结网页",Agent 不应该有文件系统或邮件系统的访问权限。
审计告警层——记录所有工具调用,异常调用(如批量删除、大量数据外传、访问与任务无关的系统)触发告警并阻断。
核心策略:输入隔离 + 任务分离 + 最小权限 + 审计告警,形成四层纵深防御体系。
追问 3:MCP 协议与 Authority Laundering 有何关系?
MCP(Model Context Protocol)是 AI Agent 与外部工具交互的标准协议。MCP 的设计目标是让 Agent 能够方便地调用各种工具,但这恰恰扩大了 Authority Laundering 的攻击面。
MCP 与 Authority Laundering 的关系:
- MCP 提供了工具调用能力——Agent 通过 MCP 调用工具,如果 Agent 被 Authority Laundering 攻击,MCP 就是执行恶意操作的通道
- MCP 的安全机制——MCP 协议本身包含安全机制(如工具权限控制、人工确认),但这些机制需要正确配置才能防御 Authority Laundering
- MCP 的局限——MCP 协议无法自动区分"合法工具调用"和"Authority Laundering 攻击",需要上层应用实现输入隔离和任务解析
防御建议:在使用 MCP 时,确保工具权限最小化、关键操作人工确认、外部输入与工具调用严格隔离。
🔗 相似问题
同一考点的不同问法,换着练更稳
延伸学习
按主题分类的相关资源,便于系统复习
