一系列故意存在漏洞的服务器,用于学习渗透测试MCP服务器。
此仓库包含模型上下文协议(MCP)服务器(本地和远程)的有意引入漏洞的实现。每个服务器位于其自己的文件夹中,并包含专门的 README.md,详细说明其功能、如何运行以及如何演示/攻击该漏洞。
切勿在受控实验室环境之外运行任何此类代码。
claude_config.json 片段,旨在合并到 Claude Desktop 的 MCP 配置中。文件系统工作区操作(路径遍历 + 代码执行):用于读取/写入/列出“工作区”以及 Python 执行的工具;容易受到简单路径拼接和无沙箱代码执行的影响。
间接提示注入(本地 stdio):文档检索/搜索,原样返回文档,包括嵌入的隐藏指令。
间接提示注入(通过 HTTP+SSE 的远程 MCP):可网络访问的 MCP 服务器(HTTP + SSE)原样返回不受信任的文档;展示连接不受信任的远程 MCP 端点的风险。
恶意代码执行(基于 eval 的 RCE):“每日名言”工具,其不安全的格式化功能会 eval() 攻击者控制的 JavaScript。
恶意工具(指令注入 / 伪造工具输出):看似返回状态数据,但会注入误导性指令,并能伪造看似合理的事件。
命名空间域名抢注(twittter-mcp):通过一个旨在被误认为是合法包的相似服务器名称,演示供应链/信任问题。
过时的包(供应链风险):只读系统/文件系统检查工具,其主要目的是展示过时/废弃/易受攻击的依赖带来的风险。
机密信息 + 个人身份信息泄露:“实用工具”(IP/天气/新闻),但源代码中嵌入了敏感值,并通过日志泄露。
维基百科(远程,流式 HTTP):通过 HTTP 的维基百科搜索/检索;返回未经过滤的不可信公共内容,没有清理或指令/数据分离(远程内容提示注入风险)。
Appsecco 是一家专注于产品安全测试、渗透测试和安全评估的网络安全公司。我们像攻击者一样攻击 SaaS 产品、AI 代理、MCP 服务器和云/K8s 基础设施,专注于为现实世界的系统提供务实、高信号的结果。
此实验室仓库的存在是为了支持安全研究和针对渗透测试者的动手培训,他们正走在成为 AI 红队的道路上,围绕 MCP 服务器漏洞以及将不受信任的工具和不受信任的内容集成到 AI 代理工作流中的风险进行培训。
参见 LICENSE。