安全漏洞演示服务器

一个用于演示常见MCP服务器安全漏洞的教育工具,帮助开发者学习安全编码和防御技术。

  • by Isaac-theori
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Isaac-theori/Vulnerable-MCP-server

使用说明

🚨 脆弱的MCP服务器-安全培训演示

⚠️ 警告:此服务器仅用于培训目的,切勿在实际操作环境中使用!

概述

该项目旨在演示模型上下文协议(MCP)服务器的常见安全漏洞,并培训安全的开发方法。

包含的漏洞

  1. 命令注入(Command Injection) - execute_system_command
  2. 路径巡回攻击(Path Traversal) - read_file_content, write_file_content
  3. 非序列化攻击(Deserialization) - process_pickled_data
  4. SQL注入 - search_user_database
  5. 暴露敏感信息 - get_system_info
  6. 拒绝服务攻击(DoS) - generate_large_data
  7. 临时文件安全性 - create_temp_file
  8. LDAP注入 - ldap_search_simulation
  9. XML外部实体(XXE) - parse_xml_unsafe

安装和运行

1.安装依赖性

# uv 사용 (권장)
uv sync

# 또는 pip 사용
pip install -e .

2.运行服务器

# 개발 모드로 실행
uv run dev

# 또는 실행 스크립트 사용
python run_server.py

3.交互式测试

# 대화형 플레이그라운드
uv run playground

漏洞测试

要安全地测试漏洞,请:

# 취약점 테스트 스크립트 실행
python test_vulnerabilities.py

培训资料

学习目标

通过该项目,您可以学习:

  1. MCP服务器上常见的Web应用程序漏洞是如何出现的
  2. 每个漏洞的攻击向量和影响
  3. 安全的编码方法和防御技术
  4. 如何测试和审计安全性

实验课题

  1. 漏洞分析:识别每个工具的漏洞,并制定攻击方案
  2. 安全实施:实施脆弱功能的安全版本
  3. 安全测试:测试您实施的安全版本
  4. 制定指导方针:为您的组织制定MCP服务器安全指南

安全原则

在开发MCP服务器时,请遵循以下原则:

  1. 最小权限原则:只授予所需的最低权限
  2. 验证输入:验证所有用户输入,并设置新的输入
  3. 使用沙盒:在隔离环境中运行
  4. 定期安全审计:定期检查代码和设置
  5. 安全更新:保持依赖性最新

警告和免责声明

⚠️ 该项目专为培训而设计。

  • 切勿在实际操作环境中使用
  • 不要擅自测试他人的系统
  • 不要利用漏洞进行非法行为
  • 用户对使用此代码负有全部责任。

许可证

此项目仅用于培训目的。禁止商业使用。