使用说明
项目简介
Damn Vulnerable MCP Server (DVMCP) 是一个故意设计成存在安全漏洞的 Model Context Protocol (MCP) 服务器,旨在为安全研究人员和开发者提供一个学习和研究 AI/ML 模型服务漏洞的平台。请注意,DVMCP 包含已知的安全漏洞,绝对不能在生产环境中使用。
主要功能点
- 资源管理 (Resources): 模拟托管和管理模型资源,例如 'gpt-4', 'gemini-pro' 等。
- 工具注册和执行 (Tools): 提供一系列预定义的工具,用于演示 MCP 服务器的各种安全漏洞,例如 'prompt_injection', 'model_enumeration', 'context_manipulation' 等。
- Prompt 模板 (Prompts): 支持通过 'prompts_generate' 工具生成 prompt,但存在注入漏洞。
- JSON-RPC 协议: 使用 JSON-RPC 协议与客户端通信,处理客户端的请求。
- 配置发现: 提供 '/.well-known/mcp-configuration' 终端点,暴露服务器配置信息。
安装步骤
- 克隆仓库到本地:
git clone https://github.com/Karanxa/dvmcp.git cd dvmcp - 安装依赖:
pip install -r requirements.txt - 设置 Gemini API 密钥 (用于部分漏洞演示,非MCP核心功能):
export GOOGLE_API_KEY="your-api-key-here" - 启动服务器:
python -m dvmcp.app
服务器配置 (MCP 客户端配置)
MCP 客户端需要配置以下信息以连接到 DVMCP 服务器。以下是一个 JSON 格式的配置示例,您需要将其配置到您的 MCP 客户端中。
{ "serverName": "dvmcp-server", "command": "python", "args": ["-m", "dvmcp.app"], "description": "Damn Vulnerable MCP Server for security testing" }
参数注释:
- 'serverName': 服务器的名称,您可以自定义。例如: "dvmcp-server"。
- 'command': 启动服务器的命令。这里使用 'python' 命令。
- 'args': 启动服务器命令的参数。 '"-m", "dvmcp.app"' 表示运行 'dvmcp.app' 模块,即启动 Flask 应用。
- 'description': 服务器的描述信息,您可以自定义。
基本使用方法
DVMCP 服务器启动后,您可以使用 MCP 客户端向服务器的 '/mcp' 终端点发送 JSON-RPC 请求。
例如,您可以使用 'tools_list' 方法列出可用的工具:
{ "jsonrpc": "2.0", "method": "tools_list", "id": "1" }
服务器会返回包含可用工具列表的 JSON-RPC 响应。您可以参考仓库的 'README.md' 文件中提供的漏洞利用示例,了解如何使用不同的工具来测试和利用 DVMCP 服务器的漏洞。
您也可以访问 'http://<服务器地址>:<端口>/.well-known/mcp-configuration' (默认端口为 5000) 来查看服务器的 MCP 配置信息。
请务必仔细阅读 'README.md' 文件,了解 DVMCP 服务器包含的各种安全漏洞及其利用方法,以便更好地进行学习和研究。再次强调,请勿在任何生产环境中使用 DVMCP。
信息
分类
开发者工具