AI Agent失控警报安全风险与应对之道
分类: 安全资讯
时间:2025-09-28 13:03:37
浏览:64次
评论:0
摘要:AI Agent时代来临,但安全风险频现:从GitHub漏洞到恶意指令劫持,AI智能体面临输入不可信、权限过高、输出失控等四大安全缺陷。传统防御手段效果有限,字节跳动推出AgentArmor框架,将AI行为编译为可验证程序,通过程序依赖图与类型系统,在风险发生前精准识别并拦截,确保AI Agent安全运行。
# AI Agent时代已来,但“失控”风险近在眼前
继LLM(大语言模型)之后,AI Agent(智能体)正掀起新一轮的技术革命。它们不再仅仅是语言的“复读机”,而是能够自主理解、规划并执行现实世界任务的“行动派”。从自动预订旅行、管理复杂的云资源,到处理成千上万封邮件,AI Agent展现出的巨大潜力,预示着一个由AI驱动的自动化新纪元。
然而,在这片充满希望的蓝海之下,一股汹涌的暗流正在涌动。
## 安全事件频发:AI Agent的“失控”警报
**2025年5月**,AI安全公司Invariant披露了一个有关GitHub MCP集成的严重漏洞。攻击者可通过在公共存储库中放置恶意问题,劫持开发者的AI Agent(如Claude Desktop中的Claude 4 Opus),诱导其主动泄露私有仓库的数据。这种“中毒代理流”攻击完全绕过了GitHub的权限系统,导致用户隐私和商业机密信息泄露。
**2025年8月**,AI搜索独角兽Perplexity打造的AI浏览器Comet中被发现存在一个严重安全漏洞。Comet本质上是一款能够代替用户完成浏览器操作的AI Agent,攻击者将恶意指令隐藏在Reddit帖子里,AI Agent自动读取并执行登录邮箱、获取验证码、将Cookie和token回传给攻击者的操作,造成信息窃取,整个过程仅需150秒,无需用户点击。
**2025年8月**,AI编程工具Cursor被发现存在高危漏洞“CurXecute”(CVE – 2025 – 54135)。攻击者可利用其对MCP协议实现的缺陷,通过第三方服务器发布恶意消息,诱导AI执行任意命令,实现远程代码执行。
这些攻击事件无不指向一个核心问题:AI Agent的“失控”并非偶然,背后潜藏着哪些深层的驱动因素?
## 深挖“失控”根源:揭开AI Agent安全挑战的本质

