
你的 Mac 可能比你更清楚谁是你的家人。安全研究机构 8rank 的两位研究员 Dario Pasquini 与 Michał Bazyli 在 10 月 28 日发表长文《Anatomy of Apple’s Personal Knowledge Graph》,揭开了一个从 macOS 13(2022 年)起就装在每台 Mac 里的机制:两个系统守护进程在本地建了一张关于你的个人知识图谱,还用一对分类器给通讯录里的人打分,判断谁是家人。这篇文章 11 月 7 日冲上 Hacker News 首页,引发了大量关于“本地数据算不算隐私”的讨论。
两个守护进程,一张本地图谱
主角是 knowledgeconstructiond 与 intelligenceplatformd。按官方手册页(man 8 knowledgeconstructiond)的说法,前者的任务是“分析本机内容,构建通用知识图谱”。它们的工作成果存在 ~/Library/IntelligencePlatform,一个由 51 个 SQLite 数据库组成的目录:数据以明文存放,但位置受 TCC“完全磁盘访问权限”保护。
其中最核心的是 graph.db,一个三元组存储:181 类实体、278 种谓词,每一行都是“主语—谓词—宾语”,描述一个人、一款应用、一场活动之间的关系。图谱的数据来源几乎是你 Mac 上的全部:通讯录、日历、照片(人脸)、信息、邮件、位置与屏幕使用时间,还包括家人共享(每位成员的年龄)、健康里健康 ID 的紧急联系人、Siri 建议从邮件和信息里找出的事件与联系人,以及 App Intents 捐赠的数据。旁边还单独存着通信记录(和谁、什么时间、哪个应用、哪个方向,不含内容)、位置与移动轨迹,以及锁屏、Wi-Fi、蓝牙、充电、环境光等一长串设备信号。
144 个特征,多数与身份无关
图谱里最抓人的是“家人”推断。系统自带两个 CoreML 模型 EntityTagging_Family.mlmodelc 与 EntityTagging_FamilyAndFriends.mlmodelc,本质上是一对 XGBoost 二分类器,输入 144 个特征,输出一个人是不是家人的类别与概率。分数不进图谱本身,而是写进单独的 entityTagging.db:每人一行,17 个关系列(从 family、mother 到 coworker),每天重新算一遍。
144 个特征分三组:20 个身份信号、40 个通信信号、84 个照片信号。身份组是你能想到的那些:同姓、同一住址、iCloud 家人标记、有没有生日;但大头是行为:你在星期几、几点和谁联系,在照片里和谁同框、一起出现在哪些旅行与节日里。研究者点名了一个特征名:photosPersonPosteriorProbabilityGivenSaturdayNight——“基于周六夜晚合照的某人是家人的后验概率”,一个已上线分类器里真实存在的名字。
值得注意的边界是:17 个关系列里只有 2 列背后有已上线的模型,其余 15 列由什么填充、这些概率又如何变成图谱里的置信度,研究者表示没能追踪到。照片里还有 12 个分析器,分别给 partner、parent、child、coworker、friend 打分;开启 Apple Intelligence 时,本机大模型还会读你的信息,给照片里的人脸起名字、定关系。
自己查:开源工具 iKnow
研究者同时开源了 iKnow(Apache 2.0 协议),一个本地仪表盘,只用 Python 标准库实现:直接在你的 Mac 上运行,绑定 127.0.0.1,以只读方式打开这些数据库,在浏览器标签页里展示你自己的图谱——谁在你身边、家人的打分卡、一年里你和谁联系过、你的日历知道你接下来要去哪。运行过程不写盘、不记日志,可以断网跑。已在 macOS 26.6.2 与 26.7.1 上测试通过,27.0.1 上部分页面还不完整。
研究者也坦言了这套机制的另一面:删掉的东西未必真的消失。删一个联系人,实时图谱不再推导他,但被撤回的行会移进旁边的 expired_stable_graph 表,保留置信度与来源,大约 48 小时后才清理——在他们自己的 Mac 上,还能读到更早的记录。
先别慌:这些目前只留在本机
需要强调的三点:第一,以上全部是研究者的发现,苹果没有证实,官方最接近的描述只有那行手册页;第二,按研究者的说法,这套知识库“本应只留在本机”,受完全磁盘访问权限保护,并非上传到云端;第三,它与苹果公开说的 Apple Intelligence“基于你的个人上下文、本机运行”是一回事还是另一回事,目前没有官方说法。
但研究者的提醒值得听一句:这张图谱的厉害之处不在单条记录,而在关联——光凭元数据,不读任何消息正文,就能推断出家里有没有孩子、孩子大概几岁、去哪家日托、家人哪几天在哪个时间段出现在哪。数据留在本机和数据不存在,是两回事。如果你也想知道自己的 Mac 存了什么,可以用 iKnow 自己看一眼;看完觉得某条推断错了,目前还没有官方提供的通用纠正办法。
同类本地化思路可以对照着看:學舌鳥 Parroting:免费 Mac AI 语音输入,本机识别、越用越懂你,以及Off Grid AI:开源离线 AI 套件,手机和 Mac 上聊天、生图、识图全在本机跑——都是把计算留在本机的工具。
转自 8rank 作者 Dario Pasquini、Michał Bazyli 的文章《Anatomy of Apple’s Personal Knowledge Graph》,原文链接:https://8rank.ai/game/apple-intelligence-personal-knowledge-graph;开源工具 iKnow:https://github.com/8rank/iKnow










暂无评论内容