用途
agentic-app-audit 用于对已部署的 AI 智能体做黑盒安全审计,审计对象是智能体面向用户的产品界面,而不是它背后可检查的 MCP 服务器或工具定义。核心威胁模型是:智能体是一个拥有真实操作权限的“混淆代理”(confused deputy);攻击目标不是让它说什么,而是让它以自身权限、替他人执行某个动作。因此,缺陷的判定依据是“被执行的动作”以及“借用了谁的身份”。
资料明确区分了它与两个相邻技能的分工:llm-redteam 攻击模型的文本行为;mcp-server-audit 审计可检查的服务器与工具定义;本技能则通过产品界面,把部署后的智能体当作黑盒来攻击。
主要能力
技能由快速排除清单、信号路由表和攻击类别三部分组成。
快速排除清单用于筛选出可用的攻击面:危险工具所需确认步骤攻击者无法满足,则仅记为信息级;记忆“投毒”只影响自身会话且会重置,则不成立;工具调用只涉及本人数据或本人范围,则无跨租户影响;工具列表泄露但全部只读且按用户隔离,则只算信息披露。
信号路由表把观察到的产品能力映射到对应攻击手法:智能体摘要用户提供的文档或 URL 时,尝试间接注入与不可见 token 夹带;智能体带“抓取/浏览 URL”工具时,尝试工具误用导致 SSRF,并用带外监听器确认;智能体有持久记忆或“记住这个”能力时,尝试跨会话记忆投毒;智能体用用户文本调用下游工具时,尝试混淆代理或参数注入到 SSRF、命令、SQL 等汇聚点;多智能体互相通信时,尝试智能体间 IDOR;智能体能发送、支付或删除时,探测是否存在未确认的破坏性操作。
攻击类别包括六类:
- 工具调用劫持(ASI02):注入指令,使智能体用攻击者控制的参数调用工具(例如在抓取 URL 时同时请求云元数据地址)。用带外回调确认工具确实可达,而不是只看到渲染出的字符串。
- 跨会话记忆投毒(ASI06):以身份 A 向智能体持久记忆或 RAG 植入唯一标记,再以身份 B 开启新会话并提问以触发存储上下文;若 B 输出 A 的金丝雀,即为跨租户记忆泄漏(高/严重)。缺少身份切换与金丝雀验证则不算发现。
- 经由已连接工具的混淆代理(ASI02/ASI03):智能体持有用户不具备的凭证或权限范围,诱导其用这些凭证执行用户无权执行的动作(读取仅管理员可见记录、访问内部端点),并须证明特权结果确实返回,而不仅是“尝试过”。
- 智能体间 IDOR(ASI07):在多智能体产品中,让智能体 A 通过 id/句柄引用或返回智能体 B 的会话或上下文,跨上下文读取即跨租户披露。
- 过度代理(ASI08):在产品声称需要人工确认的前提下,驱动发送邮件、转账、删除等不可逆操作并绕过确认关卡;缺陷在于关卡缺失,须证明动作已完成。
- 权限失陷(ASI03):智能体实际权限超出当前用户角色,枚举存在的工具后调用当前角色本不应可用的工具。
ASI 分类映射统一引用 llm-redteam 技能中的 ASI01–ASI10 表,本技能不重复定义。
使用方式
资料未提供安装命令、运行命令或具体操作步骤(暂未提供)。可确认的流程要点是:按路由表选择攻击手法,执行后用确定性判据确认,并记录完整对话轮次序列,以便复现攻击链。
验证纪律
技能要求每项结论都有确定性判据:带外回调(证明工具可达)、跨身份金丝雀(证明记忆或 IDOR 跨用户)、仅授权角色可见的特权记录。凡涉及跨租户,必须使用两个身份——最常见的不成立原因,就是只用自身数据做了验证。破坏性操作须证明动作真实发生(或使用项目允许的安全金丝雀等价物),不能写“本可以”。
适用场景与限制
适用于已上线、具备工具调用、持久记忆、多智能体协作或发送/支付/删除能力的 AI 智能体产品的安全测试与漏洞验证。限制在于:仅针对部署后的黑盒产品面,不替代对 MCP 服务器和工具定义的审计;无法绕过产品确认步骤的攻击面只记为信息级;缺乏双身份或确定性判据的观察不会被认定为有效发现。