mcpField
A
agent-security

agent-security

github.com/wgpsec安全1.8k47 次安装5 天前更新
代码仓库

关于 agent-security

面向 Agent 安全测试人员的方法论,按 OWASP ASI01–ASI10 风险组织架构侦察、攻击测试与检查清单,并涵盖工具、记忆和多 Agent 通信等环节。

主要功能

  1. 01OWASP ASI01–ASI10 风险速查
  2. 02Agent 架构与权限侦察
  3. 03目标劫持及工具滥用测试
  4. 04供应链与代码执行审查
  5. 05记忆投毒和多 Agent 通信测试
  6. 06监控、级联故障与终止机制检查

适用场景

  1. 01评估 Agent 是否会响应注入指令
  2. 02检查工具调用与权限边界
  3. 03审查持久记忆及第三方组件
  4. 04验证多 Agent 消息和终止机制

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/wgpsec/aboutsecurity --skill agent-security

安装后在 Claude Code 中输入/agent-security确认已加载。

附带文件references/agent-attack-scenarios.md

详细介绍

来自项目 README

AI Agent 安全测试方法论

概述

AI Agent 与普通 LLM 应用的本质区别在于自主行动能力——Agent 拥有工具调用、代码执行、持久记忆和多步规划能力,这意味着一次成功的注入不再只是生成错误文本,而是可以触发真实的系统操作。攻击面从"模型输出"扩展到了"工具执行链、Agent 间通信、持久化状态"的全栈。

深入参考


OWASP ASI01-ASI10 风险速查

编号风险名称核心测试要点
ASI01目标劫持直接/间接注入能否改变 Agent 执行目标
ASI02工具滥用未授权工具调用、参数注入、描述投毒
ASI03身份与权限Agent 权限是否遵循最小权限、凭据隔离
ASI04供应链第三方 Skill/Plugin/MCP Server 是否可信
ASI05代码执行沙箱逃逸、任意命令注入
ASI06记忆投毒持久化上下文/历史对话是否可被污染
ASI07多 Agent 通信Agent 间消息伪造、信任传递链漏洞
ASI08级联故障单 Agent 失败是否引发链式崩溃
ASI09人机信任用户是否无条件信任 Agent 输出并执行
ASI10失控 Agent是否存在有效的终止/回滚机制

方法论概览

Phase 0: Agent 架构侦察
  • 识别 Agent 类型(单体 ReAct / 多 Agent 编排 / 代码执行型)和底层框架(LangChain/AutoGen/CrewAI 等)
  • 枚举 Agent 可用工具集、权限边界、通信拓扑(Hub-Spoke / Mesh / 层级)
  • 确认人类监督节点(Human-in-the-loop)的位置和覆盖范围
Phase 1: 目标劫持测试 (ASI01)
  • 通过直接对话和间接数据源(文件、网页、API 返回)注入偏离指令,验证 Agent 是否执行非预期操作
  • 关键判断:Agent 的目标锁定机制是否能抵抗上下文窗口中的对抗性指令
Phase 2: 工具滥用测试 (ASI02)
  • 构造恶意工具参数(路径遍历、命令拼接),测试 Agent 是否盲目传递用户可控输入到工具调用
  • 测试工具描述投毒——恶意描述能否改变 Agent 对工具的使用方式(详见 mcp-security)
Phase 3: 供应链与代码执行 (ASI04/ASI05)
  • 审查第三方 Skill/Plugin/Rules 文件是否包含隐藏指令或后门
  • 代码执行型 Agent:测试沙箱隔离强度,尝试文件系统访问、网络外联、进程逃逸
Phase 4: 记忆投毒与持久化 (ASI06)
  • 向 Agent 的对话历史或长期记忆注入恶意上下文,验证是否在后续会话中被激活
  • 测试记忆的写入/读取权限控制——非特权交互能否修改系统级记忆
Phase 5: 多 Agent 通信安全 (ASI07)
  • 在多 Agent 系统中伪造来自其他 Agent 的消息,测试接收方是否验证消息来源
  • 检查信任传递链:若 Agent A 信任 Agent B,攻击 B 能否间接控制 A
Phase 6: 监控与 Kill Switch (ASI08/ASI10)
  • 验证级联故障:单个 Agent 异常输出是否被下游 Agent 无条件信任并放大
  • 测试终止机制(Kill Switch)的有效性——Agent 在失控状态下能否被可靠中断

实战检测清单

1. [ ] Agent 类型与架构已识别?工具集、权限模型、通信拓扑已枚举?
2. [ ] 目标劫持:间接数据源注入能否改变 Agent 执行流?
3. [ ] 工具滥用:用户输入是否直接拼接到工具参数?
4. [ ] 权限边界:Agent 是否运行在最小权限下?凭据是否隔离?
5. [ ] 供应链:第三方组件是否经过安全审计?
6. [ ] 代码执行:沙箱是否能阻止文件/网络/进程访问?
7. [ ] 记忆系统:是否有写入权限控制?历史是否可被投毒?
8. [ ] 多 Agent:消息来源是否验证?信任传递链是否可被利用?
9. [ ] 级联故障:异常是否被隔离?是否存在全局 Kill Switch?

参考资源

评论

支持 Markdown