adithyan-ak/AgentHound
Offensive security framework for AI agent infrastructure - recon, credential looting, model exfiltration, poisoning, and attack-path analysis across MCP, A2A, gateways, and AI services. BloodHound for the agentic stack.
AgentHound – 面向 AI-代理基础设施的进攻性安全框架
是什么 – AgentHound 是一个开源工具,允许红队操作员枚举、验证并攻击现代 LLM 驱动的助手(Claude、Cursor、VS Code 扩展、Ollama、LiteLLM、Qdrant、MLflow、Jupyter 等)所依赖的整个“代理栈”。它从被攻陷主机的立足点启动,收集配置文件、密钥和可访问的 AI 服务,重用任何发现的凭据,验证真实访问权限,并将所有信息存储为单一的、带检查点的 JSON 资产。可选的服务器可摄入该资产,并通过 Web UI 展示基于图的攻击面,包括凭据链、执行和数据外泄路径,以及风险评分。
核心工作流
- 在被攻陷机器上部署静态收集器(单个二进制文件,无数据库或运行时依赖)。
- 运行
agenthound scan– 收集器收集本地代理配置、环境密钥、回环服务,以及(可选)网络范围。它会指纹识别 AI 服务,重用任何捕获的 API 密钥或令牌,并执行 验证过的 读取(先匿名,再凭据化)以证明访问权限。 - 生成 JSON 资产,其中包含每个凭据、服务指纹、访问证明,以及每一步后的检查点。
- (可选)在另一台机器上启动分析服务器,摄入资产,通过 Web UI 探索基于 Neo4j 的攻击图。该图展示可访问资源、执行能力、数据外泄路径、跨协议跳板,以及被污染的指令文件。
主要功能
| 功能 | 说明 |
|---|---|
| 立足点优先的自主收集 | 无需远程数据库,即可提取本地代理配置文件、指令文件、环境变量、回环服务,以及显式提供的网络范围。 |
| 原始凭据捕获与重用 | 将 API 密钥、承载令牌、Jupyter 令牌、主密钥等具体密钥去重存储,并立即尝试在同一次扫描中发现的任何兼容服务上使用。 |
| 基于证明的访问验证 | 先执行匿名读取;若失败,则使用凭据重试。凭据读取成功即记录为 扫描期间已验证 的证据。 |
| 可逆的主动验证 | 对于 ContextForge 管理的工具,写入临时标记,通过 MCP 读回,再恢复原始状态,在继续前确认回滚成功。 |
| 全谱系代理表面映射 | 检测并列出 MCP、A2A、十二种代理-客户端配置格式、模型网关、推理服务器、向量存储、模型注册表、笔记本和 Web 界面,作为单一连接的目标集。 |
| 深度服务与模型智能 | 列出 Ollama 模型、modelfiles、提示;提取 LiteLLM 凭据引用;枚举 MLflow 实验;发现 Qdrant 集合;检查 Jupyter 会话。在 深度 模式下,可调用受限的 Ollama 嵌入请求以证明计算访问权限。 |
| 原生图的攻击路径分析 | 服务器构建 Neo4j 图,链接信任、认证、凭据重用、工具能力与观测证据。操作员可查询可达性、执行、外泄、冒名、污染等。 |
| 访问丢失的容错性 | 收集器在每次有意义操作后对资产进行检查点;若变更失败,将回滚并可从最后一个检查点恢复。 |
操作模式
| 模式 | 行为 |
|---|---|
agenthound scan(默认) |
活动收集:凭据重用、MCP 验证、可逆的 ContextForge 验证,以及(如适用)模型调用。 |
agenthound scan --deep |
添加递归指令发现、受限的 Qdrant 点读取,以及 Ollama 嵌入验证等高成本服务探测。 |
agenthound scan --stealth |
只读收集:不进行跨目标凭据重用、不调用模型/工具、不进行任何变更。仅执行匿名和精确配置读取。 |
agenthound scan --stealth --deep |
与 stealth 相同,但保持非交互式收集的同时仍执行深度文件系统读取。 |
快速开始(来自 README)
# 安装静态二进制文件(macOS/Linux,amd64/arm64)
curl -sSfL https://raw.githubusercontent.com/adithyan-ak/agenthound/1.1.1/install.sh \
| AGENTHOUND_VERSION=1.1.1 sh
export PATH="$HOME/.local/bin:$PATH"
# 从立足点运行基本扫描
agenthound scan --output scan.json
# 可选:使用 Docker Compose 启动分析服务器
curl -sSfL https://raw.githubusercontent.com/adithyan-ak/agenthound/1.1.1/docker/docker-compose.public.yml \
-o agenthound-compose.yml
docker compose -f agenthound-compose.yml -p agenthound up -d --wait
docker compose -f agenthound-compose.yml -p agenthound exec -T agenthound \
agenthound-server ingest - < scan.json
# 打开 UI
open http://127.0.0.1:8080
扫描结果
| 发现类型 | 解答的问题示例 |
|---|---|
| 已验证凭据访问 | 哪个具体密钥证明了对哪个 MCP 资源的访问? |
| 凭据链路径 | 捕获的 API 密钥如何将代理配置与模型网关连接? |
| 可达性 | 根据当前信任和认证链接,可以访问哪些服务? |
| 执行路径 | 哪些代理可以调用 shell 或数据库工具? |
| 外泄路径 | 敏感数据可以发送到环境外的哪些位置? |
| 跨协议跳板 | A2A 委托能否用于访问向量存储? |
| 指令污染 | 哪些指令文件包含提示注入或污染上下文的证据? |
| 工具伪装 / 路径劫持 | 是否存在外观相似的工具可能劫持预期能力? |
| 未认证表面 | 哪些服务在无任何凭据的情况下暴露数据? |
| 风险热点 | 哪些节点或路径具有最高影响评分? |
安全与 OPSEC 注意事项(来自 README)
- 仅限授权使用 – 仅在您拥有或获得明确授权的系统上运行。
- 活动模式 执行凭据重用和可逆变更;如需隐蔽,使用
--stealth进行只读收集。 - 硬排除(
--exclude)可防止意外与您不希望接触的主机或 URL 交互。 - 即时恢复 – 任何变更在下一步前都会被撤销;若清理失败,资产会记录状态,可安全重试。
- 明文证据 – JSON 资产包含原始密钥和响应;Web UI 默认隐藏,但可点击显示。
文档与贡献
- 完整文档: https://docs.agenthound.io
- 快速入门、扫描器、CLI、攻击路径、部署和安全指南均在
docs/文件夹中。 - 可添加模块以支持新服务;参见
CONTRIBUTING.md和docs/contributing/modules.md。 - 许可证为 Apache-2.0;漏洞报告请发送至
SECURITY.md。
总结 – AgentHound 是一个专为现代 LLM 驱动助手设计的进攻性框架,将它们视为联网攻击面。它自动化凭据收集、基于证明的验证和图级分析,为红队提供单一资产和可视化 UI,以理解并利用整个代理栈。
相关
- 项目
- 项目
- 项目
- 项目
- 项目