近年来,Chrome扩展因其便捷和强大的功能深受广大用户和企业青睐。然而,随着这些扩展在功能上愈发复杂,安全风险也逐渐浮现。近期,研究发现Chrome扩展可以通过与本地运行的Model Context Protocol(简称MCP)服务器通信,绕过浏览器原有的沙箱保护机制,直接访问本地文件系统甚至完全控制受感染设备。这一漏洞揭露了本地通信协议设计上的严重不足,值得信息安全领域深入关注。 MCP协议最初设计用于允许AI代理与终端系统的工具及资源交互,支持两种主要的通讯传输方式,一种是基于Server-Sent Events(SSE),通过HTTP POST请求实现服务器与客户端的信息交换,另一种则是使用标准输入输出流(stdio),直接通过进程的输入输出传输数据。值得警惕的是,MCP协议本身并不强制要求身份认证,服务器开发者可选择实现认证,但实际上大多数MCP服务器默认没有开启访问控制机制,使得任何运行在本机的进程均可无障碍访问。
当Chrome扩展能够发起指向localhost的请求,而本地运行的MCP服务器又恰好监听此端口时,扩展即可轻松绕过Chrome原生的沙箱限制。通过简单的GET请求,扩展获取会话ID和消息端点,随后通过POST请求迅速获取MCP服务暴露的工具列表并直接调用相应接口,这样一来,扩展便能执行诸如读取或修改本地文件、访问Slack或WhatsApp服务数据等高权限操作。 此类攻击手法不仅仅是理论层面的演示。在实际测试中,研究人员成功搭建了一个基于SSE的文件系统变体MCP服务器,随后开发的Chrome扩展完全无需权限即可连接该服务并实现了对本地文件系统的交互。更令人担忧的是,这种攻击无需特殊权限,也无须用户授权,攻击者只需诱导用户安装该扩展,即可快速获得对机器的控制权。 Chrome官方尽管在2023年执行了多项限制措施,阻止公共非安全环境的网页访问私人网络地址(如localhost或内网IP),但这些严格限制并未涵盖浏览器扩展。
扩展由于具备较高权限,被默认信任可以进行更多操作,这也导致了本地MCP服务器成为绕过保护的潜在后门。 这一沙箱逃逸事件的安全隐患巨大。浏览器安全模型核心依赖隔离机制,限制网页或扩展直接访问操作系统和文件系统资源,防止恶意代码横向移动或窃取信息。但随着MCP服务器的介入,传统隔离被打破,恶意扩展可作为跳板,通过MCP调用本地高权限功能,完成从浏览器级别向操作系统层面的全面突破。 对企业环境而言,风险更为严峻。MCP已被广泛应用于开发调试、自动化流程以及多样化业务场景中,尤其是与Slack、WhatsApp等主流服务的集成更普遍。
管理员往往缺乏对本地MCP服务器的统一管理和安全审计,导致潜在的漏洞长期存在。当内部用户或终端被恶意扩展侵入,攻击者便可借助未受保护的MCP接口发动数据泄漏、权限提升甚至全面控制攻击。 为应对这一新兴风险,建议从多个维度着手防御。首先,MCP服务器开发者应默认启用严格的身份认证和访问控制,避免无差别开放接口。其次,用户和企业应加强对安装扩展的审查,避免使用权限过大或来源不明的扩展程序。同时,安全团队需将MCP相关通信纳入监测范围,通过网络行为分析识别异常扩展对本地MCP端口的访问尝试。
除此之外,浏览器厂商亦需重新审视扩展权限模型和本地网络访问策略,平衡功能自由与安全保障。技术演进过程中安全防护不能滞后,应积极采取措施限制扩展无障碍访问本地服务,强化沙箱机制的执行力。 综上所述,Chrome扩展通过MCP协议实现本地服务访问的安全隐患不容忽视。这种漏洞突破了传统浏览器沙箱的防线,赋予攻击者对用户设备的深度控制,为终端安全带来极大威胁。只有多方协作,从协议设计、产品开发、用户教育及安全防护等全面发力,才能有效降低风险,保障用户的数字资产安全。 在现代网络环境下,随着AI技术和自动化工具的普及,本地服务和扩展的协同操作将愈加频繁。
合理规范和管控此类通信,避免因设计缺陷导致的安全破口,是所有从业者的责任。未来,用户应更加谨慎选择扩展,并保持对本地通信服务状态的关注,防止因信任误判而引发严重后果。信息安全行业也应继续关注该领域的动态,推动形成更加安全可靠的生态体系,保障互联网应用的稳健发展和用户隐私保护。