你的 Mac 正在后台偷偷给你写“人生档案”

意外富翁 · 6小时前 · 技术 · 14 · 0

原文由安全分析团队 8rank.ai 发布,并在 Hacker News 等技术社区引发了极大关注。用通俗易懂的话来说,它讲了一件让你既觉得 “科技很神奇” 又觉得 “背后有点发凉” 的事:

你以为的 Apple Intelligence,可能只是键盘上弹出的写作助手、照片里的消除笔,或者反应更快的 Siri。但在系统最隐秘的角落,苹果早已为你和身边所有人建立了一份高度结构化、巨细靡遗的 “个人档案关系网”(Personal Knowledge Graph)。

近日,安全分析团队 Eighth Rank 发布的一篇重磅逆向分析报告在 Hacker News 等技术社区引发巨大震动:研究人员深入拆解了 macOS 系统,曝光了系统内置的 51 个本地数据库、181 类实体、278 种谓词关系以及 144 个行为推断特征。

更值得关注的是,作者团队开源了一款名为 iKnow 的本地可视化工具,让普通用户也可以直接在自己的 Mac 上运行,亲眼看看苹果在后台给你记录了什么。

一、幕后黑手:一直在你电脑上运行的两个守护进程

从 macOS 13 开始,你的 Mac 在后台就已经常驻了两个守护进程(Daemons):

  • knowledgeconstructiond(知识构建程序)
  • intelligenceplatformd(智能平台程序)

它们的工作非常纯粹:随时随地分析你电脑里的所有数字足迹,在本地绘制一张以你为中心的人际关系与生活动线图谱。

终端输入 man 8 knowledgeconstructiond,苹果官方给出的极其简略的描述证实了这一点:

“knowledgeconstructiond analyzes the content on this device to help build a knowledge graph representing the device and the user.”

这两个进程构建的所有成果,都存放在受系统 TCC(透明度、同意与控制)保护的系统目录:
~/Library/IntelligencePlatform/

这个目录下包含了多达 51 个 SQLite 数据库,其中最核心的两个是:

  1. graph.db:标准的 RDF 三元组知识图谱(主体 Subject - 谓词 Predicate - 客体 Object)。
  2. entityTagging.db:专门存放人际关系推断评分的数据库。

二、它究竟掌握了你多少秘密?

苹果为了构建这个图谱,设计了一套由 181 类实体 和 278 种谓词关系 构成的本体结构(Ontology):

1. 数据来源:无死角的本地“翻箱倒柜”

系统几乎翻阅了所有它能拿到的权限:

  • 通讯录与邮件/信息:联系人、工作单位、邮件往来、Siri 建议识别到的行程预订与航班。
  • 相册人脸识别:谁和谁经常同框合影、在哪合影、合照的时间跨度。
  • 家庭共享与健康:家庭成员真实年龄、健康 App 急救卡里设定的紧急联系人。
  • 时空与活动轨迹:包含睡觉、唤醒、就餐、通勤、运动等 57 种具体行为,以及蓝牙、Wi-Fi 探测。
  • 物理社交标记(PhysicalSocial):数据结构中甚至预留了 ContextualUnderstanding.PhysicalSocial,专门用于记录在某一时间段内**“谁在物理空间上处于你身边”**。

2. 每天跑一次的“人际关系机器学习模型”

图谱并不只是简单复制你的通讯录,它还用机器学习去**“猜”**你和每一个人的真实关系。

系统内置了 CoreML 分类模型(如 EntityTagging_Family.mlmodelc),基于 144 个特征 进行每日重算:

  • 身份特征(20项):是否同姓、是否同住宅地址、是否同一私人邮箱域名、年龄差距区间等。
  • 通信互动(40项):周一到周日、上午/下午/晚上的联系频次与概率分布。
  • 照片同框(84项):你们共同出现在照片中的长短期流行度、周末同框概率、特定节假日是否在一起等。

基于这些特征,系统会在 entityTagging.db 中为你联系人列表中的每个人打分,预测他们是你的 母亲、父亲、伴侣、子女、同事、朋友还是普通熟人,并附带 0~1 之间的置信度(Confidence)。

