能:如果浏览器扩展拥有访问网页消息应用所需的权限,就可以在页面解密并显示消息后读取文本。这不需要破解参与者之间使用的加密,而是在访问内容已可读的端点之一。
并非每个扩展都能读取每个网站。风险取决于授予的权限、扩展的行为和浏览器环境。应审查这个范围,而不是认定所有扩展都是间谍软件,或认为上架官方商店就消除了风险。
内容脚本如何看到页面
Chrome 的内容脚本文档说明,内容脚本可以读取和修改其获准访问网站的文档对象模型,即 DOM。
这些脚本通常在隔离的 JavaScript 世界中运行:它们的变量与页面变量分离。不过,页面的 DOM 仍是共享界面。如果聊天消息或草稿存在于其中,JavaScript 变量隔离并不保证扩展无法读取这些文本。
这一差别很重要,因为扩展不必窃取私有加密密钥,也能捕获可读消息。普通的网站访问权限也不会自动赋予一切能力,例如无限制访问所有浏览器 Cookie;具体能力取决于额外权限和接口。
为什么 E2EE 无法解决端点访问问题
端到端加密保护授权端点之间的内容。应用必须让接收者能够阅读收到的内容,而已被攻陷或权限过大的本地环境可以访问这份可读副本。
密码学边界并不只是“网络套接字”,E2EE 也不只是传输加密。但它不是针对能够观察授权端点输出或输入的软件的通用防御。
同样,升级为后量子密钥交换,也不能阻止获准的扩展在草稿加密前读取它。
有帮助的控制措施,以及应避免的主张
| 控制措施 | 可以帮助什么 | 不保证什么 |
|---|---|---|
| 限制扩展的网站访问 | 限制获准脚本可运行的位置 | 扩展在仍获准的网站上值得信任 |
| 不添加扩展的独立配置文件 | 减少该配置文件的扩展暴露面 | 防范操作系统恶意软件或已被攻陷的浏览器 |
| Web Workers 或不可导出的密钥 | 可降低特定密钥处理风险 | 后续显示给用户的明文的机密性 |
| 内容安全策略 | 限制某些页面脚本或资源行为 | 对浏览器授权扩展形成通用屏障 |
| Shadow DOM 或 canvas 渲染 | 改变渲染和封装方式 | 对恶意本地软件形成可靠的安全边界 |
Manifest V3 改变了扩展的能力与规则,但并未取消文档中规定的获准内容脚本检查页面的能力。声称某种渲染技术使消息应用“免受扩展影响”,需要强得多的证据。
敏感聊天前审查 Chrome 权限
使用 Chrome 的扩展管理指南,检查已安装扩展及其网站访问权限。在功能可用时,将访问范围限制到真正需要的网站,或要求选中扩展后才激活。删除不再使用的扩展。
留意权限变化,但不要认为每次有害更新都必须请求新权限。代码可以滥用它已有的访问权。Chrome 的权限警告文档解释了新增权限何时触发警告。
无痕模式并不自动意味着没有扩展:Chrome 允许逐个启用无痕模式下的扩展。请检查实际配置。同样,不要把关于 Chrome 网页的主张不加区分地套用到具有不同运行环境的独立桌面应用上。
如果怀疑扩展泄露了消息
停止使用受影响的环境进行敏感通信。禁用或删除可疑扩展,更新浏览器,并检查剩余扩展及其权限。如果凭据或账户访问权可能泄露,请从可信环境检查账户会话,并遵循服务的恢复指南。
删除扩展可以阻止它今后在该浏览器中运行,但无法收回已经复制的内容。看起来正常的聊天记录不能证明没有发生泄露。
Livara 的边界
Livara 的威胁模型明确排除了对已被攻陷端点的保护。其 Proof Lab提供 APK 哈希检查和范围有限的密码学演示,而不是对浏览器会话没有恶意扩展的认证。
在可行范围内,尽可能缩小扩展权限的边界。强健的消息加密与可信的端点是相辅相成的要求。



