从 MCP 聊 AI WEB 应用安全
本文内容原发于 20250413 Vidar-Team Web 安全分享会 近几年 AI 红得发紫,紫得发黑,这不最近又有人搞了一点基建上来,这就是我们的 MCP。 sequenceDiagram Server->>Client: mcp 工具描述 Client->>LLM: mcp 工具描述+用户输入 loop LLM->>Client: mcp 调用请求 Client->>Server: 调用请求 Server->>Client: 调用结果 Client->>LLM: 调用结果 end LLM->>Client: LLM 生成最终回复 上图展示的就是我们 MCP 的全调用链路,可以尝试思考,对于这串调用中的所有角色,可能出现什么安全问题? 我们可以看到,整个流程也就两个接口,LLM 对 MCP Client,MCP Client 对 MCP Server。 LLM - MCP Client 这个接口一般通过一个 Token 完成鉴权,由 MCP Clinet 方向主动连接到 LLM。 从 Web 安全的角度来看,这个问题很简单,就是最基本的无鉴权和 token 泄露等传统 Web 问题。在大模型比较早期的时候,基本都是通过 OpenAI API Token 完成这部分的鉴权问题的,那会就出现了在各种地方,主要是一些代码库,搞个正则就可以搜索到他人的 API Token 的事情,典型网络安全意识缺失。这件事被捅出来了之后呢,搞应用安全这伙人开始做针对性的主动扫描了,知道这个问题的人也多了,暂时好了一点。 但随着各种大模型如雨后春笋般地冒出,外加一些蒸馏技术的出现,大模型的私有化部署逐渐成为可能,但其实一直不温不火,但到 deepseek 开源国产大模型走红之后,整个互联网给人一种是个人都要部署一个 deepseek 的感觉,各种高校企事业单位个人都在搞。这一拥而上啊就容易丢三落四,从结果上看呢,就是互联网上冒出了非常多的 llama API。 ...