夜雨聆风学习资料网

ARTICLE · 1145198

MCP 测试:给 AI 插上"工具"之后,谁来保证它插得安全?

MCP 测试:给 AI 插上"工具"之后,谁来保证它插得安全?

「漫说测试」风向观察 · 第 4 期

上期聊了"AI 红队"。这期聊它身边那个更底层的东西:MCP(Model Context Protocol,模型上下文协议)。 一句话:它让 AI 能"调工具"了。而你一定猜到了——能调工具,就意味着"工具"本身要被测试。

【贴图1】


一、先看一件事:MCP 火了,"测 MCP"没跟上

MCP 是干什么的?它是给 AI 接"工具"的通用接口。 以前你想让 AI 查数据库、跑脚本、读文件、调接口,得一个模型一套对接;有了 MCP,AI 就像插了 USB 一样,即插即用——一个协议,连上成千上万个工具^1。

所以过去一年,MCP 生态爆炸式增长:官方服务器、社区服务器、企业内部服务器,全在往外冒^2。

但问题也来了:大家抢着做 MCP 服务器,却很少有人认真"测"MCP 服务器。 一个能读写文件、能执行命令、能访问数据的"工具接口",如果没人测——它就是一个直通系统的后门。

这正是海外测试圈最近在补的课:MCP,该怎么测?


二、风向一:给 MCP 定了一套"测试金字塔"

海外最主流的答案,是把 MCP 当成一个新的"被测系统",套用我们最熟的三层测试金字塔^3:

底层:单元测试。 每个 MCP 工具(tool)本身,就是一个函数。输入什么、返回什么、边界怎么处理,先单测——这和控制层、服务层的单测思路完全一样^4。

中层:集成测试。 光测单个工具不够,要测"工具接上真实依赖"之后整条链路对不对——就像我们做接口集成测试^5。

顶层:Evals(评估)。 这是 MCP 特有的新一层:不只测"能不能调通",还要测"AI 用得对不对"——同一句话,AI 会不会选错工具、传错参数、把结果用错。

你看:底层和中层,是测试人的老本行;顶层 Evals,才是需要补的新知识。


三、风向二:MCP 的"安全测试",成了新的重灾区

如果说前面的"功能测试"是老本行,那 MCP 的安全测试,就是海外讨论最激烈的新战场。

原因很直接:MCP 工具的描述、参数、返回,全都会进到 AI 的"上下文"里——而上下文里能塞东西,就等于给了攻击者一个入口。最出名的一类攻击叫 "工具投毒"(Tool Poisoning):恶意服务器把攻击指令藏进工具的"描述"里,AI 读到描述就照做——不需要用户犯错,就能悄悄读走你的数据^6。

真实案例已经不是理论了:有研究演示过,一个被投毒的 MCP 服务器,能静默读取并外泄用户全部聊天记录,全程无需用户交互^7。

更麻烦的是,MCP 的风险面很宽。业界已经在推 OWASP MCP Top 10 这样的清单^8,并总结出一批必须测的安全点:工具投毒、命令注入(有服务器把字符串直接喂给子进程/文件路径/网络调用)、越权访问、凭证泄露、提示注入等等^9。通行的做法是持续做模糊测试和对抗测试,而不是上线前跑一遍就完事^9。

一句话:MCP 工具 = 一个有"嘴巴"(描述)+ 有"手脚"(执行)的接口。它的测试,必须同时覆盖"功能"和"安全"。


四、风向三:反过来,MCP 也成了测试人的新工具

有意思的是,MCP 不只是"被测对象",它同时是测试团队手里的新利器。

海外的测试社区已经在盘点"最适合测试自动化的 MCP 服务器"——用 MCP 把 Playwright、Selenium、各种 AI 自动化能力接进来,让 AI Agent 直接驱动测试执行^1。也有团队专门在做"给测试工具建 MCP 服务器",把散落的测试能力统一成一套 AI 能调用的接口^10。

