易受攻击的MCP服务器实验室
此存储库包含 故意脆弱 模型上下文协议(MCP)服务器(本地和远程)的实现。每台服务器都位于自己的文件夹中,并包括一个专用的 README.md 详细信息请参见 它做什么, 如何运行它,以及 如何证明/攻击漏洞.
请勿在受控实验室环境外运行任何此类操作。
这个回购是用来做什么的
- 安全培训/研究 进入常见的MCP服务器和工具集成故障模式。
- 动手演示 易受攻击的MCP服务器如何导致数据泄露、指令注入、供应链妥协和代码执行。
安全/实验室指导
- 使用一次性VM/容器 避免使用真实的秘密或个人数据。
- 更喜欢在 孤立网络;几个服务器进行出站网络呼叫。
- 对待 所有工具输出和检索到的内容都是不受信任的数据.
- 如果你通过HTTP公开任何服务器,假设它可能是可访问/滥用的,除非你添加了适当的控件。
入门
- 选择服务器 从下面的索引。
- 打开其每台服务器的README,并按照其中的说明进行操作。
- 许多服务器包括
claude_config.json该代码片段旨在合并到Claude Desktop的MCP配置中。
此仓库中的MCP服务器
- 文件系统工作区操作(路径遍历+代码执行):用于读取/写入/列出“工作区”和Python执行的工具;容易受到幼稚的路径连接和未加密代码执行的影响。
- 自述文件: vulnerable-mcp-server-filesystem-workspace-actions/README.md
- 间接快速注射(局部stdio):文档检索/搜索,逐字返回文档,包括嵌入的隐藏指令。
- 自述文件: vulnerable-mcp-server-indirect-prompt-injection/README.md
- 间接提示注入(通过HTTP+SSE的远程MCP):网络可访问的MCP服务器(HTTP+SSE)逐字返回不受信任的文档;模拟连接到不受信任的远程MCP端点的风险。
- 自述文件: vulnerable-mcp-server-indirect-prompt-injection-remote-mcp/README.md
- 恶意代码执行(基于eval的RCE):“每日报价”工具具有不安全的格式化功能
eval()攻击者控制了JavaScript。
- 自述文件: vulnerable-mcp-server-malicious-code-exec/README.md
- 恶意工具(指令注入/伪造工具输出):看似返回状态数据,但注入误导性指令,并可能编造看似合理的事件。
- 自述文件: vulnerable-mcp-server-malicious-tools/README.md
- 命名空间排版(
twittter-mcp):通过一个旨在被误认为合法包的类似服务器名称来演示供应链/信任问题。
- 自述文件: vulnerable-mcp-server-namespace-typosquatting/README.md
- 过时的包装(供应链风险):只读系统/文件系统检查工具,其主要目的是证明过时/弃用/易受攻击的依赖关系的风险。
- 自述文件: vulnerable-mcp-server-outdated-pacakges/README.md
- 秘密+个人身份信息暴露:“实用程序”工具(IP/天气/新闻),但在源代码中嵌入了敏感值,并通过日志泄漏。
- 自述文件: vulnerable-mcp-server-secrets-pii/README.md
- 维基百科(远程、流式HTTP):通过HTTP搜索/检索维基百科;返回不受信任的公共内容,而不进行净化或指令/数据分离(远程内容提示注入风险)。
- 自述文件: vulnerable-mcp-server-wikipedia-http-streamable/README.md
关于Appsecco
Appsecco 是一家专门从事产品安全测试、渗透测试和安全评估的网络安全公司。我们像攻击者一样破解SaaS产品、AI代理、MCP服务器和云/K8s基础设施,专注于现实世界系统的实用、高信号结果。
该实验室存储库的存在是为了支持对Pentester的安全研究和实践培训,Pentester正在成为AI红队成员,围绕MCP服务器漏洞以及将不可信工具和不可信内容集成到AI代理工作流程中的风险。
联系
许可证
看 LICENSE.
