Psylo 创始人披露三处影响 iCloud Private Relay 的 WebKit 代理泄露
Mysk 发布了 Psylo 1.3.1,以封堵这些路径,研究人员称这些路径可能会暴露设备的 IP 地址或 DNS 基础设施。
By Ryan Merket · Published
Primary source: Mysk Blog
Why it matters
A privacy browser can configure its proxy correctly and still lose control when WebKit or an operating-system service opens a separate connection. Psylo's patch protects its users, while the reported behavior also reaches other proxy browsers and Apple's iCloud Private Relay.

Talal Haj Bakry (@hajbakri) and Tommy Mysk (@tommymysk), the founders behind the Psylo privacy browser, disclosed three WebKit behaviors on August 4th that they say can bypass browser-level proxies and expose a user's real network. The pair also shipped Psylo 1.3.1, which blocks or disables the affected features.
调查始于一位用户提出的一条异常具体的投诉。根据 Bakry 和 Mysk 的技术披露,一名 Psylo 用户注意到在某些网站上会泄露 DNS 信息,而其他网站则表现如预期。两位创始人将该报告追溯到 DNS 预获取,然后又发现了涉及 passkeys 和 WebTransport 的另外两条路径。
这一序列对 Psylo 来说很重要。Bakry 和 Mysk 构建该浏览器的前提是每个隔离的标签页——他们称之为 silo——可以通过单独的代理路由,同时保持其 Cookie 和存储分离。Mysk 表示其 Private Proxy Network 提供超过 40 个代理位置。
两位创始人基于多年移动隐私研究开发了 Psylo,在早期测试版超出原始范围后,于 2025 年 6 月发布了该浏览器。他们最新的发现来自对该产品下层 Apple 框架的测试,在该框架中,应用代码对由 WebKit 或操作系统其他部分发起的连接拥有有限的控制权。
绕过代理的三条路径
WebKit 的 WKWebsiteDataStore.proxyConfigurations API 允许应用将其网页流量发送到指定的代理服务器。在隐私浏览器中,预期结果很简单:网站接收到的是代理的 IP 地址,而 DNS 请求应来自代理基础设施。
Bakry 和 Mysk 表示有三项功能会绕过这一路径:
- DNS prefetching: 网站可以使用 HTML 提示请求浏览器在需要之前解析主机名。研究人员发现 WebKit 将此查询通过设备的普通 DNS 路径发送。因此,控制目标主机名的网站可以观察到访问者的常规 DNS 基础设施,而不是代理的。
- WebAuthn Related Origin Requests: 这个 passkey 功能会检查相关域名是否被授权共享凭证。研究人员称操作系统的凭证服务会直接获取验证文件,绕过浏览器配置的代理,从而将设备的 IP 地址暴露给目标服务器。
- WebTransport: 该 API 在 HTTP/3 和 QUIC 上建立低延迟连接。Bakry 和 Mysk 发现 WebKit 在创建该连接时没有应用浏览器会话的代理配置,允许服务器接收设备的真实 IP 地址。
时间线有所不同。根据披露,WebAuthn Related Origin Requests 自 iOS 18.0 起可用。DNS 预获取在 2025 年 9 月随 iOS 26.0 登陆 iOS,此前的一个WebKit 更改为显式的 dns-prefetch 提示添加了支持。WebTransport 在 2026 年 3 月随 iOS 26.4 公布发布,参见 WebKit 的发行说明。
Bakry 和 Mysk 发布了一个概念验证测试页面,尝试每种技术。他们的披露构成了关于这三条路径行为的主张依据。
苹果的浏览器规则扩大了暴露面
Apple 的App Review Guidelines 通常要求浏览网页的应用使用相应的 WebKit 框架。开发者可以在欧盟和日本申请使用替代浏览器引擎的权限,但大多数 iOS 隐私浏览器仍依赖于 WebKit 的网络行为。
这种依赖使得代理浏览器开发者需要为他们并不完全控制的隐私边界负责。应用可以正确配置普通页面流量,而 WebKit 的某个功能或操作系统服务可能会创建一个不同的连接而不使用相同的代理设置。
Bakry 和 Mysk 表示该问题也影响依赖相同代理 API 的 iOS Tor 浏览器。他们联系了 Tor Project 和开源 iOS 浏览器 Onion Browser 的开发者,Onion Browser 将流量通过 Tor 路由。研究人员指出了一个较窄的例外:Onion Browser 的 Silver 安全等级通过 Apple 的 Lockdown Mode 配置禁用了 WebTransport,从而阻断了那条特定的连接路径。
系统级 VPN 的运作方式不同。由于它们在设备层隧道化流量,Bakry 和 Mysk 表示这三种应用级代理绕过不会逃脱正确配置的 VPN 隧道。
Private Relay 共享该边界
两位创始人还在 Apple 的 iCloud Private Relay 上测试了这些行为。iCloud+ 的该功能旨在通过两个独立中继保护 Safari 浏览,Apple 表示 Private Relay 会加密 DNS 记录并将用户身份与所请求的网站分离。
Bakry 和 Mysk 表示 DNS 预获取、WebAuthn 的验证获取以及 WebTransport 连接都发生在 Private Relay 处理的正常 Safari 流量路径之外。在他们的测试中,DNS 预获取暴露了设备的 DNS 基础设施,而另外两种技术暴露了设备的真实 IP 地址。
此项披露将 Apple 与一家规模较小的浏览器制造商置于相同的底层边界一侧。截至 8 月 5 日,Psylo 在美国 App Store 列表 显示有 37 条评分和 4.4 的评分。该公开足迹相对有限,然而一位 Psylo 用户的报告促使其两位创始人去检查影响 Apple 自身付费隐私服务的行为。
Psylo 用更安全的默认设置换取兼容性
Psylo 1.3.1 完全阻止 HTML 的 DNS 预获取提示。根据 Mysk 的披露和 Apple App Store 上的版本说明,它还在每个 silo 中默认禁用 WebTransport 和 WebAuthn。
这些选择在 Psylo 内关闭了报告中的路径,但同时带来了兼容性成本。禁用 WebAuthn 可能会导致 passkey 流程无法工作。禁用 WebTransport 可能会影响依赖这一较新网络 API 的网站。Psylo 允许用户为单个 silo 重新启用任一功能,将隐私暴露变成一个显式设置,而不是加载页面时的隐性后果。
该补丁展示了当平台级抽象失败时,专注产品的优势。Bakry 和 Mysk 无法改变 WebKit 的网络实现,因此他们缩小了 Psylo 的可暴露功能集,并为用户提供了按会话的控制。更困难的问题位于应用之下:浏览器开发者需要代理设置来管理页面可能触发的每一个连接,包括委派给操作系统服务的工作。