事件经过
fast-agent提供其MCP代理端点时没有认证,并将其绑定到所有接口的8000端口。这允许远程未认证客户端调用暴露的代理工具,并且在启用--shell时驱动本地shell执行工具以服务器用户身份运行操作系统命令。如果没有--shell,它仍然允许攻击者消耗操作员的模型配额并使用配置的MCP工具。
影响分析
一个在网络上暴露未认证MCP表面的AI代理框架是直接的代理执行攻击路径:它赋予攻击者与代理相同的工具,包括shell执行器——实际上是对任何能访问该端口的人而言远程控制代理主机。
攻击途径
fast-agent serve在0.0.0.0:8000上运行未认证的HTTP/MCP传输(CWE-306缺少认证)。远程客户端调用/mcp端点;当以--shell启动时,代理可以调用本地执行工具,因此攻击者实现了以服务器用户身份执行OS命令(CWE-78)。
受影响系统
fast-agent < 0.7.21(支持Model Context Protocol的AI代理框架)
缓解措施
升级到fast-agent 0.7.21。