AgentGuard:给智能体工具调用行为带上“紧箍咒”

前言

智能体(Agent)具备深度语义理解与自主决策能力,可在无人工干预的前提下,自动调度工具链以执行复杂任务。当前,这一技术正加速渗透并重塑我们的日常生活。然而,过强的自主性也带来了新的安全风险。当攻击者将恶意指令嵌入 Agent 会处理的外部数据源(如网页、邮件或文档)时,大语言模型往往难以区分网页数据与指令,进而将其误认为合法请求,并在后续调用相关工具时执行恶意操作,最终导致隐私泄露甚至任意代码执行。

Anthropic近期也发布了Zero Trust for AI Agents安全框架[1],在其中强调,Agent访问控制和权限管理、执行轨迹可观测性和审计、和运行时行为监控与响应是确保Agent安全性的关键步骤之一。

基于此,我们提出了AgentGuard,一套面向工具调用型智能体的轻量级访问控制框架。AgentGuard 能够无缝集成到现有智能体系统中,用户可通过可视化界面,以表单化方式根据实际需求灵活配置安全规约;系统则对工具调用请求与安全规约进行匹配,对未授权或高风险调用进行识别与拦截,并完整记录执行轨迹,从而支持事后审计与安全溯源。

目前,AgentGuard 已正式开源:https://github.com/WhitzardAgent/AgentGuard

智能体安全防护现状

现阶段的智能体安全防护策略主要有以下两类:

  • 模型恶意意图识别与拦截:通过模型微调增强底层 LLM 的鲁棒性,或基于 LLM 的思考过程识别并拦截潜在恶意意图
  • 工具调用行为拦截:在工具调用阶段,基于工具调用轨迹执行预定义安全策略,从而对高风险工具调用进行识别与拦截

考虑到模型微调通常具有较高的训练与部署成本,且部分模型无法获取完整的思考过程,我们更倾向于从工具调用行为层面对 Agent 进行防护。然而,如下图所示,现有基于工具调用行为的防护方案虽然能够覆盖部分安全需求,但仍缺乏一套统一框架,能够同时满足 Anthropic Zero Trust for AI Agents[1] 安全框架中提出的访问控制、行为监控与执行审计等多方面需求。

基于上述问题与需求,我们提出了 AgentGuard,其具有如下核心特性:

  • 细粒度访问控制策略,覆盖多种安全风险:基于属性的访问控制策略,同时支持单工具调用风险检测,与多工具链调用过程中的潜在安全威胁识别。
  • 可视化安全规约与审计能力:提供可视化界面用于安全规约配置,并完整记录 Agent 执行轨迹,从而支持事后审计与安全溯源。
  • 支持多种运行时行为监控与响应机制:支持基于规则的检测、基于 LLM 的语义审计,以及人工审计三种方式协同工作。
  • 无缝适配现有智能体框架:支持 LangChain、AutoGen、OpenAI SDK 等主流 Agent 框架,可低成本集成到现有系统中。

AgentGuard 架构

如下图所示,AgentGuard 采用客户端—服务端分离架构:客户端负责捕获智能体的工具调用请求,并将相关上下文发送至服务端;服务端则负责对这些请求进行安全审计与策略决策。

  • 在客户端,AgentGuard以低侵入方式集成到不同智能体中,仅需插入少量代码即可完成接入,无需修改智能体运行逻辑。
  • 在服务端,AgentGuard提供可视化前端界面,用户可以通过表单填写形式灵活配置安全策略,并对智能体运行状态进行实时审计。
  • 在运行时,AgentGuard结合规则检测、大模型检测与人工审核等多种机制,对单工具与跨工具安全风险进行识别与拦截。

结语

AgentGuard 现已正式开源,欢迎各位开发者与研究人员进行体验、交流,并提出宝贵意见。未来,我们计划兼容更多的主流智能体框架并支持多智能体系统的防护能力。

项目地址:https://github.com/WhitzardAgent/AgentGuard

项目负责人

戴嘉润老师,研究方向为智能系统安全,在IEEE S&P、USENIX Security、ACM CCS、NDSS等国际顶级会议上发表多篇论文,面向多类型智能系统研制安全测评、安全攻防与安全治理工具,在大模型智能体、智能设备等关键目标上累计挖掘千余例零天漏洞和缺陷,研究工作得到美国福布斯、英国独立报等媒体报道,获多项国内外安全攻防赛事冠军、上海市技术发明奖一等奖、上海市决策咨询研究成果奖一等奖等奖项,长期服务上海市数字政务系统的安全治理。

联系邮箱:jrdai@fudan.edu.cn