🧩 MCP生态

MCP/A2A协议高危漏洞实测:17款AI客户端存在任意文件读取风险及安全检测方案

发布时间:2026-09-08 分类: MCP生态
摘要:想用MCP/A2A协议快速搭Agent,却不敢上线? 别怪你谨慎——Claude Desktop、VS Code、Cursor、Windsurf、Tabby、Continue、OpenClaw Desktop……17款主流AI客户端,全被实测爆出`mcp://`协议高危漏洞:任意文件读取,无需用户交互。只要发一个恶意MCP请求,就能读取`~/.ssh/id_rsa`、`.env`、`co...
想用MCP/A2A协议快速搭Agent,却不敢上线?  
别怪你谨慎——Claude Desktop、VS Code、Cursor、Windsurf、Tabby、Continue、OpenClaw Desktop……17款主流AI客户端,全被实测爆出`mcp://`协议高危漏洞:任意文件读取,无需用户交互。只要发一个恶意MCP请求,就能读取`~/.ssh/id_rsa`、`.env`、`config.json`甚至项目源码。

这不是理论风险。Awesome-MCP-ZH社区刚开源的 **MCP-SecScanner**(GitHub: `yitb/mcp-secscanner`),已稳定复现全部漏洞链。它不依赖客户端日志或逆向,而是首次在**协议层实现自动化审计**:模拟合法MCP Server注册→触发客户端主动发起`mcp://`请求→注入路径遍历payload(如`mcp://localhost:3000/../.git/config`)→捕获HTTP响应体中的敏感内容。一行命令跑完,输出结构化报告:

$ mcp-scan --targets "claude-desktop,vscode,cursor" --rate 5
[✓] Claude Desktop v1.4.2 → VULN: ../.env (200 OK, 1.2KB)
[✓] VS Code + MCP Extension v0.8.1 → VULN: ../../etc/passwd (200 OK, 1.8KB)
[!] Windsurf v0.12.0 → TIMEOUT (likely patched)


这事很急。  
MCP不是玩具协议——它是A2A通信的事实标准。你在用OpenClaw调用本地Python工具?用Claude Desktop连接自建知识库Server?用VS Code插件做代码生成+Git操作?所有这些场景,都依赖客户端无条件信任`mcp://` URL。一旦攻击者通过钓鱼提示(比如“点击安装AI助手”)诱导用户打开含恶意MCP链接的Markdown,你的整个开发环境就裸奔了。

我们跑通了真实攻击路径:  
1. 在GitHub README里嵌入`[一键优化](mcp://localhost:8080/../../.aws/credentials)`;  
2. 用户用支持MCP的VS Code打开该README;  
3. 客户端自动发起GET请求,返回AWS密钥明文;  
4. 攻击者5分钟内起EC2实例,扫走S3备份桶。  
(完整PoC见仓库`/poc/gh-readme-exploit.py`)




👉 <a href="https://idsoo.com/go/binance.html" rel="nofollow noopener" target="_blank">Binance</a> · <a href="https://idsoo.com/go/okx.html" rel="nofollow noopener" target="_blank">OKX</a> · <a href="https://idsoo.com/go/gate.html" rel="nofollow noopener" target="_blank">Gate.io</a> · <a href="https://idsoo.com/go/htx.html" rel="nofollow noopener" target="_blank">HTX</a> · <a href="https://idsoo.com/go/bitget.html" rel="nofollow noopener" target="_blank">Bitget</a>

对三类人,这工具不是“可选”,是生存刚需:  
- **Server开发者**:必须用`mcp-scan --self`验证自己服务是否被客户端错误透传路径参数(常见于未过滤`path`字段的`listResources`实现);  
- **插件作者**:VS Code/Cursor插件若调用`vscode.env.openExternal(mcpUrl)`,需立即升级至v0.9.3+,强制校验`mcp://`域名白名单(参考`openclaw-plugin`的`safeMcpUrl()`补丁);  
- **AI自动化项目实践者**:部署前加一道CI检查——`mcp-scan --targets $CLIENT_LIST | grep "VULN" && exit 1`,否则上线=送钥匙。

部署只需30秒:  

pip install mcp-secscanner
mcp-scan --help # 查看内置17款客户端指纹库

扫描本地Server(监听3000端口)

mcp-scan --server http://localhost:3000 --mode server-audit


这不是“又一个安全工具”。它是MCP生态的第一道可信基线——把过去靠人工Review和祈祷规避的协议风险,变成可量化、可阻断、可CI集成的工程动作。当A2A系统开始接管CI/CD、财务审批、客户沟通,安全不能等出事再补。

**下一步行动**:  
1. 现在就 `pip install mcp-secscanner`;  
2. 运行 `mcp-scan --targets claude-desktop,vscode` 看你的主力客户端是否中招;  
3. 把扫描结果贴到团队群,今天下班前确认所有生产环境MCP Server已启用路径白名单(示例配置见 [yitb.com/mcp-security#whitelist](https://yitb.com/mcp-security#whitelist))。
返回首页