AI Agent通常是由LLM驱动、与现实世界的工具及知识库进行交互的智能代理,具备深度推理、自主决策和动作执行的能力。与传统软件的静态运行逻辑相比,AI Agent具有极高的动态适应性和行动自主性。
然而,AI Agent复杂的技术架构与自主工作模式使其暴露出四大安全缺陷:
### 输入端——过度依赖不可信环境输入
AI Agent运行时需要从外部环境(如邮件系统、论坛、GitHub等)获取各类信息,但这些环境可被攻击者渗透,导致恶意指令以环境注入的方式进入AI Agent系统,成为攻击向量的起点。
### 规划端——自然语言媒介的模糊二义性
AI Agent以自然语言作为工作媒介,而自然语言本身存在模糊性,无法清晰区分指令与数据、可信与不可信来源,这使得攻击者可利用该特性实施LLM劫持,干扰AI Agent的正常决策。
### 行动端——以过高权限访问并操纵用户资源
为了完成用户委托的任务,AI Agent必须访问数据库、凭证、信息资产等用户敏感数据,这种直接接触使得敏感信息在AI Agent处理过程中面临被窃取、滥用、篡改的风险。
### 输出端——对外输出缺乏有效管控
AI Agent拥有向外部世界自由输出信息的能力,可通过邮件、评论、云盘等多种渠道传递内容,一旦被劫持,攻击者可利用此弱点窃取敏感信息、破坏信息完整性甚至实施资金盗取等行为。
当这些缺陷被攻击者利用时,AI Agent面临前所未有的安全挑战,典型安全威胁包括但不限于:
- **跨站注入劫持**:攻击者向办公协作软件(如日历、云盘、会议等)或在线媒体服务(如外卖软件等)注入恶意指令,劫持AI Agent以达成攻击者预先设定的恶意目标(如删除重要文件、窃取商业机密等)。
- **金融欺诈**:攻击者在交易记录(如水电费、信用卡账单)、商品详情和评论等载体中注入恶意指令,诱导AI Agent执行未经授权的支付或不符合用户需求的消费操作,以达成攻击者设定的资金盗取、消费诱导目标,或使AI Agent做出欠佳的消费选择(如选择价格虚高的酒店)。
- **工具投毒**:攻击者通过篡改或注入恶意内容至MCP (Model Context Protocol) 工具的描述信息,误导AI Agent对工具功能、使用场景、参数要求等形成错误认知(如delete_all工具可快速清理冗余文件,无需确认直接执行),致使AI Agent在调用工具时执行不符合预期的操作,偏离用户真实需求或造成潜在危害。
一个严峻的问题摆在面前:如何确保AI Agent不会“失控”?
## 传统防御“治标不治本”,为何难以束缚AI Agent?
面对AI Agent新兴的安全挑战,人们尝试了多种传统防御手段,但效果不尽人意。
### 内容过滤
如同给AI Agent戴上“关键词口罩”,基于已知攻击模式进行启发式拦截。然而,工作在AIGC对话之上,对AI Agent的丰富行为上下文缺乏捕捉和理解能力;并且,面对新型攻击手法与零日攻击时,易被绕过。
### 安全扫描
类似给AI Agent做“体检”,通过检测已知的安全漏洞模式,对AI Agent、MCP等代码和运行环境进行排查。然而,它如同戴着固定的“检测眼镜”,在缺乏AI Agent运行时上下文的前提下,尺度难以把控。若标准过度严格,容易对正常样本造成误判;若标准过度宽松,则可能对恶意代码漏查,难以在两者之间寻得平衡。
### 访问控制
这相当于为AI Agent戴上一个“安全手铐”,把其权限约束在“最小必要”且能完成任务的范围内,控制它与外部环境资源的访问交互。然而,传统的身份与访问控制遵循静态设计,难以适配AI Agent的功能通用性、场景多样性、细粒度交互。例如,虽然在单个用户场景中(如总结邮件),AI Agent仅需被赋予最小权限(如邮箱只读不发);但为全面支撑多样化任务,AI Agent出厂时又需开放极高权限(覆盖邮件、云盘、数据库、代码仓库等全资源访问)。这种矛盾使传统的身份与访问控制机制失效,AI Agent因此暴露于安全风险中。
### 执行隔离
将AI Agent的规划与行动环节分开,如同在“大脑”和“手脚”之间设立屏障。看似安全了,实则牺牲了效率。这就好比让一个人手脚和大脑之间的神经信号传递变慢,做事自然变得迟钝;或者开车时频繁踩刹车,遇到复杂路况根本没法灵活应对,最终导致任务完成得又慢又差。
这些传统方案的根本缺陷在于,将AI Agent等价于传统软件,将AI Agent行为视为遵循固定逻辑的无智能机械实体,既未深入解析AI Agent“思考”与“行动”的动态过程,更无法在其动态生成的复杂行动计划付诸实施前,开展结构化、可验证的安全分析。
我们需要一种全新的范式,从根本上改变游戏规则。
## AgentArmor:将Agent行为“编译”为可验证的程序

为了从根源上解决AI Agent的安全困境,字节跳动安全研究团队提出了全新的智能体安全框架——Jeddak AgentArmor。
**AgentArmor的设计哲学**——将AI Agent运行时的行为轨迹,视为一段可分析、可验证的结构化程序。
这一视角彻底扭转了局面。它意味着,我们可以将对模糊、善变的“自然语言”的分析,转变为对精确、严谨的“程序语言”的分析。如此一来,过去几十年在软件工程领域积累的成熟技术和思路,如程序分析和软件验证,便可直接应用于AI Agent安全领域。
如果说传统安全方案是在给一辆“黑盒”汽车安装外部护栏和摄像头,那么AgentArmor则是直接拿到了这辆车的“设计蓝图”和“电路图”,在汽车每次失控前,能精准剖析出问题部件与步骤,并从根源处阻止、缓解、响应风险点。

为了实现这一技术目标,AgentArmor设计了三大核心组件:
### 图构建器 (Graph Constructor)
负责将AI Agent运行时线性的行为轨迹实时转换为一个结构化的程序依赖图(Program Dependency Graph),捕获控制流和数据流,让AI Agent的“思维链”与“行为链”一目了然。
### 属性注册表 (Property Registry)
一个丰富的安全元数据库,负责为图中的每一个节点(工具、数据)附加安全属性。对于未知的未知工具、MCP、三方服务等,自动挖掘其数据操作流程,生成对应安全等级。
### 类型系统 (Type System)
类型即“安全等级”,类型系统将在程序依赖图上自动推导新节点的安全等级,并执行基于安全等级的策略校验,在风险行为发生前精准识别,并给出风险响应建议,如升密、降密、告警、拦截等。

在AI Agent工作时,AgentArmor首先借助图构建器,将AI Agent运行过程中的执行轨迹迅速且精准地转化为程序依赖图,从而清晰呈现其控制流与数据流。接着,依靠属性注册表进一步完善程序依赖图,不仅详细添加AI Agent调用工具的内部数据流细节,还为程序依赖图中的数据节点与行为节点设置初始类型,以此赋予各节点安全属性。最后,通过类型系统全面完善整个图中的类型标签,并严格对程序依赖图开展类型检查,以切实防止任何不安全的操作出现,确保AI Agent的运行安全。
值得一提的是,AgentArmor类型系统中囊括了三大类型,满足用户与社会对于AI Agent在不同侧面上的安全期待