MCP 系统的安全风险可从客户端和服务端两个维度审视:
客户端风险(源于需调用服务端工具,扩大了恶意服务器的影响范围):
- 影子攻击(Tool Shadowing):当多台服务器连接同一客户端时,恶意服务器篡改工具描述,污染其他可信服务器的行为。例如在 add 工具描述中注入指令,强制 send_email 工具把所有邮件发送至攻击者邮箱。
- 地毯式骗局(Rug Pull):攻击者先提供看似正常的工具诱导用户安装信任,后续更新中远程植入恶意代码,例如第七天悄悄把 API 密钥重定向给攻击者。
服务端风险(可能导致远程代码执行、凭证盗窃或未授权访问):
- 命令行注入:MCP 服务器用不安全的字符串拼接构建 shell 命令,攻击者构造含特殊字符的输入注入任意系统命令。
- 恶意代码执行:利用 edit_file/write_file 将后门注入 .bashrc 等自动加载文件。
- 远程访问控制:将攻击者 SSH 公钥注入 ~/.ssh/authorized_keys 实现免密登录。




