Token导航 LogoToken导航

MCP Server · 安全风控

MCP Asd

MCP-ASD是一个Burp Suite扩展,用于识别、映射和测试Model Context Protocol(MCP)服务器的攻击面,支持SSE、WebSockets和HTTP POST协议,适用于安全审计和渗透测试。

stdio官方级别未说明来源级核验工具 0
安全审计Java渗透测试

快速开始

作者 / 组织
hoodoer
提供方
hoodoer
运行时
Python

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

28

仓库热度

收录来源

1 个

MCP World

选型结论

MCP Asd 属于安全风控类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前要先准备 OAuth 授权。

分类

安全风控

传输方式

stdio

认证方式

OAuth 授权

部署方式

公开资料未说明

安装与配置

安装命令

python3 mcp_server.py

客户端配置示例

{
  "mcpServers": {
    "mcp-asd": {
      "command": "python3",
      "args": [
        "mcp_server.py"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

MCP攻击面探测器(MCP-ASD)

版本:1.0.2

MCP-ASD是Burp Suite扩展(Montoya API),旨在识别、映射和测试模型上下文协议(MCP)服务器的攻击面。

它在Burp的同步测试工具(中继器、入侵者、扫描器)和MCP连接的异步、持久性(SSE和WebSockets)之间架起了一座桥梁。这允许安全专业人员使用标准的web测试工作流审核MCP工具、资源和提示。

特性

  • 多协议支持: 完全支持服务器发送事件(SSE)、WebSockets(ws/wss)和仅HTTP POST传输(适用于不支持GET/SE的服务器)。
  • 端点自动发现: 自动检测MCP端点,包括检测需要身份验证的受保护端点。
  • 攻击面计数: 自动发现并可视化工具、资源和提示,包括参数的模式提取。
  • 同步桥接: 通过处理异步ID关联和会话管理,实现Burp Repeater和Intruder的无缝使用。
  • 原型生成: 根据发现的工具模式自动生成有效的JSON-RPC有效载荷。
  • 身份验证和mTLS: 支持自定义HTTP头(OAuth承载令牌、API密钥)和mTLS客户端证书(PKCS#12)。
  • 本地集成: 报告发现MCP服务器直接发送给Burp 目标 和 仪表盘.
  • 高级检测: 包括对已发现域上的MCP服务器进行被动监视和主动探测。
  • 身份验证网关检测: 通过识别指向身份验证端点的重定向模式(包括URL编码的origurl参数)来检测身份验证网关(Zscaler、OAuth、SAML、SSO)后面的MCP端点。

安装

先决条件

  • Java JDK 17+
  • Burp Suite专业版或社区版(2023.12.1+)

从源头构建

_注意:在以下位置有一个预编译的.jar:_\ https://github.com/hoodoer/MCP-ASD/releases/tag/v1.0

git clone https://github.com/your-repo/mcp-asd.git
cd mcp-asd
./gradlew shadowJar

生成的JAR将位于 build/libs/mcp-asd.jar.

加载扩展

  1. 打开Burp套房。
  2. 导航至 扩展 -> 已安装.
  3. 点击 添加.
  4. 选择 Java 并浏览到生成的 mcp-asd.jar.

用法

1.连接管理

  • 使用 新建连接 MCP-ASD选项卡中的按钮连接到服务器。
  • 这 自动检测端点 该功能标识了常见的MCP路径。
  • 连接设置(主机、端口、标头、证书)在会话期间保持不变。
  • 取消按钮: 如果连接尝试挂起或耗时过长,请使用 取消 按钮中止握手并重置界面。

*图1:启动新连接*

*图2:自动发现端点*

*图3:检测到需要身份验证*

*图4:配置身份验证*

2.全局设置和检测

点击 设置 顶部标题中的按钮,用于配置高级选项:

  • 内部交通能见度:

- 代理握手/枚举流量: 通过Burp的本地代理侦听器路由扩展的内部SSE/Webocket流量(默认值: 127.0.0.1:8080).这允许您在Burp的数据库中看到“不可见”的握手和枚举请求 日志记录器 和 代理历史记录.

  • MCP服务器检测:

- 被动检查: 监控MCP指示器的所有通过流量(例如。, MCP-Protocol-Version 标头、JSON-RPC主体、身份验证网关重定向)。提高一个 信息问题 如果检测到Burp。 - 主动检测: 自动探测新域中的常见MCP端点(/mcp, /sse, /ws等等)。检测认证网关后面的端点(302/303重定向到OAuth、SAML、SSO、Zscaler等)。 - 范围限制: 将活动检测探针限制在Burp Target作用域中的域(推荐)。

*图5:MCP ASD设置*

*图6:MCP服务器活动检测警报*

3.身份验证

连接对话框包括一个专用的“身份验证”选项卡,支持三种策略:

  • HTTP标头: 添加自定义标题(例如。, Authorization: Bearer , X-API-Key: )到运输连接。
  • mTLS(双向TLS): 提供PKCS#12(.p12)客户端证书和密码。这允许扩展与需要客户端证书的服务器握手。
  • 初始化参数: 将自定义JSON字段注入MCP initialize 握手。

- *用途:* 粘贴JSON对象(例如。, {"apiKey": "secret", "env": "prod"})进入文本区域。 - *效果:* 这些字段合并到 params 对象 initialize 连接后立即发送JSON-RPC消息。

*图7:配置身份验证*

4.身份验证可见性注释

重要提示: MCP-ASD在内部管理身份验证和传输级安全(mTLS)。当您在连接对话框中配置标头或证书时,它们将由扩展注入到实际的传输连接中。 您在中继器或入侵者请求中看不到这些标头,因为这些请求被发送到扩展的内部虚拟网桥。

5.映射和枚举

连接后,扩展程序会用标识的原语填充仪表板:

  • 工具: 可执行函数。
  • 资源: 数据源或文件。
  • 提示: 预定义模板。

*图8:MCP主要元素列举*

*图9:选择primative以生成请求原型*

6.安全测试

  • 发送到中继器: 手动测试工具调用。中继器标签被自动命名(例如。, MCP: get_weather)为了便于识别。
  • 发送给入侵者: 执行并发模糊测试。该扩展确保了请求和响应的线程安全关联。

*图10:同步网桥允许请求/响应式中继器和入侵者使用*

7.服务器信息

  • 点击 察看连接信息 顶部标题中的按钮,用于查看有关连接的MCP服务器的详细元数据。
  • 这包括服务器名称、版本、协议版本、支持的功能和完整的系统说明(提示)。

*图11:一些MCP服务器提供的服务器信息*

工作原理(建筑)

MCP-ASD解决了Burp Suite和模型上下文协议之间的基本阻抗不匹配问题:

  • Burp Suite 针对同步、无状态HTTP(请求->响应)进行了优化。
  • 主控程序 依赖于异步、持久的连接(服务器发送事件或WebSockets),其中消息(JSON-RPC)可以在任何时候向任何方向流动,通常在传输层没有1:1的请求/响应相关性。

为了弥合这一差距,MCP-ASD实施了一种新的 “虚拟代理”体系结构:

1.异步传输层

与使用的标准Burp扩展不同 Burp.Http,MCP-ASD利用专用、强大的HTTP客户端(OkHttp)以管理持久MCP连接。

  • 正当理由: 标准HTTP客户端(包括Burp的本机API)阻止等待响应主体完成。对于SSE(服务器发送事件),响应体是一个永远不会完成的无限流。尝试使用标准方法读取它会导致线程无限期挂起。
  • 解决方案: 该扩展维护了一个专用的后台线程,该线程逐个事件读取无限流事件,与Burp UI解耦。

2.同步电桥

当您从Burp Repeater或Intruder发送请求时:

  1. 虚拟端点: 您向发送一个标准的HTTP POST请求 http://mcp-asd.local/invoke.
  2. 拦截: 扩展的 HttpHandler 在离开Burp之前拦截此请求。
  3. 自动ID关联: 扩展 自动覆盖 id 领域 在JSON中使用唯一的UUID。这确保了即使在高并发入侵者攻击中,每个请求都与其特定的响应完全相关。 您不需要在Repeater中手动更改ID。
  4. 注射: 它将消息注入到 *活跃的* 持久SSE/Webocket连接。
  5. 螺纹阻塞: 扩展暂停Burp请求线程并等待。
  6. 缝合: 当匹配的JSON-RPC响应从服务器到达时,扩展将其“缝合”为标准的HTTP 200 OK响应,并将其返回给Burp。

这允许您使用Intruder强大的有效载荷对MCP工具进行模糊化,而无需中断持久连接,也不需要为每次模糊化尝试重新进行身份验证。

开发测试服务器

包含一个模拟MCP服务器,用于测试扩展的功能。

需求

pip3 install -r requirements.txt

执行

python3 mcp_server.py

服务器支持身份验证(承载令牌: bearer-token-123).

联系

德鲁·柯克帕特里克\ @帽衫\ hoodoer@bitwisemunitions.dev

你可以在TrustedSec找到我。

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

安全审计Java本地部署渗透测试BurpSuite扩展MCP协议攻击面检测

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

资产与漏洞排查

批量查询资产和漏洞信息,输出待修清单。

日志审计

从日志里筛出异常访问和高风险操作。

合规检查

按规则核对配置项,记录不符合项。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 需要自备OAuth 授权,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在安全风控场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到OAuth 授权的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
MCP Asd

MCP World · 本页

0stdio有1 个2026-05-17
Modelcontextprotocol C22988b0

MCP World

0stdio有1 个2026-05-17
Hexstrike AI

MCP World

0stdio有1 个2026-05-17
Cyber Strike AI

MCP World

75未说明未标注1 个2026-05-17
MCP Scan

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

MCP Asd 怎么安装?

公开资料给出的安装命令是 python3 mcp_server.py,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

MCP Asd 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

MCP Asd 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

MCP Asd 需要 API Key 吗?

公开资料标注的认证方式是OAuth 授权,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

MCP Asd 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP