← 返回案例分析
高危
🔗 MCP Server未授权访问
MCP Server未配置认证机制,任意Agent可调用所有Tool——攻击者通过Agent劫持链批量窃取数据
🎯 攻击场景
某企业内部部署了多个MCP Server,分别提供数据库查询、文件管理、API调用等Tool能力。这些Server在内部网络中运行,团队认为"内网就是安全的",所有MCP Server均未配置认证机制。一名已离职员工的内网账号未被及时回收,攻击者利用该账号接入内网后,通过Agent框架(如Claude Desktop)直接连接所有MCP Server,批量调用tools/list枚举工具,然后通过tools/call依次导出数据库内容、下载内部文件、调用管理API创建新账号。
🔄 攻击流程
- 内网接入:攻击者通过未回收的离职员工VPN账号接入企业内网
- MCP探测:扫描内网发现多个MCP Server端点(SSE模式,端口8080-8085)
- 工具枚举:发送 tools/list 请求,获取每个Server的全部可用Tool清单
- 数据导出:通过 db_query Tool 执行 SELECT * 导出用户表和订单表
- 文件下载:通过 file_read Tool 遍历读取内部Wiki和设计文档
- 持久化:通过 admin_api Tool 创建新的管理员账号
🔍 成功原因
- 零认证:MCP Server完全没有Token或API Key认证,任何HTTP请求都被接受
- 无权限分级:所有连接的Agent都能看到并调用全部Tool,没有按角色过滤
- 缺乏审计:tools/call 调用没有任何日志记录,攻击行为无法追溯
- 传输明文:使用HTTP而非HTTPS,通信内容可被内网嗅探
⚠️ 企业风险
数据库全量泄露 · 内部文档外泄 · 管理员权限被窃取 · 攻击行为无迹可查
🛡️ 分层防护方案
强制认证
所有MCP Server必须配置Bearer Token或mTLS双向认证,拒绝未认证连接
工具按角色过滤
tools/list 根据Agent身份返回不同的可见Tool集合,最小权限原则
全量审计日志
每次tools/call记录:Agent ID、Tool名称、参数、时间戳、结果摘要
TLS强制
内网通信同样使用HTTPS/WSS,防止内网嗅探和中间人攻击
你的MCP Server也需要安全检查?
我可以帮你评估MCP架构的安全性
了解安全评估