AEGIS:无工具调用可免检——AI代理的预执行防火墙与审计层
大家读完觉得有帮助记得有帮助记得关注和点赞摘要。 AI代理越来越多地通过外部工具采取行动它们查询数据库、执行shell命令、读写文件以及发送网络请求。然而在当前大多数代理技术栈中模型生成的工具调用会直接传递给执行层中间没有任何与框架无关的控制点。执行后观察性可以记录这些操作但无法在副作用发生之前阻止它们。我们提出了Aegis一个用于AI代理的预执行防火墙和审计层。Aegis介入工具执行路径并应用一个三阶段的流水线(i) 从工具参数中深度提取字符串(ii) 内容优先的风险扫描以及 (iii) 可组合的策略验证。高风险调用可以被挂起以待人工批准所有决策都记录在基于Ed25519签名和SHA-256哈希链的防篡改审计跟踪中。在当前实现中Aegis通过轻量级集成支持跨Python、JavaScript和Go的14个代理框架。在一个精心策划的包含48个攻击实例的测试套件上Aegis在执行前阻止了套件中的所有攻击在500个良性工具调用上其误报率为1.2%在1000次连续拦截中其增加了8.3毫秒的中位延迟。现场演示将展示对良性、恶性和需要人工升级的工具调用的端到端拦截允许与会者观察实时拦截、审批工作流和审计跟踪生成。这些结果表明AI代理的预执行仲裁可以是实用的、低开销的并且可直接部署。关键词 AI代理安全工具调用拦截LLM防护栏运行时合规性AI审计图1AEGIS 概览。SDK层对14个代理框架进行插桩以拦截工具调用。网关运行一个三级处理流水线产生“允许/阻止/挂起”三种决策。挂起的调用将被路由到合规驾驶舱等待人工审查。所有跟踪记录都会被记录到一个基于Ed25519签名和SHA-256哈希的防篡改审计跟踪中。1. 引言AI代理不仅仅生成文本它们还执行操作。ReAct 表明LLM可以将推理与工具调用交错进行而Toolformer 则证明了模型可以学会自主调用API。现代框架如LangChain, CrewAI, 和LlamaIndex已使这种模式被广泛采用支持工具调用的代理正迅速进入与数据库、文件系统和云基础设施交互的生产部署。然而这些能力创建了一条从模型输出到现实世界副作用的直接路径——这条路径可能被对抗性提示注入或幻觉推理触发。在目前大多数技术栈中一旦模型发出一个工具调用框架会将其转发很少或根本没有预执行仲裁这意味着单个精心构造的注入可以在任何人察觉之前升级为数据销毁或凭证泄漏。激励示例。 考虑一个被要求“总结客户反馈”的代理。嵌入在用户提供内容中的提示注入导致模型发出以下工具调用execute_sql(SELECT * FROM users; DROP TABLE audit_log; --)如果没有在模型和数据库之间的执行层框架可能会将此调用直接传递给执行。Langfuse 和 Arize 等可观测性平台可以记录该事件但只能在操作尝试后进行。对于使用工具的代理执行后日志记录 ≠ 预执行控制。AI代理执行中的安全缺口。 这个缺失的控制点很重要。最近的研究记录了工具调用代理的多种风险包括提示注入、不安全工具使用和间接攻击面。然而现有系统主要集中在执行后可观测性或离线评估。仍然缺乏的是一个与框架无关的、能在副作用发生前在运行时执行路径上仲裁工具调用的层。提议。 我们提出了Aegis一个用于AI代理的预执行防火墙和审计层。Aegis在模型的工具调用决策和底层执行层之间插入一个与框架无关的仲裁点。在任何副作用发生之前系统从工具参数中提取包含字符串的内容执行内容优先的风险扫描应用可组合的策略检查并返回三种决策之一允许、阻止或挂起。高风险调用可以升级给人工审查员所有决策都记录在防篡改审计跟踪中。本文做出了四项贡献模型无关的拦截我们提出了一个与框架无关的拦截层通过轻量级集成在14个Python、JavaScript和Go框架中将预执行仲裁插入现有的代理技术栈。内容优先的执行流水线我们设计了一个运行时执行流水线结合了递归参数提取、基于模式的风险检测和缓存的JSON Schema策略验证用于工具调用仲裁。人在环路的安全控制我们将运行时阻止与人工批准和防篡改审计相结合实现了实时干预和合规性审查。开放系统和现场演示我们发布了开源实现并提供了一个面向演示的评估展示了对精心策划的48个攻击实例的完全阻止在500个良性工具调用上1.2%的误报率以及8.3毫秒的中位拦截延迟。2. 系统概述与威胁模型威胁模型。 我们将LLM视为不可信组件它可能由于间接提示注入、幻觉推理或越狱攻击而生成有害的工具调用。SDK和网关是受信任的执行组件。代理框架和外部工具被视为执行目标不应信任其提供自己的预执行仲裁。Aegis不防御完全绕过SDK的攻击例如在检测到的客户端之外直接发出的工具或API调用。架构概述。 Aegis由四个主要组件组成用于客户端拦截的SDK层、用于运行时执行的网关、用于跟踪完整性的防篡改审计层以及用于监控和人工审查的合规驾驶舱。SDK在执行前拦截tool_use调用并将其转发给网关。然后网关运行一个三阶段流水线——深度字符串提取、基于内容的风险扫描和策略验证——并返回三种决策之一允许、阻止或挂起。挂起的调用被路由到合规驾驶舱进行人工批准。所有决策和相关元数据都记录在防篡改审计层中。2.1 SDK层透明的工具调用插入SDK通过运行时检测拦截LLM API响应。当响应包含tool_use块时SDK提取工具名称和参数将其发送到网关并暂停执行直到返回决策。现有的代理代码保持不变如列表1所示。列表1最小的Aegis集成。import agentguard agentguard.auto() # 补丁所有检测到的SDK # 所有现有的代理代码保持不变地运行当前实现支持9个Python框架、4个JS/TS框架和Go。2.2 网关三阶段执行流水线网关是一个轻量级的服务器端执行服务在工具调用到达底层执行层之前对其进行仲裁。网关返回三种决策之一允许、阻止或挂起。每个代理的滑动窗口速率限制器提供额外保护。阶段1深度字符串提取从工具参数中递归提取所有字符串值深度为32上限10,000个字符串以防止拒绝服务。如果发生截断调用将被保守地标记为可疑。阶段2基于内容的风险扫描提取的字符串与7个类别中的22个检测模式进行匹配。分类遵循严格优先级参数内容 工具名称关键词 服务器端覆盖。网关不单独依赖客户端提供的元数据这降低了危险调用被重新标记以规避特定类别策略的风险。阶段3策略验证与决策分类后的调用根据可组合的策略进行评估。每个策略都是通过AJV编译一次并缓存以避免每次请求重新编译的JSON Schema。策略也可以用自然语言辅助编写集成的LLM将策略描述翻译成JSON Schema规则。表1检测模式覆盖范围22种模式7个类别。类别数量覆盖的技术SQL注入7OR/UNION, 盲注, 十六进制编码, 字符串拼接, 堆叠查询路径遍历4../, URL编码, 双重编码, 空字节Shell注入4元字符, curl/wgetURL,${IFS}分割, 进程替换提示注入317种子模式忽略/忘记/越狱/DAN模式/绕过/角色扮演敏感文件214个路径passwd, shadow, .ssh, .aws, .kube, .terraform, .env数据外泄1有效载荷 ≥5KB 外部URLPII泄露111种类型电子邮件, 社会安全号码, 信用卡, API密钥, JWT令牌, 数据库连接字符串, AWS资源名称人工审查路由对于挂起的决策SDK暂停执行并轮询操作员决策。代理完全暂停不执行任何工具也不进行进一步的LLM调用。审查员然后在合规驾驶舱中检查工具名称、完整参数和风险信号并选择允许或阻止。一旦做出决定代理会在一个轮询周期内恢复。2.3 防篡改审计层每个跟踪都使用每个代理的Ed25519密钥签名并链接到SHA-256哈希链中其中每个记录都提交到其前驱。因此对任何条目的事后修改都会使链失效并可以在离线验证期间被检测到。此审计层记录执行决策和审查元数据便于后续合规性检查和取证导出。2.4 合规驾驶舱合规驾驶舱是一个基于Web的操作仪表板用于实时活动监控、高风险操作的批准队列、异常摘要、会话级跟踪检查以及面向合规性的导出和报告工具。操作功能包括在多次违规后自动撤销访问、可配置的警报钩子以及用于下游合规性审查的取证导出。3. 评估我们从三个维度评估Aegis(1) 攻击阻止覆盖率(2) 运行时开销以及 (3) 良性工具调用的误报。图2按类别统计的被拦截攻击实例。在本文使用的精心策划的测试套件中Aegis拦截了全部48次攻击。3.1 攻击覆盖率我们首先评估Aegis是否可以在运行时执行路径上拦截和阻止已知的攻击模式。我们的评估使用了一个精心策划的包含7个类别的48个攻击实例的套件。这些实例源自OWASP和先前代理安全基准中记录的技术。在相应的实现级检查中所有116个单元测试都通过了。在此策划套件上Aegis在执行前阻止了所有48个攻击实例。图3针对7个攻击类别的示例性比较。AgentDojo和ToolEmu是面向评估的系统而Aegis执行运行时仲裁。3.2 拦截延迟接下来我们测量端到端的开销包括SDK提取、HTTP往返、分类和策略评估超过1000个连续工具调用。Aegis增加了8.3毫秒的中位延迟P95和P99延迟分别为14.7毫秒和23.1毫秒。这些值相对于典型的LLM推理延迟来说很小在交互式代理设置中LLM推理延迟通常大约在1,000毫秒到30,000毫秒之间。实际上引入预执行仲裁不会实质性地改变用户感知的响应速度。图41000次工具调用的延迟分布。中位延迟8.3毫秒P95延迟14.7毫秒P99延迟23.1毫秒——相对于LLM推理而言可忽略不计。3.3 误报分析为了评估在良性工作负载上的保守性我们在从类似生产的工作流中采样的500个良性工具调用上评估Aegis。Aegis产生了6个误报。所有六例都源于具有触发基于OR注入模式的分离WHERE谓词的合法SQL查询。实际上这些情况可以通过服务器端工具特定覆盖来缓解而无需全局禁用相应的策略。局限性。 当前评估涵盖了已知的攻击类别但并不详尽。当前的基于规则和策略的流水线可能会错过先前未见过的攻击变体在更大、更多样化的基准上进行评估仍然是未来的工作。4. 案例研究实时攻击拦截我们通过一个连接到SQL数据库和文件系统的、由Claude驱动的研究代理的实时端到端设置来展示Aegis。场景。 用户提交“总结评论表中的反馈。”代理生成一个良性的SELECT查询Aegis将其分类为低风险并允许。接下来第二个用户提交包含嵌入注入的对抗性输入。代理随后产生一个破坏性工具调用Aegis在执行前拦截并阻止在此示例中决策在6.2毫秒内返回。代理收到阻止信号而不是查询结果并告知用户请求被拒绝。完整的跟踪包括被阻止的参数和风险分类记录在防篡改审计跟踪中并可以导出为PDF报告。图5测试代理用户界面中的实时拦截。用户提交了一个SQL注入攻击AEGIS拦截了该调用代理并得体地解释了请求被拒绝的原因。5. 演示场景现场演示涵盖三个场景最小集成我们向一个由Claude驱动的代理添加agentguard.auto()。与会者发出查询并观察工具调用实时出现在合规驾驶舱中。攻击拦截与会者提交对抗性输入并观察网关阻止每次攻击并显示详细风险信号。人在环路批准一个高风险操作进入挂起工作流。与会者审查调用选择允许或阻止并观察代理恢复或停止。6. 相关工作代理安全基准ToolEmu 模拟工具执行以进行基于LLM的风险评分AgentDojo 研究动态环境中的提示注入InjecAgent 对工具集成任务中的间接提示注入进行基准测试。这些系统主要设计用于评估和风险测量而不是在运行时执行路径上进行仲裁。相比之下Aegis对实时工具调用强制执行预执行控制。LLM可信度TrustLLM 和 TrustEval 在模型层面评估可信度。Aegis解决技术栈的不同层面它在运行时对代理操作执行信任边界模型输出在此处转换为具体的工具调用。表2与现有平台的对比。✓ 支持✗ 不支持。系统预执行拦截策略引擎人工审查审计追踪框架无关性Langfuse✗✗✗✓✓Helicone✗✗✗✓✓Arize✗✗✗✓✓ToolEmu✗✗✗✗✗AgentDojo✗✗✗✗✗InjecAgent✗✗✗✗✗AEGIS✓✓✓✓✓表格说明预执行拦截能否在工具调用实际执行前进行阻止。策略引擎是否提供可配置的策略验证机制。人工审查是否支持高风险操作挂起并等待人工审批。审计追踪是否提供操作记录和审计功能。框架无关性是否支持多种代理框架而非绑定于单一框架。可观测性平台Langfuse, Helicone, 和 Arize 为LLM应用程序提供跟踪、监控和分析。这些平台提高了工具调用发出或执行后的可见性但它们不提供可以在副作用发生前阻止或升级调用的、与框架无关的预执行执行层。Aegis通过直接在运行时执行路径上运行来补充此类系统。7. 结论与未来方向我们提出了Aegis一个预执行拦截网关通过将使用工具的AI代理视为不可信主体来提高其操作安全性。当前的开源实现支持14个框架阻止了我们策划套件中的所有48次攻击并增加了15毫秒的中位开销。未来方向。 当前基于规则的设计推动了几项后续步骤(1) 基于学习的异常检测使用离群点检测 的行为分析取代正则表达式模式以捕获新的攻击变体(2) 推理链验证检查LLM的思维链与其实际工具调用之间的一致性(3) 多代理级联分析监控一个代理的输出成为另一个代理输入时的风险传播(4) 自适应信任评分根据每个代理的行为历史自动调整批准阈值。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2440096.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!