三、苹果为什么要建这个图谱?

这是端侧 AI(Apple Intelligence)必须的“外挂记忆库”。

通用大语言模型(LLM)擅长语言表达,但它天生没有用户的背景记忆,它不知道“我老婆”叫什么名字、不知道“上周跟我吃饭的人”是谁。

传统方式如果让大模型每次都临时去遍历几十个 G 的相册、日历和邮件数据库,速度慢且能耗极大。苹果的方案是:后台定期构建好轻量级、高确定性的本地知识图谱,当你在前台呼叫 Siri 或 AI 处理任务时,大模型直接拿图谱里的实体与关系做上下文检索。

但隐私的隐患也在这里:
虽然苹果坚守了“端侧不上传”的承诺,但这导致了一个新的安全挑战——“高价值数据过于集中”。以前黑客需要窃取多款 App 的零散数据再自行做数据挖掘;而现在,Mac 系统已经在本地把所有人际隐私和行为结论梳理得清清楚楚。

四、动手实操:用 iKnow 查看你 Mac 里的秘密

为了让用户了解自己的数据状况,研究团队开源了查看工具 iKnow。

iKnow

iKnow 采用 Python 标准库纯原生编写,不依赖任何第三方 Python 包、没有 npm、不加载外部 CDN,运行时仅监听本地回环地址(127.0.0.1),完全离线、只读,不会篡改你的数据库。

步骤 1:为终端应用授予“完全磁盘访问权限”(核心前提)

由于图谱所在的 ~/Library/IntelligencePlatform/ 受到 macOS 沙盒 TCC 保护,如果不给权限,任何第三方脚本都无法读取。

  1. 打开 Mac 的 「系统设置」 (System Settings)。
  2. 依次进入 「隐私与安全性」 (Privacy & Security) -> 「完全磁盘访问权限」 (Full Disk Access)。
  3. 点击底部的 + 号,将你常用的终端工具(例如 终端 (Terminal) 或 iTerm2)添加进去,并勾选开启权限。
  4. 如果终端正在运行,需退出并重启终端生效。

步骤 2:下载并启动 iKnow

打开刚刚授予权限的终端,执行以下命令克隆仓库并运行:

# 1. 克隆代码仓库
git clone https://github.com/8rank/iKnow.git

# 2. 进入项目目录
cd iKnow

# 3. 运行本地服务(macOS 自带的 Python 3 即可直接运行)
python3 iknow.py

(注:如果你的 Python 入口文件名有所不同,可查看该仓库根目录下的 README 或 Python 脚本名称。)

步骤 3:在浏览器中打开本地仪表盘

脚本运行后,控制台会输出本地监听地址,通常是:

Serving on http://127.0.0.1:8000 (Press Ctrl+C to quit)

打开 Safari 或 Chrome,访问 http://127.0.0.1:8000(或终端提示的端口号),即可进入 iKnow 仪表盘。

步骤 4:你在 iKnow 里能看到什么?

  • 人际关系网络图(Network Graph):以你的本机账号为中心,展示向外辐射的亲密关系网络。
  • 亲属与关系预测计分卡(Kinship Scorecard):查看你的联系人在 17 种人际分类中的模型打分(你可以看到系统推测某人是你的“配偶”置信度是 0.98,或是“同事”置信度是 0.85)。
  • 相册同框聚类统计(Photos Co-occurrence):展示被相册算法经常绑定在一起的面孔和频次。
  • 实体与谓词全览(Knowledge Graph Explorer):直接检索 graph.db,查看系统给你的日程、邮件、应用使用打上了哪些本体标签(Predicate)。

长久以来,苹果的“端侧处理(On-Device)”一直被视为隐私保护的黄金标准。但这项针对 macOS 个人知识图谱的研究让我们看到,当本地智能变得越来越强大、推演越来越深刻时,端侧设备本身就变成了一台精准的微型监控系统。

跑一次 iKnow,或许会让你重新审视:所谓“懂你”的人工智能,背后究竟付出了多少个人隐私的集中代价。

已复制到剪贴板
广告
广告

评论 0 条

暂无评论,来种下第一颗种子。