Skip to content

安全与生态

授权、权限隔离、风险、服务器目录与生态。

Updated View as Markdown
For humans

安全与生态

MCP 把外部能力接进 AI 应用,安全是头等话题:工具能执行操作,恶意服务器 = 恶意代码。面试主线:威胁模型、防护机制、生态现状。

威胁模型

风险 场景
恶意服务器 提供有毒工具(窃取数据、执行危险操作)
提示注入 数据/资源内容诱导模型调用危险工具(见 agent 安全篇)
权限滥用 模型被诱导执行超出预期的操作(删库、转账)
供应链 依赖的服务器被投毒/被接管

核心认知:模型不是安全边界,工具执行要有应用层控制(权限、审批、审计)。

防护机制

工具执行四道闸: 权限 → 审批 → 沙箱 → 审计

机制
授权 OAuth 2.1 授权码(远程服务器)、权限作用域
审批 高危工具人工确认(对应 LangGraph interrupt,见人机协同篇)
隔离 服务器沙箱、最小权限账号
审计 完整调用日志(谁、何时、调了什么、结果)
验证 服务器来源验证(官方目录、签名)

授权:OAuth

  • 远程 MCP 服务器用 OAuth 2.1:用户授权应用访问服务器资源(标准授权码流程)
  • 用户可撤销授权;服务器可要求细化权限(只读/读写)
  • 本地 stdio 通常不需要(进程权限即用户权限)

生态现状

生态项 说明
服务器目录 官方 registry 收录服务器(GitHub、Slack、数据库、浏览器等)
SDK Python/TS 官方 + 多语言社区
框架 FastMCP、mcp-adapters(LangChain 接入,见 LangChain 工具篇)
客户端 Claude Desktop、Cursor、IDE 插件、自研 Agent
规范演进 开放治理(Linux 基金会),版本迭代快

面试话术:MCP 生态 = 服务器供给 + SDK/框架 + 客户端采纳。接入成本低(适配器),风险在权限控制,安全设计要应用层兜底。

面试追问

  1. MCP 的最大安全风险? 工具可执行操作:恶意服务器/提示注入/权限滥用。模型不是安全边界
  2. 怎么防护? 权限作用域 + 高危审批 + 沙箱隔离 + 审计日志 + 服务器来源验证
  3. 远程服务器怎么授权? OAuth 2.1 授权码,用户可撤销,可细化权限
  4. 和提示注入的关系? 工具输出可能带注入内容诱导更多危险调用,要内容过滤和最小权限
  5. 接入 MCP 的成本? 低:SDK + 适配器(LangChain 直接转工具)。风险在权限治理
Navigation

Type to search…

↑↓ navigate↵ selectEsc close