Loupe:查看你的 iPhone 向应用和追踪器暴露了什么
Loupe 是一款开源的 iOS 应用,能够揭示任何应用可以访问的设备指纹数据,从被动信号到高级侧信道技术。
Loupe 是什么?
Loupe 是由 Mysk Research 开发的一款免费、开源的 iOS 和 iPadOS 应用。它通过读取公共 iOS API 的真实值(任何第三方应用都可以调用这些 API),并以原始形式展示,带你亲身体验设备指纹的暴露面。目标很简单:展示你的 iPhone 悄悄暴露了什么,以及每条数据如何帮助应用识别你。
追踪器不需要你的姓名、电子邮件或位置来识别你。每条数据本身可能不是唯一的,但它们组合在一起就形成了一个指纹,可以跨应用和网站追踪你。
信号如何组织
Loupe 将每条数据分为三个层级,反映访问成本:
- 被动 —— 任何应用无需任何提示即可获取。包括区域设置、时区、屏幕尺寸、电池电量等。
- 需要权限 —— 触发 iOS 提示的数据。例如联系人、照片、位置和日历。
- 高级 —— 利用公共 API 的巧妙侧信道技术,例如通过
canOpenURL探测 URL 方案,以及跨重装的钥匙串持久化。
为什么这对开发者很重要
作为开发者,你可能没有意识到你的应用可以静默收集多少数据。Loupe 让这些变得可见。例如,被动类别包括:
- 区域和语言设置 —— 可以暗示地理区域。
- 时区 —— 通常与位置相关。
- 屏幕亮度和电池状态 —— 可用于区分设备。
- 已安装字体 —— 一个高度唯一的指纹向量。
- 系统运行时间 —— 有助于估计用户行为模式。
这些数据无需任何权限提示即可访问。Loupe 使用与应用相同的 API 读取它们,例如 Locale.current、UIDevice.current 和 UIScreen.main。
隐私优先
除非你明确导出,否则 Loupe 读取的任何数据都不会离开你的设备。数据以原始形式显示,不进行聚合或哈希处理。不上传、不同步、不共享任何数据。这是一个仅限本地的教育工具。
自行构建 Loupe
如果你想检查代码或在你的设备上运行它:
- 克隆仓库:
git clone https://github.com/mysk-research/loupe.git - 在 Xcode 26 或更新版本中打开
code/Loupe.xcodeproj。 - 将
code/Config/Signing.local.xcconfig.example复制到code/Config/Signing.local.xcconfig,并填写你自己的DEVELOPMENT_TEAM和包标识符。此文件已被 gitignore 忽略。 - 在设备或模拟器上构建并运行。
该项目使用 Xcode 的可构建文件夹(文件夹引用),因此新的 Swift 文件会自动被识别,无需编辑项目文件。
macOS 支持
Loupe 也可以构建为 macOS 版本。Mac 版本基本完成,但某些功能仍需完善才能正式发布。
支持项目
Loupe 是免费且开源的。如果它帮助你理解了应用可以静默了解你的设备哪些信息,请考虑通过尝试 Psylo 来支持 Mysk,这是一款面向 iPhone 和 iPad 的隐私优先浏览器。Psylo 提供代理支持的浏览、隔离标签页和反指纹保护。
你也可以阅读他们为什么构建 Psylo。
许可证
源代码根据 MIT 许可证发布。但是,Loupe 的名称和标志、应用图标、所有其他图像和图标以及设计源文件均归 Mysk 所有,保留所有权利,不受 MIT 许可证覆盖。
最后想法
Loupe 是任何 iOS 开发者或注重隐私的用户的必备工具。它通过展示哪些数据是可访问的以及如何组合这些数据来创建唯一标识符,从而揭开了设备指纹的神秘面纱。通过理解这个暴露面,你可以更好地保护你的用户——以及你自己。
查看 GitHub 仓库 开始使用。