🚨 脆弱的MCP服务器-安全培训演示
⚠️ 警告:此服务器仅用于培训目的,切勿在实际操作环境中使用!
概述
该项目旨在演示模型上下文协议(MCP)服务器的常见安全漏洞,并培训安全的开发方法。
包含的漏洞
- 命令注入(Command Injection) -
execute_system_command - 路径巡回攻击(Path Traversal) -
read_file_content,write_file_content - 非序列化攻击(Deserialization) -
process_pickled_data - SQL注入 -
search_user_database - 暴露敏感信息 -
get_system_info - 拒绝服务攻击(DoS) -
generate_large_data - 临时文件安全性 -
create_temp_file - LDAP注入 -
ldap_search_simulation - XML外部实体(XXE) -
parse_xml_unsafe
安装和运行
1.安装依赖性
# uv 사용 (권장)
uv sync
# 또는 pip 사용
pip install -e .2.运行服务器
# 개발 모드로 실행
uv run dev
# 또는 실행 스크립트 사용
python run_server.py3.交互式测试
# 대화형 플레이그라운드
uv run playground漏洞测试
要安全地测试漏洞,请:
# 취약점 테스트 스크립트 실행
python test_vulnerabilities.py培训资料
SECURITY_DEMO.md-详细的漏洞描述和攻击方案test_vulnerabilities.py-漏洞测试脚本src/character_counter/server.py-服务器实施薄弱
学习目标
通过该项目,您可以学习:
- MCP服务器上常见的Web应用程序漏洞是如何出现的
- 每个漏洞的攻击向量和影响
- 安全的编码方法和防御技术
- 如何测试和审计安全性
实验课题
- 漏洞分析:识别每个工具的漏洞,并制定攻击方案
- 安全实施:实施脆弱功能的安全版本
- 安全测试:测试您实施的安全版本
- 制定指导方针:为您的组织制定MCP服务器安全指南
安全原则
在开发MCP服务器时,请遵循以下原则:
- 最小权限原则:只授予所需的最低权限
- 验证输入:验证所有用户输入,并设置新的输入
- 使用沙盒:在隔离环境中运行
- 定期安全审计:定期检查代码和设置
- 安全更新:保持依赖性最新
警告和免责声明
⚠️ 该项目专为培训而设计。
- 切勿在实际操作环境中使用
- 不要擅自测试他人的系统
- 不要利用漏洞进行非法行为
- 用户对使用此代码负有全部责任。
许可证
此项目仅用于培训目的。禁止商业使用。
