MCP-ASD:首款BurpSuite上的MCP服务安全测试扩展

admin 2026-02-08 00:42:31 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: TrustedSec发布首款BurpSuiteMCP安全测试扩展MCP-ASD,针对AI时代模型上下文协议(MCP)服务器的攻击面检测需求。该工具支持被动/主动发现MCP服务器,自动枚举Resources、Tools、Prompts三大基元,并通过内置同步桥接代理将SSE/WebSockets转换为标准HTTP请求,使渗透测试人员能在BurpRepeater/Intruder中像测试普通API一样对MCP服务进行手工安全测试。该扩展已提交BAppStore审核,目前可通过GitHub获取源码或jar文件安装。 综合评分: 85 文章分类: 安全工具,渗透测试,AI安全,漏洞分析,应用安全


cover_image

MCP-ASD:首款Burp Suite 上的 MCP 服务安全测试扩展

trustedsec trustedsec

赛博知识驿站

2026年2月7日 10:00 中国香港

MCP攻击面发现

编者按:MCP-ASD Burp扩展已提交至BApp Store,正在等待审核。


MCP:AI时代的”万能胶”

MCP(Model Context Protocol,模型上下文协议)服务器正在成为企业应用的新宠——这要归功于它与AI系统(尤其是大语言模型LLM)的无缝集成能力。可以说,MCP就像是AI世界的”通用翻译器”,为LLM提供了标准化的数据访问和工具调用接口,让模型能够突破训练数据的限制,实时获取企业环境中的最新信息并执行具体任务。

这项技术还很年轻——Anthropic在2024年底才正式推出,因此真正大规模的部署才刚刚开始。但可以预见的是,MCP服务器的部署数量将迎来爆发式增长

MCP部署将急剧增加

图1 – MCP部署将急剧增加

在TrustedSec,我们的团队经常进行LLM安全测试,帮助客户评估他们的应用LLM或Copilot部署的安全性。这意味着我们经常间接地测试MCP集成——通过与LLM交互,尝试控制那些外部工具调用。

但最近,一位客户提出了一个新问题:他们想要直接评估MCP服务器本身的安全性。原因很实际——由于系统架构的限制,他们的MCP服务器必须公开暴露在互联网上。而这种场景,在我们客户追求的集成方案中并不罕见。


渗透测试的新挑战:如何优雅地测试MCP?

问题来了:MCP协议通常使用Server-Sent Events(SSE)或WebSockets,这对于习惯使用Burp Suite进行手工渗透测试的安全研究员来说,并不友好。为了解决这个痛点,我开发了MCP Attack Surface Detector(MCP-ASD)[1]工具,将其打造成一个专为Burp Suite设计的扩展,让MCP服务器的枚举和手工测试变得行云流水。

第一步:发现目标

MCP-ASD的核心功能之一就是自动发现和枚举MCP服务器。安装扩展后,你可以在设置中启用被动或主动检测:

  • • 被动检测:基于常见的HTTP头和端点特征进行识别
  • • 主动检测:向常见端点发送少量GET请求,主动探测域名是否暴露了MCP服务器(默认关闭,但可手动开启)

MCP-ASD检测设置

图2 – MCP-ASD检测设置

一旦检测到MCP服务器,工具会自动添加一条信息级别的发现记录。

检测到MCP服务器

图3 – 检测到MCP服务器

第二步:建立连接

发现目标后,你可以尝试连接它。

启动新连接

图4 – 启动新连接

配置连接并自动检测端点

图5 – 配置连接并自动检测端点

根据我对公开暴露的MCP服务器的测试经验,SSE端点最为常见,不过很多服务器也同时提供WebSockets支持。MCP-ASD两种协议都支持。工具的自动检测功能会探测可用端点并自动配置连接,当然你也可以手动设置。我个人更倾向于使用SSE端点,因为WebSockets往往需要更复杂的身份验证。

端点自动检测

图6 – 端点自动检测

许多MCP服务器需要身份验证,连接界面允许你根据需要输入token、自定义header、认证参数、mTLS客户端证书等。

身份验证配置

图7 – 身份验证配置

第三步:枚举”三大基元”

连接成功后,MCP-ASD会自动枚举MCP的核心”基元”(primitives)和服务器信息。MCP的三大基元包括:

  • • Resources(资源):只读的信息片段
  • • Tools(工具):可执行的函数,允许LLM执行具体操作
  • • Prompts(提示词模板):预定义的模板,指导LLM如何与数据交互或执行动作

这些基元会被自动填充到MCP-ASD的用户界面中。

枚举的基元和原型请求

图8 – 枚举的基元和原型请求

选择左侧的任意基元,右侧会自动生成对应的原型请求。这个请求可以直接发送到RepeaterIntruder,像测试普通Web API一样使用。


真正的智慧:内置同步桥接

接下来是魔法时刻。

MCP-ASD在内部搭建了一个同步桥接代理,让RepeaterIntruder能够像处理普通Web应用API那样工作——发送请求,接收响应,一气呵成。虽然SSE和WebSockets的底层机制完全不是这样运作的,但我们创造了这种”假象”,让手工渗透测试变得无比顺滑。

这个内部桥接充当了”Burp代理中的代理”,负责将来自Repeater/Intruder的请求正确路由到MCP服务器端点,并持续监控SSE流或WebSocket,捕获正确的响应。

MCP-ASD会自动处理:

  • • 请求/响应GUID的管理
  • • 身份验证信息的注入
  • • 请求重写(指向内部桥接代理而非直接访问MCP服务器)

所有这些复杂操作都被无缝整合,让你在Burp Suite中的体验如丝般顺滑。

在Burp Repeater中使用MCP工具

图9 – 在Burp Repeater中使用MCP工具

此外,MCP服务器还会公开自身的元信息,点击”Server Info”按钮即可获取。

获取MCP服务器信息

图10 – 获取MCP服务器信息


接下来呢?

MCP-ASD已经提交到Burp Suite BApp Store,但审核流程通常需要数月时间。在正式上架之前,你可以通过以下方式安装:

  • • 从源代码自行构建
  • • 直接安装发布的.jar文件

原文:https://trustedsec.com/blog/mcp-in-burp-suite-from-enumeration-to-targeted-exploitation 代码仓库:https://github.com/hoodoer/MCP-ASD

引用链接

[1] **MCP Attack Surface Detector(MCP-ASD)**: https://github.com/hoodoer/MCP-ASD


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:赛博知识驿站 trustedsec trustedsec《MCP-ASD:首款Burp Suite 上的 MCP 服务安全测试扩展》

评论:0   参与:  0