🏛️ 白宫官方App深度逆向分析

★★★★★ | 2026-04-01 | 来源: Daring Fireball → Thereallo.dev
security privacy government react-native gps-tracking onesignal
⚠️ 严重安全与隐私问题: 这是一个美国政府官方App的安全与隐私审计。

📱 技术架构

  • 框架: React Native + Expo SDK 54 + Hermes JavaScript引擎
  • 后端: WordPress REST API (whitehouse.gov)
  • 构建方: "forty-five-press"
  • 代码量: 5.5 MB Hermes字节码bundle

🔍 核心发现

1. GPS追踪管道(已编译就绪)

  • OneSignal SDK原生位置追踪代码完整编译进APK
  • 前台: 每4.5分钟获取一次GPS位置
  • 后台: 每9.5分钟获取一次GPS位置
  • 追踪数据: 纬度、经度、精度、时间戳、前台/后台状态、GPS/网络定位
  • 所有数据同步到OneSignal服务器
  • 完整的背景服务,持续追踪即使App未激活
注意: 追踪不是无条件激活,需要三个条件:1) JS层调用setLocationShared(true) 2) 用户授予位置权限 3) 设备有位置提供者。但整个追踪基础设施已完整编译,JS API已就绪,随时可激活。"withNoLocation" Expo插件显然没有剥离任何东西。

2. WebView JavaScript注入 - 去除 Consent 弹窗

  • App的WebView每次加载页面都会注入JavaScript代码
  • 强制隐藏: Cookie横幅、GDPR同意框、OneTrust弹窗、隐私横幅、登录墙、注册墙、增值提示、付费墙、CMP对话框
  • 强制 body { overflow: auto !important } 恢复被同意对话框锁定的滚动
  • 使用MutationObserver持续清除动态添加的同意元素
🗳️ 一个美国政府官方App正在向第三方网站注入CSS和JavaScript,以剥离cookie同意对话框、GDPR横幅、登录墙和付费墙。

3. 第三方JavaScript加载 - 安全风险

  • YouTube嵌入: 从随机人员GitHub Pages (lonelycpp.github.io) 加载播放器HTML。如果该账户被攻破,攻击者可以向每个App用户发送任意HTML和JavaScript,在WebView上下文中执行。
  • 社交媒体Widget: 从Elfsight (商业SaaS) 加载JavaScript,无沙箱隔离
  • 第三方服务: Mailchimp、Uploadcare CDN、Truth Social、Facebook插件

4. OneSignal数据收集

  • addTag - 用户分群
  • addSms - 关联电话号码
  • addAliases - 跨设备用户识别
  • addOutcomeWithValue - 跟踪用户行为和转化
  • 通知点击跟踪
  • 应用内消息生命周期跟踪
  • 用户状态变化跟踪
  • 位置共享设置
  • 隐私同意设置

5. 开发遗留问题

  • localhost URL泄露到生产Hermes bundle
  • 开发者本地IP硬编码在字符串资源中
  • Expo开发客户端编译进发布构建
  • 开发专用Compose PreviewActivity导出到Manifest

📊 包含的68+第三方库

  • 框架: React Native, Expo SDK 54, Hermes JS引擎
  • 推送: OneSignal, Firebase Cloud Messaging
  • 分析: Firebase Analytics, Google Data Transport, OpenTelemetry
  • 网络: OkHttp 3, Apollo GraphQL
  • 图像: Fresco, Glide, Coil 3, Uploadcare CDN
  • 视频: ExoPlayer (Media3), Expo Video
  • ML: Google ML Kit Vision (条形码扫描)
  • 存储: Expo Secure Store, React Native Async Storage

🔐 SSL安全

App使用标准Android TrustManager进行SSL,无自定义证书固定。如果位于被攻击的CA网络(企业代理、有MITM的公共WiFi等),App与其后端之间的流量可以被拦截和读取。

📋 结论

这个美国政府官方Android App存在严重的安全和隐私问题。它不仅追踪用户位置,还注入JavaScript去除网站的隐私保护机制,并从不受控的第三方来源加载代码。这是一个技术债务和安全风险的教科书级案例。

← 返回首页