Token导航 LogoToken导航TokenDH.com
mcpfuzz (8endit) logo
安全风控stdio官方级别未说明来源级核验

mcpfuzz (8endit)

MCP Server

mcpfuzz是一款针对MCP服务器的动态安全测试工具,通过发送精心设计的输入来验证服务器的实际行为,确保其安全处理各种输入。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
安全Python漏洞检测自动化测试

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

8endit

提供方

8endit

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -e .

详细介绍

麦克普夫兹

MCP服务器的动态安全测试。

现有工具扫描哪些MCP服务器 *声称* mcpfuzz测试它们 *实际上* 同上

静态扫描仪读取工具说明。mcpfuzz连接、发送精心编制的输入,并验证您的服务器是否安全地处理它们。

安装

pip install -e .

快速开始

# Scan a local MCP server (stdio transport)
mcpfuzz scan --stdio "python my_server.py"

# Discovery only (list tools, no testing)
mcpfuzz discover --stdio "python my_server.py"

# Run specific patterns only
mcpfuzz scan --stdio "python my_server.py" --patterns path_traversal,ssrf

# JSON output for CI/CD
mcpfuzz scan --stdio "python my_server.py" --format json --output report.json

# Markdown report
mcpfuzz scan --stdio "python my_server.py" --format md --output report.md

它测试了什么

mcpfuzz附带了7种安全测试模式:

模式严重性测试内容
路径遍历临界文件路径参数允许 ../../etc/passwd 样式访问
命令注入CRITICALshell命令中的字符串参数
服务器端请求伪造CRITICALURL参数允许对内部/元数据端点的请求
错误泄漏HIGH错误响应泄漏堆栈跟踪、路径、数据库连接字符串
提示注入未经过滤返回的外部数据(LLM注入风险)
输入验证MEDIUM处理空字符串、空字节、超大有效载荷
资源耗竭中等缺少速率限制、超时、输入大小限制

运作原理

  1. 连接 通过stdio(子进程)或HTTP连接到MCP服务器
  2. 发现 所有工具及其参数模式通过 tools/list
  3. 匹配 基于参数名称和类型的适用测试模式工具
  4. 执行 通过以下方式为每个工具制作有效载荷 tools/call
  5. 分析 脆弱性指标的应对措施
  6. 报告 严重程度、证据和评分结果

模式匹配

mcpfuzz自动确定针对哪些工具运行哪些模式:

  • 一个带有 path 参数获取路径遍历测试
  • 一个带有 url 参数获取SSRF测试
  • 一个带有 cmd 参数获取命令注入测试
  • 针对所有工具运行输入验证、错误泄漏和资源耗尽

使用Docker安全运行(推荐)

mcpfuzz向MCP服务器发送精心编制的有效载荷。如果服务器易受攻击,则这些有效负载将在运行服务器的机器上执行。 始终在隔离的Docker容器中运行扫描 --永远不要在主机系统上。

# Build the container
docker compose build

# Scan demo servers (fully isolated — no network, no host access)
docker compose run --rm scan-vulnerable
docker compose run --rm scan-secure

# Run tests inside container
docker compose run --rm test

# Scan your own server (mount read-only)
docker compose run --rm -v /path/to/server:/target:ro scan-custom \
  scan --stdio "python /target/server.py"

容器运行时:

  • network_mode: none --无网络访问
  • read_only 文件系统+ tmpfs 用于温度传感器
  • 所有Linux功能都下降了(cap_drop: ALL)
  • no-new-privileges --无特权升级
  • 内存/CPU/PID限制--杀死失控进程
  • 容器内的非root用户

演示服务器

包括两个演示服务器用于开发和测试:

# Via Docker (recommended)
docker compose run --rm scan-vulnerable
docker compose run --rm scan-secure

# Direct (only for development, NOT for untrusted servers)
mcpfuzz scan --stdio "python demo_servers/vulnerable_server.py"
mcpfuzz scan --stdio "python demo_servers/secure_server.py"

添加自定义图案

docs/ADDING_PATTERNS.md 了解如何编写自己的YAML测试模式。

已知限制

  • 回显假阳性:在响应中回应用户输入的工具(例如。, search_db return“找到0个结果: “)当输入包含检测标记时,可能会触发命令注入误报。
  • 平台特定有效载荷:路径遍历有效载荷是平台感知的(Unix vs Windows),但可能存在一些跨平台边缘情况。
  • 连接器:需要 aiohttp (不包括在基础依赖关系中)。单独安装: pip install aiohttp.

发展

pip install -e ".[dev]"
pytest tests/ -v

许可证

麻省理工学院

目录标签

目录标签

安全Python漏洞检测自动化测试安全测试本地部署动态测试MCP服务器

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

来源信息

继续浏览同类 MCP