近年来,随着人工智能技术和本地服务的快速发展,Model Context Protocol(简称MCP)作为一种连接AI代理与系统工具的桥梁,逐渐走入人们的视野。MCP允许本地AI服务与操作系统资源交互,实现强大的自动化操作和智能辅助。然而,正是这种本地通信特性,也暴露出前所未有的安全隐患。一个近期被关注的安全事件便是Chrome浏览器扩展通过MCP协议绕过浏览器沙箱,从而获得对用户本地系统的潜在访问权限,甚至可能导致系统完全被攻破。无论是安全研究者还是企业安全负责人,都必须重视这种新兴的威胁,了解其中的技术细节与防范措施。传统上,浏览器沙箱设计通过严格隔离网页内容与操作系统资源,实现对恶意代码的有效阻断,限制其对文件系统、网络设备等核心资源的访问。
Chrome扩展在此架构下也受到相似约束,只有在明确获得权限许可后才能进行某些操作。尽管如此,近期事件显示,Chrome扩展通过发起本地网络请求与本地运行的MCP服务器通信,获取未经授权的功能调用权限,而MCP服务器通常不具备完善的访问控制机制。这意味着任何运行在用户设备上的Chrome扩展,无需额外权限即可访问MCP服务所暴露的接口。相较传统攻击,这种方式极具隐蔽性且难以检测。深入来看,MCP服务器通常采用两种传输方式,即基于Server-Sent Events(服务器发送事件)和标准输入输出流(stdio)。具备本地监听端口的MCP服务器依赖于HTTP POST请求与客户端进行通信。
遗憾的是,多数MCP实现默认不设立身份验证,导致本地任意进程只要知道监听端口,即可发起操作指令。例如,安全团队部署了一个针对文件系统访问的MCP服务器,运行于本地3001端口。通过开发一个简单的Chrome扩展,研究人员成功向该MCP服务器发送请求,获取服务器支持的操作列表并对文件系统执行读写操作。整个流程无须用户交互,无需额外权限授权,充分暴露了安全隔离的破绽。更令人震惊的是,这种攻击不仅限于单一MCP服务器,测试中同样发现有关Slack、WhatsApp等知名应用的MCP服务存在类似风险,进一步扩大攻击面。这一情况之所以容易被忽视,部分原因在于Chrome浏览器从2023年开始加强了对私有网络请求的限制,阻止公共网页访问本地地址。
然而,浏览器扩展身份特殊,仍可绕过这些限制,直接访问本地网络资源。结合MCP的无认证特性,成为理想的攻击跳板和沙箱逃逸通路。对此,企业安全防护体系面临巨大挑战。传统依赖浏览器权限模型和网络防火墙的防护措施,对MCP相关风险几乎无能为力。企业必须从内部着手,加强对本地MCP服务器的安全审计与权限控制,明确配置身份验证机制,切断扩展与敏感服务的任意通信链路。此外,应强化对Chrome扩展行为的监控,利用行为分析与威胁情报识别异常的本地网络连接请求,并结合零信任模型降低攻击面。
安全教育层面也不可忽视,告知开发者和终端用户MCP协议可能引发的风险,避免安装来路不明的扩展,准确认识权限申请真伪。展望未来,MCP协议及其生态或将更加繁荣广泛,但如何在便捷与安全之间取得平衡,是技术社区和安全厂商必须共同努力的课题。建议MCP相关软件开发者优先实现完善的访问认证机制和最小权限原则,浏览器提供商也需考虑针对扩展访问本地服务的权限策略进行强化。信息安全从来都是不断演进的过程,围绕MCP与Chrome扩展引发的这类事件再次提醒我们:任何看似创新的功能,如果缺乏充分的安全设计,都可能转变成攻击者的利器。通过持续的安全研究、企业合规管理与用户警觉意识,我们才能在数字化时代的浪潮中构筑更安全的防线。