MCP安全实验室-攻击与防御
构建和破坏MCP服务器
🔴 易受攻击的实验室
易受攻击的实验室演示 8个OWASP MCP十大漏洞:
| ID | 漏洞 | 影响 |
|---|---|---|
| MCP01 | 凭证泄漏 | 响应中暴露的令牌机密 |
| MCP02 | 批量分配 | 分析员→ 管理员权限升级 |
| MCP05 | 代码注入 | 通过eval()和shell注入实现RCE |
| MCP06 | 快速注射 | 通过中毒数据操纵LLM |
| MCP07 | 身份验证旁路 | 无令牌=自由访问(失败打开) |
| MCP08 | 审计不足 | 未记录攻击有效载荷 |
| MCP09 | SSRF | 通过IOC富集访问内部服务 |
| MCP10 | 上下文共享 | 跨租户数据泄漏 |
快速启动(易受攻击)
cd vulnerable-lab
start-lab.bat
# Open http://localhost:8080 for LLM UI
# Open http://localhost:5601 for Kibana______________________________________________________________________
🟢 安全实验室
安全的实验室用具 适当的安全控制:
| 控制 | 实施 |
|---|---|
| 无凭据泄漏 | 响应中从不泄露秘密 |
| 字段满栏 | 只接受安全字段 |
| 预定义公式 | 无eval(),无shell |
| 快速注射防御 | 数据被视为不可信 |
| 关闭身份验证失败 | 无令牌=拒绝 |
| 全面审计 | 记录完整的请求参数 |
| URL列表 | SSRF已阻止 |
| 租户隔离 | 每用户、每租户存储 |
快速启动(安全)
cd secured-lab
start-lab.bat
# Open http://localhost:8080 for LLM UI______________________________________________________________________
🛠️ 先决条件
- Docker 桌面版 -跑步
- 奥拉玛 -配备骆驼3.2型号
- Python 3 -安装了FastMCP包(python-m pip安装FastMCP)
- 优维康 -python-m pip安装uvicorn
ollama pull llama3.2
ollama run llama3.2______________________________________________________________________
📚 学习路径
- 从易受攻击的实验室开始 → 运行攻击,了解漏洞
- 阅读安全.md → 并排查看易受攻击代码与安全代码
- 测试安全实验室 → 验证攻击是否被阻止
______________________________________________________________________
🔗 资源
______________________________________________________________________
⚠️ 免责声明
这个实验室是为 仅用于教育目的。易受攻击的服务器包含故意的安全漏洞。不要在生产环境中部署。
______________________________________________________________________
📝 许可证
MIT许可证-可自由用于学习和培训。
______________________________________________________________________
动手安全实验室演示 MCP漏洞 以及他们的解决方案。 专为 2026年的纳拉康 MCP安全研讨会。
