Mcploitable:面向 MCP 的「故意脆弱」智能体靶场
开源项目 Mcploitable 提供 7 个含真实漏洞的 MCP 服务器与 3 个演练场景,覆盖 OWASP 智能体应…
近日在 Hacker News 上亮相的开源项目 Mcploitable,自称是模型上下文协议(MCP)领域的「Metasploitable」——一套专门被设计成「带漏洞」的 MCP 服务器集合,用于在隔离实验环境中观察智能体(agent)系统如何被攻陷。项目以 Docker 容器形式分发,明确要求仅在网络隔离环境运行,切勿连接真实凭证或生产数据。
覆盖 OWASP 智能体应用 Top 10(ASI 2026)
Mcploitable 将 OWASP 针对智能体应用提出的十类风险(ASI01–ASI10)逐一映射到具体场景中:
- ASI01 目标劫持(Agent Goal Hijack):邮件助手 read_message 读取一封不可信邮件后,诱导智能体把机密数字折叠进图片 URL,客户端渲染器自动外发,类 EchoLeak(CVE-2025-32711)零点击外泄。
- ASI02 工具误用(Tool Misuse):分析助手在受污染的支持工单引导下,以类服务角色连接读取 integration_tokens 等敏感字段并通过回复外发。
- ASI03 身份与权限滥用(Identity & Privilege Abuse):账号恢复机器人的 send_reset 仅在正确的控制层级才校验联系人,构成「受困惑的中介」(confused deputy)。
- ASI04 智能体供应链(Agentic Supply Chain):插件管理器的研究者可写注册表,被植入的插件需先胜过正常签名的天气插件,再通过 forecast_template 文本诱导智能体主动交出工作区凭证。
- ASI05 意外代码执行(Unexpected Code Execution):计算器工具的 eval / exec,类 Vanna.AI(CVE-2024-5565)漏洞。
- ASI06 记忆 / 上下文投毒(Memory / Context Poisoning):写入持久记忆的笔记在无关会话中触发,把首方密钥塞进自动抓取的图片页脚。
- ASI07 智能体间不安全通信(Insecure Agent-to-Agent):编排器信任来自共享总线的同侪消息,授予其触发特权能力,向攻击者控制的收款方放款。
- ASI08 级联失败(仿真):规划器到执行器的故障传播。
- ASI09 人–智能体信任滥用(仿真):被信任的智能体操纵人类决策。
- ASI10 失控智能体(仿真):权限过大的智能体行动。
前 7 类被实现为「可攻破盒子」(breakable boxes),可通过 ./play 交互式命令行逐级尝试;后 3 类因更接近系统性故障或社会工程,改为确定性演示(guided simulations)。
设计理念:让漏洞「潜伏」而非「自曝」
与传统的 CTF 靶场不同,Mcploitable 的服务器没有任何「自我标记」:没有计分板、没有 flag、没有「易受攻击/加固」开关,每个工具都伪装成平常、无害的助手,名称、描述均刻意保持平庸。漏洞是潜伏的——攻击是否成功由其实际副作用(数据真的外泄、代码真的执行)来观察,而非由服务器打分。OWASP ASI 分类仅存在于文档与测试用例中,绝不出现在智能体可见的名称里。
快速上手与文档
项目推荐通过 Docker 运行,容器默认网络隔离;README 与 docs/RESULTS.md、docs/SIMULATIONS.md 中给出了 L0→L3 实证结果,以及「盒子」与「仿真」的取舍说明。详细的运维手册与解题笔记(docs/operator/)不随靶场分发,以避免剧透。
对于正在搭建 MCP 服务或部署多智能体系统的团队而言,Mcploitable 提供了一个可重复的实验场,用以验证自身防御在真实攻击路径下是否仍然有效。
