您的浏览器扩展可以看到您输入的每一个密码
浏览器扩展可以增强浏览器的功能,我们大多数人至少都会安装一个第三方插件。我总是保持安装几款用于提高生产力的 Chrome 扩展,其中一些是我无法离开浏览器使用的。广告拦截器、全页截图工具、价格比较跟踪器,它们看起来都无害。
然而,其中一些扩展程序,包括那些拥有数千条五星好评的,也可能在你输入网站密码时看到你的密码。浏览器在与扩展共享页面数据时存在的漏洞,使它们能够无限制地访问网页上的所有内容,并且有一些扩展因为这个原因被发现泄露了敏感的用户信息。
一种会泄露您密码的 DOM 漏洞
扩展程序如何读取你输入的纯文本
威斯康星大学麦迪逊分校的研究人员发现,即使浏览器扩展程序遵守 Chrome 最新的 Manifest V3 安全标准,也可以访问输入到网站的密码。研究团队分析了超过 7,000 个网站,发现其中约 15% 的网站直接在页面的 HTML 代码中以明文形式存储敏感信息,如密码、信用卡号码和社会安全号码。
这是因为浏览器处理 DOM(文档对象模型)的方式。DOM 是表示网页上所有内容的结构。当你输入密码时,浏览器会将该值存储在一个 DOM 元素中,任何具有相应权限的扩展程序都可以读取它。扩展程序可以通过三种主要方式利用这一点:通过键盘记录来捕捉每一次按键,直接访问 HTML 源代码以获取存储的值,以及滥用 DOM API 在你输入时提取输入字段的值。最后一种方法尤其令人担忧,因为它可以绕过任何视觉上的掩码,例如点或星号,这些掩码只会在屏幕上隐藏密码,而不会隐藏后台运行的代码。
讽刺的是,浏览器被故意配置成这种方式。合法的密码管理器需要读取并填写这些字段才能正常工作,但同样的访问权限也为恶意扩展创造了机会。即使是 Chrome 最新的 Manifest V3 标准,旨在提高扩展的安全性,也没有在扩展和网页内容之间建立安全边界。研究人员开发了一个伪装成 AI 助手的概念验证扩展,提交到 Chrome 网上应用店,并获得批准,这证明了有害扩展可以很容易地通过审核。
许可陷阱
曾经可信的扩展一夜之间变得恶意
我们大多数人都会安装经过官方浏览器商店审核的扩展程序,这让它们更容易获得信任。我们在点击权限提示时往往不会多想,包括那个写着读取并更改您访问的网站上的所有数据的提示。这个单一的权限就是扩展程序访问你输入的一切内容(包括密码)所需要的全部权限。
更糟糕的是,一些扩展程序在多年内一直以良好的声誉运作,之后才变得有害。自2018年以来运行的 ShadyPanda 活动通过向之前合法的扩展程序推送恶意更新,影响了大约 430 万 Chrome 和 Edge 用户。其中一些插件在七年内都运行正常,才首次接收到恶意负载。WeTab 是一个适用于 Microsoft Edge 的新标签页扩展,拥有超过三百万次安装和数千条好评,被发现注入恶意链接并将浏览数据发送到中国的服务器,而用户完全不知道任何变化已经发生。
MEGA.nz 的 Chrome 扩展在 2018 年遭到入侵,在约四小时内泄露了约 160 万用户的用户名、密码和加密货币密钥,直到有人注意到之前都没有发现。2024 年,CyberHaven 的浏览器扩展通过 OAuth 钓鱼攻击被劫持,用于获取超过 40 万用户的 Cookie、会话令牌和 Facebook 广告账户数据。Trust Wallet 浏览器扩展也经历了类似的安全漏洞,导致大约 700 万美元的加密货币被盗。
你可能已经注意到,这些并不是来自不知名开发者的冷门扩展。它们曾经很受欢迎,评价良好,并且受到数百万人的信任,直到它们不再如此。
你可以采取的自我保护措施
在每个浏览器上减少攻击面
如果你认为从 Chrome 切换到 Firefox 可以解决这个问题,那并不能。DarkSpectre 的潜伏扩展程序活动最近通过 GhostPoster 行动影响了 Firefox,攻击者使用隐写术将恶意 JavaScript 隐藏在 PNG 图像文件中。受影响的扩展程序在各浏览器中下载量超过 84 万次,其中一些在研究人员曝光之前已经活跃了长达五年。
Mozilla 此后已经移除了受影响的扩展程序,并在用户的浏览器中禁用了它们,但使用相同受损扩展程序的 Chrome 和 Edge 用户仍然需要手动卸载它们。这证明这并不是仅限于 Chrome 的问题,而是浏览器扩展生态系统的问题,因此切换到其他浏览器并不是解决方案。
保护自己的最好方法是尽量保持扩展程序的数量最低。定期检查已安装的扩展程序,并删除那些你很久没用过的。我最近清理了旧的 Chrome 扩展程序,发现自己有些插件几个月都没碰过。在安装任何新扩展之前,查看开发者的资质,浏览最近的评论以发现可疑之处,并质疑任何请求不明显必要的广泛权限的扩展程序。
你的浏览器可能已经内置了一些可以替代常用扩展功能的功能。例如,Chrome 现在有原生的密码管理器、页面翻译、阅读列表和截图工具,这使得一些流行的扩展变得不必要。扩展越少,潜在的攻击入口就越少。
对于你的账户,尽可能用密码密钥替换密码,并在所有支持的地方启用双因素认证。密码密钥无法被 DOM 访问拦截,因为无需输入任何内容。保持浏览器更新,并注意可疑行为,例如标签页自动打开博彩、成人或联盟页面——这通常是扩展程序出问题的迹象。威斯康星的研究人员还建议网站改变处理敏感输入字段的方式,以避免密码在 HTML 中暴露,但这是开发者需要修复的问题,而不是你可以控制的。
我们应该稍微注意一下我们安装的东西
最危险的扩展程序不是那些从一开始就被设计成恶意的,而是那些流行且维护良好的扩展程序,这些扩展程序可能被威胁行为者收购,或者通过供应链攻击被入侵,而用户却毫不知情。有一天,它们阻止广告或管理标签页,第二天,它们通过一个你从未注意到的更新悄悄收集你的凭证。
对此没有单一的解决办法。浏览器应用商店正通过自动审核和人工检查尽最大努力,但一些潜伏的活动已经证明它们可以多年不被发现。你能做的最好方法是保持扩展列表简短,对权限保持怀疑态度,并使用通行密钥和双因素认证作为安全保障,以防有些问题不可避免地被遗漏。



