title: 250501-AI 代理已经到来,威胁也随之而来 description: Palo Alto Networks Unit 42 的深度安全研究,梳理 AI 代理应用的 9 类攻击场景与防御思路 author: Jay Chen, Royce Lu source: https://unit42.paloaltonetworks.com/agentic-ai-threats/ date: '2025-05-01' category: 05-security-compliance tags: AI安全 提示注入 代理安全 漏洞研究 Palo Alto Networks AI 代理已经到来,威胁也随之而来 作者:Jay Chen, Royce Lu 原文:查看原文 执行摘要 所谓
title: 250501-AI 代理已经到来,威胁也随之而来 description: Palo Alto Networks Unit 42 的深度安全研究,梳理 AI 代理应用的 9 类攻击场景与防御思路 author: Jay Chen, Royce Lu source: https://unit42.paloaltonetworks.com/agentic-ai-threats/ date: '2025-05-01' category: 05-security-compliance tags: - AI安全 - 提示注入 - 代理安全 - 漏洞研究 - Palo Alto Networks
作者:Jay Chen, Royce Lu
原文:查看原文
所谓 AI 代理应用,是指借助智能体自主收集信息并执行动作,以完成特定目标的应用程序。随着这类系统在真实业务中越来越常见,理解它们的安全影响就不再是可选项。本文研究了攻击者可能如何针对 AI 代理应用发起攻击,并总结出九类具体场景,后果涵盖信息泄露、凭证窃取、工具滥用和远程代码执行等。
为了评估这些风险是否具有普遍性,研究团队分别用 CrewAI 和 AutoGen 两个开源代理框架,实现了两套功能相同的应用,并对它们执行同样的攻击。结果表明,大多数漏洞和攻击路径基本与具体框架无关,更常见的根源是不安全的设计模式、错误配置,以及不安全的工具集成,而不是框架本身存在缺陷。
研究还为每一种攻击场景整理了对应的防御思路,并分析了这些措施各自的有效性与局限性。为方便复现和后续研究,作者也在 GitHub 上公开了相关源代码和数据集。
需要特别说明的是,CrewAI 和 AutoGen 本身并不是“有漏洞的框架”。这项研究真正揭示的是一类系统性风险:它们主要来自语言模型在面对提示注入时的天然限制,以及工具集成中的错误配置或安全缺口,而不是某个特定框架单独造成的问题。
AI 代理是一类软件系统,能够从环境中自主收集信息、处理信息,并采取行动来实现特定目标,而不需要人工逐步干预。这类系统通常由 AI 模型驱动,其中最典型的是大语言模型(LLM),负责推理、规划和决策。
AI 代理的关键特征,在于它能够把模型与外部能力连接起来,并自主决定何时调用这些能力。这里的“能力”通常体现为工具,例如 API、数据库或外部服务,用来完成模型本身无法直接完成的具体任务。
一个典型的 AI 代理架构通常包括:
由于 AI 代理通常建立在 LLM 之上,它天然会继承 OWASP LLM Top 10 中提到的多类风险,例如提示注入、敏感数据泄露和供应链漏洞。但与传统 LLM 应用相比,AI 代理还会进一步接入由不同语言和框架实现的外部工具,因此攻击面会明显扩大。
这些外部工具会把经典软件安全问题重新带回智能体系统,比如 SQL 注入、远程代码执行和访问控制失效。再叠加代理与外部系统、甚至物理世界交互的能力,安全问题就不再只是“模型会不会答错”,而是系统边界能否承受真实攻击。
根据 OWASP 的 Agentic AI Threats and Mitigations 指南,主要威胁包括:
为了研究 AI 代理的安全风险,作者用两个流行的开源代理框架——CrewAI 和 AutoGen——分别构建了一个多用户、多代理的投资顾问助手。
这套投资顾问助手由三个协作代理组成:
| 攻击场景 | 描述 | 威胁类型 | 缓解措施 |
|---|---|---|---|
| 识别参与代理 | 暴露代理列表及其角色 | 提示注入、意图破坏 | 提示强化、内容过滤 |
| 提取代理指令 | 提取系统提示和任务定义 | 提示注入、通信中毒 | 提示强化、内容过滤 |
| 提取工具模式 | 获取工具的输入 / 输出模式 | 提示注入、通信中毒 | 提示强化、内容过滤 |
| 未经授权访问内部网络 | 利用 Web 阅读器访问内部资源 | SSRF、工具滥用 | 工具输入清理、网络隔离 |
| 挂载卷数据泄露 | 读取并外传挂载卷中的文件 | RCE、数据泄露 | 代码执行器沙箱 |
| 元数据服务令牌泄露 | 访问并泄露云服务账户令牌 | 身份欺骗、RCE | 沙箱、元数据服务限制 |
| SQL 注入 | 通过 SQL 注入提取数据库内容 | 工具滥用、数据泄露 | 输入清理、参数化查询 |
| BOLA 攻击 | 通过操纵对象引用访问他人数据 | 访问控制破坏 | 严格授权检查 |
| 间接提示注入 | 通过恶意网页泄露对话历史 | 提示注入、数据泄露 | 内容过滤、输出清理 |
在代理指令中明确禁止:
部署运行时检测机制:
将多层保障措施组合起来:
AI 代理应用带来了更强的自动化能力,也把系统安全问题推到了更靠前的位置。这项研究说明了三件事:
因此,在构建 AI 代理应用时,安全不应是上线前补上的一层检查项,而应从设计阶段就被当作一等约束纳入系统方案。
研究团队:
开源代码:https://github.com/PaloAltoNetworks/stock_advisory_assistant