healthkit-sync

🩺 本地安全同步 Apple 健康数据

🥥38总安装量 9评分人数 11
100% 的用户推荐

基于 mTLS 和证书固定的 Apple Health 数据本地同步方案,由 mneves 开发,Apache-2.0 开源,为 iOS/macOS 开发者提供安全健康数据管理工具。

A

基本安全,请在特定环境下使用

  • 来自可信来源(Github / Microsoft / 官方仓库)
  • ✅ 纯文档型 skill,无可执行代码或外部网络调用,攻击面极小
  • ✅ 展示防御性安全最佳实践:mTLS、证书固定、Keychain 存储、本地网络白名单
  • ✅ 无硬编码凭据、敏感路径或混淆内容,文档内容完全透明
  • ✅ Apache-2.0 开源许可,作者 mneves 身份可验证,项目归属清晰
  • ⚠️ 实际安全依赖外部 `healthsync` CLI 工具,建议用户验证二进制来源

使用说明

核心用法

healthkit-sync 是一套完整的 iOS HealthKit 数据同步解决方案,包含 Swift 6 开发的 iOS 应用和 macOS CLI 工具。用户通过本地网络(Wi-Fi)将 iPhone 上的健康数据(步数、心率、睡眠、运动等)安全同步到 Mac 设备。核心流程包括:使用 healthsync discover 发现局域网设备,通过 QR 码扫描完成首次配对(TOFU 信任模型),随后使用 healthsync fetch 命令按需导出 CSV 或 JSON 格式的健康数据。所有通信采用 mTLS 加密,证书通过 SHA256 指纹固定,Token 存储于 macOS Keychain 而非明文配置文件。

显著优点

安全性设计突出:采用多层防御机制——mTLS 双向认证、证书固定(Certificate Pinning)防中间人攻击、本地网络地址白名单(阻止 SSRF)、Keychain 安全存储、90 天审计日志。这些实践符合金融级数据保护标准,对于健康这类敏感个人数据尤为关键。

隐私优先架构:数据流转完全局限于本地网络,不经过任何云端服务,从根本上杜绝了第三方数据泄露风险。用户拥有完整的数据主权。

开发者友好:提供详尽的架构文档、安全模式说明和测试指南,采用现代 Swift 特性(Actor 并发、SwiftData、协议导向测试),可作为 iOS 安全开发的参考实现。

开源透明:Apache-2.0 许可证允许商业使用和二次开发,代码和文档完全公开,接受社区审计。

潜在缺点与局限性

平台锁定:仅支持 Apple 生态(iOS 16+、macOS),Android 或 Windows 用户无法使用。HealthKit 本身的数据类型覆盖虽广,但某些第三方健康设备数据可能无法同步。

网络环境依赖:要求 iPhone 和 Mac 处于同一 Wi-Fi 网络,且防火墙需放行 mDNS(5353 端口)。企业网络或公共 Wi-Fi 可能限制此类通信。

技术门槛:需要用户具备基本的命令行操作能力,配置 mTLS 证书和理解 TOFU 模型对非技术用户有一定认知负担。

维护责任:作为自托管方案,用户需自行确保 iOS 应用和 CLI 工具的版本同步,证书过期后需手动重新配对。

适合的目标群体

  • 健康数据分析师/研究者:需要批量导出 Apple Health 数据进行统计研究
  • 隐私敏感型用户:拒绝将健康数据上传至云端,追求本地化管理
  • iOS/macOS 开发者:学习 HealthKit 集成、mTLS 实现、安全存储等最佳实践
  • 量化自我(Quantified Self)爱好者:构建个人健康数据仓库,对接自定义分析工具
  • 医疗健康创业公司:作为合规的数据采集基础设施参考

使用风险

工具链完整性风险:该 skill 仅为文档,实际功能依赖外部 healthsync CLI 工具。用户需从可信渠道获取 CLI 二进制文件,建议验证签名或自行编译。

本地网络安全风险:尽管有地址白名单,若本地网络已被入侵(如恶意热点),攻击者仍可能尝试中间人攻击。证书固定机制可有效缓解,但用户需留意"证书不匹配"警告。

数据导出后的管理风险:导出的 CSV/JSON 文件不再受 Keychain 保护,用户需自行确保后续存储安全,避免明文健康数据泄露。

配置权限风险:配置文件要求 0600 权限,若用户误操作导致权限放宽,可能暴露服务器指纹信息(虽非密钥,但可用于针对性攻击)。

依赖项更新风险:Swift 运行时和 HealthKit API 随 iOS 版本演进,长期维护需关注 Apple 平台更新带来的兼容性调整。

healthkit-sync 内容

文件夹图标references文件夹
手动下载zip · 11.2 kB
ARCHITECTURE.mdtext/markdown
请选择文件