核心功能
healthkit-sync 是一套用于将 iPhone 的 Apple HealthKit 数据安全同步到 Mac 的命令行工具,采用 Swift 6 开发的 iOS 应用与 macOS CLI 配合,实现本地网络加密传输。
显著优点
安全架构成熟:采用 mTLS 双向认证 + 证书固定(TOFU 模式),首次配对后锁定服务器证书指纹,有效防止中间人攻击。Token 存储于 macOS Keychain,配置文件权限严格限制为 0600。
数据类型丰富:覆盖 20+ 种健康指标,包括步数、心率、睡眠、血氧、体温、VO2Max 等,支持 CSV/JSON 双格式输出,便于后续数据分析。
本地化优先:仅允许局域网连接(私有 IP、*.local 域名),数据不出本地网络,隐私风险可控。
开发者友好:提供完整的 CLI 工作流——设备发现、QR 码配对、数据拉取、状态检查,支持管道操作直接对接 jq、文件重定向等 Unix 工具链。
潜在局限
- 平台锁定:仅支持 macOS + iOS 生态,Windows/Linux 用户无法使用
- 网络依赖:要求双设备处于同一 Wi-Fi 网络,且需开启 mDNS(5353 端口)
- 证书管理成本:证书轮换后需重新配对,删除配置文件并走完整流程
- 无官方背书:个人开源项目(mneves),非 Apple 官方工具,长期维护存在不确定性
适合人群
- 需要批量导出 Apple Health 数据进行科研/个人分析的用户
- 开发健康类应用的工程师,需要真实数据集测试
- 关注隐私、拒绝云同步的「数据主权」倡导者
常规风险
1. 配置泄露风险:~/.healthsync/config.json 若被窃取,攻击者可尝试局域网内重放攻击(但无法突破 mTLS 指纹验证)
2. Keychain 同步陷阱:若开启 iCloud Keychain,token 可能意外同步至其他设备
3. QR 码时效窗口:5 分钟有效期可能被社交工程利用,需在私密环境操作配对
4. Swift 6 兼容性:新版本 iOS/macOS 可能引入 API 变更,需关注项目更新