首页/安全/damn-vulnerable-MCP-server

damn-vulnerable-MCP-server

查看源码
2025-5-12
Words 1358Read Time 4 min
Score:85

一个故意设计为易受攻击的MCP服务器,用于教育目的,展示MCP实现中的安全漏洞。

脆弱的模型上下文协议(DVMCP)

一个故意设计为存在漏洞的模型上下文协议(MCP)实现,用于教育目的。

概述

脆弱的模型上下文协议(DVMCP)是一个教育项目,旨在展示 MCP 实现中的安全漏洞。它包含 10 个难度递增的挑战,展示了不同类型的漏洞和攻击向量。
该项目面向安全研究人员、开发人员和 AI 安全专业人员,帮助他们了解 MCP 实现中潜在的安全问题以及如何缓解这些问题。

什么是 MCP?

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

推荐的 MCP 客户端

CLINE - VSCode 扩展参考 此链接 了解如何将 CLine 连接到 MCP 服务器。

开始使用

免责声明

在 Windows 环境中可能不稳定,如果不使用 Docker,请使用 Linux 环境。我推荐使用 Docker 来运行 LAB,并且我 100% 确定它在 Docker 环境中运行良好。

安全风险

虽然 MCP 提供了许多好处,但它也引入了新的安全考虑。该项目展示了 MCP 实现中可能出现的各种漏洞,包括:
  1. 提示注入:通过恶意输入操纵 LLM 行为
  1. 工具污染:在工具描述中隐藏恶意指令
  1. 过度权限:利用过于宽松的工具访问未经授权的资源
  1. Rug Pull 攻击:利用工具定义突变
  1. 工具影子攻击:用恶意工具覆盖合法工具
  1. 间接提示注入:通过数据源注入指令
  1. 令牌窃取:从不安全的存储中提取认证令牌
  1. 恶意代码执行:通过漏洞工具执行任意代码
  1. 远程访问控制:获取未经授权的系统访问权限
  1. 多向量攻击:结合多个漏洞进行复杂攻击

项目结构

开始使用

查看 设置指南 获取详细的安装和运行挑战的说明。

挑战

该项目包含 10 个挑战,分为三个难度级别:

简单挑战

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

中等挑战

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

高难度挑战

  1. 恶意代码执行:通过漏洞工具执行任意代码
  1. 远程访问控制:通过命令注入获取远程系统访问权限
  1. 多向量攻击:结合多个漏洞进行复杂攻击
查看 挑战指南 获取每个挑战的详细描述。

解决方案

提供解决方案指南用于教育目的。建议在查阅解决方案之前先自行尝试解决挑战。
查看 解决方案指南 获取每个挑战的详细解决方案。

免责声明

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

许可证

该项目根据 MIT 许可证授权 - 详见 LICENSE 文件。

作者

该项目由 Harish Santhanalakshmi Ganesan 使用 Cursor IDE 和 Manus AI 创建。
上一篇
mcp-smart-crawler
下一篇
ollama-lark-contentreader