返回市场
极易受攻击的MCP服务器

极易受攻击的MCP服务器

作者:harishsg9930101223 星标更新:2025-06-29

项目介绍

Damn Vulnerable Model Context Protocol (DVMCP)

这是一个为了教育目的而故意设计有漏洞的模型上下文协议(MCP)实现。

概述

Damn Vulnerable Model Context Protocol (DVMCP) 是一个旨在展示MCP实现中安全漏洞的教育项目。它包含十个难度递增的挑战,展示了不同类型的漏洞和攻击向量。

该项目面向安全研究人员、开发者和AI安全专业人士,帮助他们了解MCP实现中的潜在安全问题以及如何缓解这些问题。

什么是MCP?

模型上下文协议(MCP)是一个标准化协议,允许应用程序以结构化的方式为大型语言模型(LLMs)提供上下文。它将提供上下文与实际LLM交互的责任分开,使应用程序能够向LLMs暴露资源、工具和提示。

推荐的MCP客户端

CLINE - VSCode扩展 参考此链接连接CLine与MCP服务器:https://docs.cline.bot/mcp-servers/connecting-to-a-remote-server

开始使用

一旦克隆了仓库,请运行以下命令:

docker build -t dvmcp .
docker run -p 9001-9010:9001-9010 dvmcp

免责声明

在Windows环境中可能不稳定,如果你不想使用Docker,请使用Linux环境。 我推荐使用Docker来运行实验室,并且我百分之百确定它在Docker环境中运行良好。

安全风险

虽然MCP提供了许多好处,但也引入了新的安全考虑。本项目演示了MCP实现中可能出现的各种漏洞,包括:

  1. 提示注入:通过恶意输入操纵LLM行为
  2. 工具中毒:在工具描述中隐藏恶意指令
  3. 过度权限:利用过于宽松的工具访问权限
  4. 拉地毯攻击:利用工具定义的突变
  5. 工具阴影:用恶意工具覆盖合法工具
  6. 间接提示注入:通过数据源注入指令
  7. 令牌窃取:利用不安全的令牌存储
  8. 恶意代码执行:通过易受攻击的工具执行任意代码
  9. 远程访问控制:未经授权地获取系统访问权
  10. 多向量攻击:结合多个漏洞

项目结构

damn-vulnerable-mcs/
├── README.md                 # 项目概述
├── requirements.txt          # Python依赖项
├── challenges/               # 挑战实现
│   ├── easy/                 # 简单难度挑战(1-3)
│   │   ├── challenge1/       # 基本提示注入
│   │   ├── challenge2/       # 工具中毒
│   │   └── challenge3/       # 过度权限范围
│   ├── medium/               # 中等难度挑战(4-7)
│   │   ├── challenge4/       # 拉地毯攻击
│   │   ├── challenge5/       # 工具阴影
│   │   ├── challenge6/       # 间接提示注入
│   │   └── challenge7/       # 令牌窃取
│   └── hard/                 # 高难度挑战(8-10)
│       ├── challenge8/       # 恶意代码执行
│       ├── challenge9/       # 远程访问控制
│       └── challenge1_0/     # 多向量攻击
├── docs/                     # 文档
│   ├── setup.md              # 安装指南
│   ├── challenges.md         # 挑战描述
│   └── mcp_overview.md       # MCP协议概述
├── solutions/                # 解决方案指南
└── common/                   # 共享代码和实用工具

开始使用

请参阅安装指南,了解详细的安装和运行挑战的说明。

挑战

该项目包括三个难度级别的十个挑战:

简单挑战

  1. 基本提示注入:利用未经处理的用户输入操纵LLM行为
  2. 工具中毒:利用工具描述中的隐藏指令
  3. 过度权限范围:利用过于宽松的工具访问未经授权的资源

中等挑战

  1. 拉地毯攻击:利用安装后改变行为的工具
  2. 工具阴影:利用工具名称冲突覆盖合法工具
  3. 间接提示注入:通过数据源注入恶意指令
  4. 令牌窃取:从不安全的存储中提取认证令牌

高难度挑战

  1. 恶意代码执行:通过易受攻击的工具执行任意代码
  2. 远程访问控制:通过命令注入获得对系统的远程访问
  3. 多向量攻击:结合多个漏洞进行复杂的攻击

请参阅挑战指南,了解每个挑战的详细描述。

解决方案

为了教育目的,提供了解决方案指南。建议在查阅解决方案之前尝试自己完成挑战。

请参阅解决方案指南,了解每个挑战的详细解决方案。

免责声明

本项目仅用于教育目的。本项目中展示的漏洞绝不能在生产系统中实施。在实现MCP服务器时,始终遵循最佳安全实践。

许可证

本项目根据MIT许可证发布 - 查看LICENSE文件以获取详细信息。

作者

本项目由Harish Santhanalakshmi Ganesan使用Cursor IDE和Manus AI创建。