翻译成人话:以前是"人操作工具",现在是"AI 通过 MCP 操作工具"。 你要测它,也要用它——这就是测试人的双重身份。


五、一个结论:MCP 测试,本质是"接口测试"的老思想穿了新马甲

如果你做过接口测试,会发现 MCP 测试处处都是熟悉的味道:

  • 每个工具有入参、有出参——和接口一样;
  • 要测正常、异常、边界——和写用例一样;
  • 要测权限、鉴权、越权——和安全测试一样;
  • 要测依赖、链路、Mock——和集成测试一样。

唯一的"新",是它多了一层 AI 语义:工具会被 AI"理解"和"选用"——于是"描述"也成了攻击面,"理解"也成了被测点^8。

所以结论很清楚:会做接口测试的人,转手就能做 MCP 测试。 你不是从零开始,你是把看家的接口测试功夫,用到了 AI 的新接口上。


六、给国内测试人的 3 条落点

【贴图9】

1. 先建"三层金字塔",别只测调通。对自家 MCP 服务器,先把**单测(每个工具)+ 集成(接真实依赖)**搭起来;再补上 Evals(测 AI 用不用得对)——别把 MCP 测试做成"能调通就算过"。

2. 把"工具投毒 / 命令注入 / 越权"列入安全用例。每一个工具的"描述"和"参数",都当成不可信输入来测:描述里塞指令会怎样?参数直接拼给子进程会怎样?越权访问别的资源会怎样?这些用例,越早写越好。

3. 把 MCP 测试接进 CI,持续模糊测试。MCP 的面会随工具增加而扩大,不能"上线前跑一遍"。把安全用例和模糊测试接进流水线,每次改动自动跑——和你给接口搭 CI 门禁是同一件事^9。

一句话:MCP 不是让你学新东西,是让你把"接口测试"的老功夫,用到一个更值钱的新接口上。

【贴图10】


🎁 彩蛋我把这一整套「MCP 测试」资料整理成了资源包:MCP 测试金字塔落地指南 + MCP Inspector 用法 + 工具投毒/命令注入安全用例清单 + 测试用 MCP 服务器盘点(全部附直达链接)。 公众号后台回复「mcp」,领取《MCP 测试入门资源包》。


参考来源(海外)

  • [^1] TestGuild《13 Best MCP Servers for Test Automation in 2026》https://testguild.com/top-model-context-protocols-mcp/
  • [^2] Digital Applied《MCP Adoption Statistics 2026》https://www.digitalapplied.com/blog/mcp-adoption-statistics-2026-model-context-protocol
  • [^3] MCP Playground《How to Test MCP Servers Effectively: A Step-by-Step Guide》https://mcpplaygroundonline.com/blog/how-to-test-mcp-servers-step-by-step
  • [^4] Niteagent《Testing MCP Servers in Production: Unit Tests, Mocking, and CI/CD》https://niteagent.com/blog/2026-06-09-mcp-server-testing-ci-cd-guide/
  • [^5] Signadot《How to Test MCP Servers: A Complete Guide》https://www.signadot.com/testing-mcp-servers/
  • [^6] Cloud Security Alliance《Agentic MCP Security Best Practices Guide》https://labs.cloudsecurityalliance.org/agentic/agentic-mcp-security-best-practices-v1/
  • [^7] TrueFoundry《MCP Security Risks & Best Practices: Enterprise Guide》https://www.truefoundry.com/blog/mcp-security-risks-best-practices
  • [^8] Cycode《OWASP MCP Top 10: Risks, CVEs & Defenses for 2026》https://cycode.com/blog/owasp-mcp-top-10/
  • [^9] Obot AI《MCP Security Best Practices: The Complete 2026 Guide》https://obot.ai/resources/learning-center/mcp-security/
  • [^10] QA Skills《MCP for Test Automation: Connect AI Agents to Testing Tools》https://qaskills.sh/blog/mcp-testing-automation-guide

相关学习资料