MCP 治理与安全加固
Model Context Protocol 集成层安全加固
MCP 集成层经过 P0-1 ~ P0-6 六项安全治理加固,从"半成品"到生产级多用户隔离。
修复清单
| 编号 | 漏洞 | 修复 |
|---|---|---|
| M1 | 未认证 RCE(tool_layers 无鉴权) | 路由器加鉴权依赖,stdio 仅 admin |
| M2 | stdio command/args 无白名单 | shell 拒绝表 + 命令白名单 |
| M3 | ToolRouter 主路径绕过防火墙 | 防火墙收敛进 call_tool 主路径 |
| M4 | 治理预检只提取 4 个键名 | 全参数扫描(scan_all),分级 fail-closed |
| M5 | MCP 客户端跨用户单例 | 防火墙身份按请求穿透(ContextVar 注入) |
| M6 | 零重连/退避/熔断/健康探测 | 配置收敛 + 死路清理(P1 待完善) |
| M7-M10 | 配置分叉/死代码/键名 bug | 存储收敛、ToolEngine 懒获取、server_id 修复 |
安全架构
请求 → JWT 鉴权 → 角色门(admin/user) → 防火墙预检 → 参数扫描 → 审计落盘 → 执行
↓ ↓ ↓ ↓ ↓
L0 入口 L1 隔离 L2 输出 L3 审计 L4 数据
API
GET /api/v1/tool-layers/mcp-servers # MCP 服务器列表(登录)
POST /api/v1/tool-layers/mcp-servers # 添加 MCP(admin)
DELETE /api/v1/tool-layers/mcp-servers/{id} # 删除(admin)
POST /api/v1/tool-layers/mcp/tool # 调用 MCP 工具(防火墙全扫描)