乐于分享
好东西不私藏

AEGIS:面向智能体工具调用的安全护栏

AEGIS:面向智能体工具调用的安全护栏

大多数AI Agent框架中,模型生成的工具调用被直接传递给执行层,中间没有任何拦截点。

这意味着一旦模型决定调用删除文件、发送邮件或访问数据库,没有任何机制能在副作用发生前阻止它。

事后审计可以记录这些操作,但文件已经删了、邮件已经发了、数据已经泄露了。

这不是某个框架的设计缺陷,而是当前Agent技术栈的结构性问题。

AEGIS的出现说明了一件事:预执行拦截不是可选项,而是Agent安全架构的必需层。

https://arxiv.org/pdf/2603.12621

执行路径上缺失的那道检查才是真正的风险点

你现在用的Agent框架,无论是LangChain、AutoGPT还是其他主流方案,工具调用的流程基本是这样的:

模型生成工具调用 → 框架解析参数 → 直接执行

中间没有框架无关的控制点。

问题不在于框架没有安全意识,而在于它们把安全能力内置在各自的实现里。

这导致三个结构性缺陷:

  1. 你无法在不修改框架代码的情况下统一管控所有工具调用
  2. 每次换框架或升级版本,安全策略要重新适配
  3. 跨语言、跨框架的Agent应用无法共享同一套防护机制

AEGIS的核心价值不是发明了什么新算法,而是在执行路径上插入了一个框架无关的拦截层。

它支持14个Agent框架(Python、JavaScript、Go),集成方式是在工具执行前进行拦截,而不是修改各个框架的内部逻辑。

Aegis 概览。SDK 层集成了 14 个代理框架,用于拦截 tool_use 调用。网关运行一个三阶段流程(提取、扫描、策略),生成允许/阻止/待定决策。待定调用路由至合规驾驶舱进行人工审核。所有跟踪记录均以防篡改的审计跟踪形式保存,并带有 Ed25519 签名和 SHA-256 哈希值。

这意味着你可以用同一套策略保护所有Agent应用,无论它们用什么框架实现。

在48个精心设计的攻击实例中,AEGIS全部拦截成功。这不是因为它的检测算法多先进,而是因为它站在了正确的位置——执行之前。

8.3ms延迟和1.2%误报率不是调参调出来的

很多人看到”预执行拦截”的第一反应是:这会不会严重拖慢Agent响应速度?会不会频繁误杀正常调用?

AEGIS在1000次连续拦截中,中位延迟增加8.3ms。

在500个良性工具调用上,误报率1.2%。

这两个数字说明了一件事:预执行拦截的工程难点不在”要不要做”,而在”怎么做到既快又准”。

AEGIS的方法是三阶段管道,每个阶段解决不同层次的问题:

第一阶段:深度字符串提取

从工具参数中提取所有字符串内容,包括嵌套结构、编码后的数据、序列化对象里的字段。

这不是简单的参数遍历。很多攻击会把恶意内容藏在JSON的深层嵌套、Base64编码后的字段、或者对象序列化后的属性里。

如果只检查表层参数,这些攻击会直接穿透。

第二阶段:内容优先的风险扫描

对提取出的字符串进行风险扫描,检测SQL注入、命令注入、路径遍历、敏感信息泄露等模式。

注意这里是”内容优先”,而不是”规则优先”。

传统WAF的问题是规则库越来越庞大,但新型攻击总能绕过已知规则。AEGIS的扫描逻辑是理解内容的语义风险,而不是匹配固定特征。

第三阶段:可组合的策略验证

根据你定义的策略决定是放行、拦截还是升级人工审批。

策略可以组合,比如”删除操作必须在白名单目录内”+”涉及用户数据的操作必须人工审批”+”单次调用金额超过1000元必须暂停”。

这三个阶段的设计哲学是:前两阶段做技术判断,第三阶段做业务判断。

技术判断可以自动化且延迟极低,业务判断需要人介入但只在必要时触发。

这就是为什么它能做到8.3ms延迟——大部分调用在前两阶段就完成了检查,只有高风险操作才会进入第三阶段的人工审批流程。

防篡改审计追踪解决的不是记录问题而是信任问题

很多人会问:现有的日志系统不就能记录工具调用吗?为什么还需要专门的审计追踪?

因为普通日志可以被修改、删除、伪造。

当Agent出现安全事故时,你需要证明三件事:

  1. 这个调用确实发生过(不是事后伪造的)
  2. 调用的参数和结果没有被篡改
  3. 审批流程(如果有)是真实有效的

AEGIS使用Ed25519签名和SHA-256哈希链构建审计追踪:

每次拦截决策(放行/拦截/等待审批)都会生成一条记录,用私钥签名。

每条记录包含前一条记录的哈希值,形成不可篡改的链式结构。

这意味着任何人无法在事后修改某次拦截决策,也无法删除中间某条记录而不被发现。

当高风险调用被暂停等待人工审批时,审批决策也会被记录在链上。

如果事后发现某个审批有问题,你可以准确追溯到是谁在什么时间批准了什么操作,以及当时的完整上下文。

这不是为了甩锅,而是为了建立可问责的决策链条。

现在该做什么

如果你的团队已经部署了Agent应用,需要立即评估现有技术栈中是否存在预执行拦截层。

具体检查三点:

  1. 模型生成的工具调用是否会经过框架无关的控制点?
  2. 这个控制点能否在执行前拦截,而不只是事后记录?
  3. 拦截策略是否可以跨框架、跨语言统一管理?

如果三个问题的答案都是”否”,你的Agent应用现在处于裸奔状态。

对于新项目,应该在架构设计阶段就把预执行拦截层作为必选组件。

不要等到第一次安全事故发生后再补救。那时候你会发现,事后加装拦截层的成本远高于一开始就设计进去。

AEGIS的开源实现提供了一个可参考的工程方案,但更重要的是它揭示的架构原则:

Agent的安全边界不在模型训练阶段,也不在提示词工程层,而在工具执行路径上。

那道缺失的检查,才是你真正该关注的风险点。

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » AEGIS:面向智能体工具调用的安全护栏

猜你喜欢

  • 暂无文章