什么是智能体安全
前言
智能体安全是防范智能体使用风险以及针对智能体应用威胁的实践。它包括对智能体自身及其交互系统进行安全防护,确保智能体按预期运行,不被利用以实施恶意行为。
智能体是一类人工智能系统,其设计目标是通过规划、决策以及调用外部工具实现自主运行。防范外部网络攻击以及智能体自身产生的非预期行为至关重要。由于智能体人工智能是一个快速发展的领域,其威胁态势也会随着技术发展实时演变。
智能体的一个典型特征是具备工具调用能力,即它们能够连接至应用程序编程接口、数据库、网站或其他工具,并在需要时加以使用。工具调用通常通过人工智能智能体框架与应用程序编程接口来统筹实现。
从理论上讲,智能体借助工具来拓展自身能力,从而规划并完成复杂任务。例如,客服智能体可以先与客户进行交互,再接入内部数据库以调取该客户的购物记录。
多智能体系统更进一步,通过整合多个智能体,将复杂任务拆解为更小的单元进行分配。中央规划智能体负责管控智能体工作流程,而执行智能体则完成各自被指派的任务部分。
自主人工智能决策与工具调用相结合,形成了范围广泛的双重攻击面。黑客可操控智能体行为,使其滥用工具,或通过SQL注入等更传统的攻击手段直接攻击工具本身。人工智能智能体安全旨在保护自主人工智能系统免受这两类威胁的侵害。 智能体威胁态势
与独立人工智能模型(如大语言模型)或传统软件应用相比,智能体人工智能系统存在更多类型的安全漏洞。即便没有攻击者介入,若智能体缺乏合理管控、未配备明确的安全防护准则、权限设置与访问控制机制,其自身也会带来安全风险。
智能体威胁态势
智能体面临的威胁态势包括:
-
攻击面扩大
-
高速自主行动
-
推理能力不可预测
-
缺乏透明度
攻击面扩大
智能体通常会被集成至包含应用程序接口、数据库、云端系统乃至其他智能体的大型系统中。智能体系统中的每个组件都存在一系列自身的安全漏洞。攻击者可利用多种工具和攻击手段,针对智能体工作流程中的潜在薄弱环节发起攻击。
高速自主行动
智能体自动化意味着智能体无需接收人类用户的明确指令即可自主行动。智能体能够高速执行操作,并有可能与其他同时进行同类操作的智能体相互协同。一旦攻击者成功攻陷某个智能体或整个智能体系统,这些智能体的每一项操作及其输出都将成为攻击切入点与攻击放大载体。
不可预测的推理
推理是大语言模型及其他生成式人工智能模型(包括智能体)做出决策的过程。简而言之,它们通过统计建模,针对任意输入“推断”出最有可能的输出结果。由于推理具有概率性,模型的输出无法被完全预测,这会给智能体的行为带来不确定性。
因此,网络安全服务提供商无法精准预判智能体的行为。相较于传统网络安全技术,这种不可预测性加大了智能体威胁防护工作的复杂程度。
缺乏透明度
许多人工智能模型,例如OpenAI的GPT系列模型以及Anthropic的Claude,均非开源模型。人们无法“深入模型内部”去探究其做出决策的逻辑。即便开源模型,鉴于模型生成输出的过程本身具有复杂性与不透明性,也无法实现完全透明。
从事智能体系统相关工作的网络安全人员,在开展根本原因分析以及制定事件响应方案时,可能会面临更大的困难。
智能体漏洞
智能体威胁态势的多面性带来了一系列可供攻击者利用的漏洞。
智能体安全漏洞包括:
-
提示词注入
-
工具与应用程序编程接口操纵
-
数据投毒
-
记忆投毒
-
权限泄露
-
身份认证与访问控制欺骗
-
远程代码执行
-
攻击级联故障与资源过载
提示词注入
提示词注入是所有大语言模型(LLM)最严重的漏洞之一,并非仅存在于智能体中。但在智能体场景下,该风险会被放大,因为智能体能够自主执行操作。在提示词注入攻击中,攻击者向大语言模型输入对抗性内容,指令其以非预期方式运行。攻击者可指示智能体无视安全与伦理准则、发送钓鱼邮件、泄露数据或滥用工具。
间接提示词注入攻击会将恶意提示词隐藏在智能体的数据源中,而非直接输入给模型。当智能体调用外部网站等数据源时,恶意提示词便会传递给模型。能够处理多种数据类型的多模态智能体尤其容易遭受此类攻击——智能体可处理的每一种数据形式都是潜在的攻击载体。
目标操纵与智能体劫持(ASI01)
目标操纵和智能体劫持通常是提示词注入攻击所追求的结果。在目标操纵中,攻击者通过改变智能体的目标或思维过程,调整其处理任务与做出决策的方式。智能体劫持则是一种攻击手段,攻击者会迫使智能体执行非预期操作,例如访问敏感数据。
工具与API操控(ASI02)
智能体以其使用工具和连接应用程序编程接口的能力而闻名。但这种能力同时也是一个安全漏洞。攻击者通常通过提示注入手段,诱骗智能体滥用其所连接的工具。
工具滥用可能导致数据泄露,即智能体将敏感的用户数据泄露给攻击者;或是引发分布式拒绝服务攻击,此时智能体将其外部连接(指对工具、API接口的连接)转化为攻击武器。在这类攻击中,智能体协同发起大量连接请求涌向目标网络,使其不堪重负并被迫中断服务。
数据投毒(ASI04)
数据投毒是指向智能体的训练数据集或外部数据源中注入恶意数据。数据决定了智能体的学习、推理与行为方式,破坏其训练数据或数据输入会导致意外行为,例如数据泄露。
例如,代码智能体可能会调用外部代码库进行参考。Slopsquatting(由“AI垃圾内容AI slop”与“ typo squatting”组合而成的合成词)是指有人故意注册与合法代码库名称相近的代码库名称,其目的是让模型意外从伪造库中提取部分代码,并将其加入生成的代码中。
与工具滥用一样,数据投毒也是供应链攻击的组成部分,即攻击者渗透并破坏AI智能体所处的周边系统。
记忆篡改(ASI06)
记忆篡改是指对智能体的持久化记忆进行破坏,即篡改其保存的、用于了解自身近期行为状态的数据。记忆篡改攻击旨在通过改变智能体对过往行为的认知,来操控其后续行为。
权限泄露 Privilege compromise(ASI03)
位于自动化工作流核心的智能体拥有系统权限,使其能够访问完成指定任务所需的数据与工具。若未对智能体进行监控,其可能会保留或被授予超出实际需求的过度权限。
当智能体不再需要这些权限时若未予以回收,这些权限便不再具备实际价值,但仍会构成潜在的攻击面。攻击者可利用智能体的权限发送信息、执行交易、为自身提升权限、篡改系统、读取敏感数据等。 身份认证与访问控制欺骗(ASI03) 若攻击者成功窃取智能体凭证,便可伪装成这些智能体,入侵该智能体拥有访问权限的系统。伪造智能体身份后,攻击者将获得与该智能体完全相同的权限——智能体能够执行的任何操作,未经授权的用户如今也可照做。
脆弱的身份认证协议结合机器学习技术,会导致攻击者在初始入侵后快速实现横向移动,即进一步深入网络内部。横向移动为数据窃取、钓鱼攻击、恶意软件分发等多种攻击行为打开了通道。攻击者还可篡改智能体的运行方式,使其后续行为发生改变。
远程代码执行(RCE)攻击(ASI05)
远程代码执行(RCE)是一种网络攻击,攻击者可从异地向目标系统注入恶意代码。借助智能体程序,攻击者能够让智能体运行恶意代码,从而获取代码执行环境的访问权限。一个常见的现实案例是,攻击者从已被入侵的智能体主机系统中窃取用户凭证。
级联失效与资源过载(ASI08)
级联失效和资源过载均会导致智能体系统陷入瘫痪。在多智能体系统中,当一个受损智能体的输出对网络中的下一个智能体产生负面影响,并持续传导直至整个系统瘫痪时,便会发生级联失效。
资源过载类似于针对智能体的分布式拒绝服务攻击:攻击者以超出智能体处理能力的大量请求使其不堪重负,有可能彻底破坏其运行时状态。从终端用户的视角来看,依托智能体运行的应用程序会呈现出瘫痪状态。
智能体安全措施
尽管威胁态势广泛且复杂多变,但自主型人工智能系统可通过有效的应对措施与AI安全护栏实现安全防护。采取主动安全策略,并遵循当前漏洞管理的最佳实践,能够帮助机器学习与网络安全专业人员保障智能体的安全,领先于极具谋划性的网络犯罪分子。 智能体安全最佳实践包括:
-
上下文感知认证:上下文感知认证(Context-aware authentication)使得智能体仅在用户被授权访问数据时才能检索该数据。访问权限可根据智能体的角色、权限乃至具体时段进行动态调整。
-
提示词加固:向大语言模型下达严格且受限的指令,使其几乎没有被误读的空间。通过将智能体的行为约束在有限范围内,机器学习系统设计者能够有效限制攻击者诱骗智能体执行非预期操作的能力。提示词加固技术包括禁止智能体泄露其指令,以及让智能体自动拒绝任何超出其限定范围的请求。
-
提示词验证(Prompt validation):提示词验证会在提示词被传递给智能体之前,依据预设规则对其进行检查。这一做法也被称为提示词净化或输入验证,有助于保护智能体免受提示词注入攻击。同理,若智能体遭到入侵,其输出内容在使用前也应经过验证。
-
对抗训练:对抗训练通过在训练数据中混入欺骗性输入,使模型能够识别潜在的攻击行为。对抗训练目前仍在持续发展中,尚未形成一套标准的训练方案。
-
零信任架构
-
最小权限原则
-
数据加密
-
微分段
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)