AutoJack将AutoGen Studio MCP WebSocket实现中的三个特定缺陷串联在了一起 :
MCP WebSocket 默认信任所有来自回环接口(127.0.0.1)的流量,它不会验证请求到底来自合法的代理进程,还是来自代理正在加载的恶意网页内容 。由于代理本身也在本地运行,代理加载的任何网页都可以发送WebSocket消息,而MCP服务会将其视为可信的本地来源。
MCP WebSocket不需要任何身份验证、会话令牌或来源(Origin)检查。任何本地进程——甚至是代理渲染的网页内运行的脚本——都可以直接连接到WebSocket并发送命令,无需任何凭证 。这意味着服务完全无法区分来自合法代理的工具调用和来自攻击者网页的恶意指令。
MCP服务会盲目地执行通过WebSocket收到的工具命令。它允许任意进程创建,没有沙箱隔离、权限检查或用户确认 。一旦攻击者的内容连上了WebSocket,它就能指示服务在主机上运行任何命令。
这三者结合,使得一个网页可以指示AI代理的浏览引擎连接MCP WebSocket,发送精心构造的工具命令,最终执行任意代码——整个过程甚至不需要用户再点击第二下 。
该漏洞仅存在于AutoGen Studio的开发分支中。AutoGen Studio是微软AutoGen多代理框架的开源原型UI 。这个有问题的版本从未在PyPI上发布过 。微软通过微软安全响应中心(MSRC)向AutoGen维护者报告此问题后,修复程序已应用于开发分支 。建议用户更新到最新版本的AutoGen Studio以获取补丁 。截至目前可获取的公开资料中,尚未报告与此问题相关的CVE编号。
除了这个特定的漏洞,微软还强调AutoJack揭示了一个根本性的架构风险:任何将网页浏览与本地工具访问相结合的AI代理框架都存在类似问题 。浏览器沙箱的设计初衷是将网页内容与操作系统隔离。但是,当一个AI代理位于信任边界内部,并基于其渲染的内容执行操作时,它就架起了一座从开放网络通向本地特权操作的桥梁 。
微软警告,当AI代理参与其中时,过去将localhost视为安全隐式信任区的传统假设已经不再成立 。微软建议所有AI代理框架采用以下措施:
AutoJack将AutoGen Studio MCP WebSocket实现中的三个特定缺陷串联在了一起 :
MCP WebSocket 默认信任所有来自回环接口(127.0.0.1)的流量,它不会验证请求到底来自合法的代理进程,还是来自代理正在加载的恶意网页内容 。由于代理本身也在本地运行,代理加载的任何网页都可以发送WebSocket消息,而MCP服务会将其视为可信的本地来源。
MCP WebSocket不需要任何身份验证、会话令牌或来源(Origin)检查。任何本地进程——甚至是代理渲染的网页内运行的脚本——都可以直接连接到WebSocket并发送命令,无需任何凭证 。这意味着服务完全无法区分来自合法代理的工具调用和来自攻击者网页的恶意指令。
MCP服务会盲目地执行通过WebSocket收到的工具命令。它允许任意进程创建,没有沙箱隔离、权限检查或用户确认 。一旦攻击者的内容连上了WebSocket,它就能指示服务在主机上运行任何命令。
这三者结合,使得一个网页可以指示AI代理的浏览引擎连接MCP WebSocket,发送精心构造的工具命令,最终执行任意代码——整个过程甚至不需要用户再点击第二下 。
该漏洞仅存在于AutoGen Studio的开发分支中。AutoGen Studio是微软AutoGen多代理框架的开源原型UI 。这个有问题的版本从未在PyPI上发布过 。微软通过微软安全响应中心(MSRC)向AutoGen维护者报告此问题后,修复程序已应用于开发分支 。建议用户更新到最新版本的AutoGen Studio以获取补丁 。截至目前可获取的公开资料中,尚未报告与此问题相关的CVE编号。
除了这个特定的漏洞,微软还强调AutoJack揭示了一个根本性的架构风险:任何将网页浏览与本地工具访问相结合的AI代理框架都存在类似问题 。浏览器沙箱的设计初衷是将网页内容与操作系统隔离。但是,当一个AI代理位于信任边界内部,并基于其渲染的内容执行操作时,它就架起了一座从开放网络通向本地特权操作的桥梁 。
微软警告,当AI代理参与其中时,过去将localhost视为安全隐式信任区的传统假设已经不再成立 。微软建议所有AI代理框架采用以下措施: