
研究揭示每台Mac自带未公开的家庭成员分类系统
来源标题:Every Mac comes with an (undocumented) family member classifier
安全研究员发现,自macOS 13(2022年)起,每台Mac都内置一对后台守护进程,专门构建关于用户及其身边人的个人知识图谱。该系统记录用户身份、人际关系、亲属关联、通信方式、行踪和行为时间等信息,研究者还发布了可查看自身图谱的工具。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
第八等级 技术分析 开篇 由象(Dario Pasquini)执笔 2026-10-28 苹果个人知识图谱剖析 自 macOS 13(2022 年)起,每一台 Mac 都自带一对守护进程,它们存在的唯一目的就是构建一张图谱:关于你是谁、你认识谁、这些人与你以及彼此之间有何关系、你如何与他们通信、你去哪里、你做什么以及何时做。本文中,我们深入探究这套系统如何运作,并提供一个工具,让你窥探自己的图谱。 一个家族分叉:e2 上的一匹马同时攻击白方的王、后、车和象。白方的棋子就是图谱所描述的家庭;那匹马是存储,与其中每一个都只差一步。白方自己的上一步 18.e3 清空了它所在的格子。白方被将军,只有一个合法应手 Kh1;随后那匹马吃掉皇后。将军落在接受条款的人身上。失去的却是别人。 3r1rk1/pp2qppp/8/3p1b2/8/1NQ1P1B1/PP2nPPP/2R2RK1 w - - 1 19 如果我告诉你,自 2022 年起每一台 Mac 都自带一对守护进程,它们存在的唯一目的就是构建一张关于你和你周围的人的图谱:你是谁、你认识谁、这些人与你以及彼此之间有何关系、你如何与他们通信、你去哪里、与谁同去、你做什么以及何时做。这张图谱在设备上构建,交叉引用了机器上几乎一切内容:通讯录、日历、照片、信息、邮件、位置、屏幕使用时间以及一长串行为信号。更重要的是,它被保存为一个可查询的存储,供 LLM 从中检索(据称如此)。你会相信我吗? 嗯,这就是正在发生的事,而且有趣的是,关于这整套机制在你的 Mac 上如何运作,几乎没有什么文档。最接近官方描述的是 man 手册(man 8 knowledgeconstructiond),而你所能得到的全部内容就是: NAME knowledgeconstructiond – 一个分析设备上的内容以构建通用知识图谱的守护进程。 DESCRIPTION knowledgeconstructiond 分析此设备上的内容,以帮助构建 一个代表设备与用户的知识图谱。它与 intelligenceplatformd 协同工作,执行部分 繁重的处理任务,以生成该知识图谱。 先前工作:平心而论,苹果自己的研究人员确实在 2023 年发表过一篇论文,讲述这张图谱构建背后的技术。但关于它如何集成到 macOS 中,几乎没有任何信息:哪些版本运行它,以及所收集和推断内容的确切清单。而对于下文讨论的“亲属关系”推断,则只字未提。另外,我们个人是在 2026 年 8 月对 macOS 26 中的 Apple Intelligence 包做安全研究时碰到它的;但几个月前,Nic Lydon 也遇到了同一个数据库,并写下了《I Built a Personal Knowledge Graph. Apple Had Already Built One on My Laptop.》。 这篇博文记录了我们对知识图谱实际功能所做的一些分析工作,以便你(用户)能更好地理解这套机制如何运作,并更清楚地了解这张图谱掌握了你以及你的家人和朋友的哪些信息。文中所有内容均收集自 macOS 26(写作时为 26.6.2)。 为此,我们开源了一个本地仪表盘(iKnow),你可以用它读取你 Mac 上个人知识图谱的内容。 最后,我们稍微跑个题,看看我们最擅长的事:武器化与利用。我们做一个思想实验(适用于任何此类个性化系统),展示如果这样的知识库落入坏人手中会发生什么,以及一个“隐私单点故障”如何被利用,以你此前可能未曾想过的方式威胁你(当与一个解除对齐的 LLM 结合时)。 这两个守护进程把工作成果保存在 ~/Library/IntelligencePlatform,这是一个存放 SQLite 数据库(共五十一个数据库)的目录,以明文存储,但位于受 TCC 完全磁盘访问权限保护的区域。 最有趣的很可能就是 graph.db。它是一个三元组存储,用包含 181 个实体类和 278 个谓词的词汇表写成:每一行都是一个主语、一个谓词和一个宾语。主语是一个实体(一个人、一个应用、一个事件);宾语要么是一个普通值(一个名字、一个账号、一个日期),要么是另一个实体,图谱的边就由此而来。谓词才是有趣的部分:它说明了系统认为两者之间存在何种关系。 (我) 这台 Mac 的所有者 9100000000007919 PS500 雇主 CS165 雇佣关系 关系类型 PS45 成员 Halden Labs 一个组织 9100000000013724 STABLE_GRAPH · 同一条边,以它所在的两行呈现 主语 谓词 relationshipId relationshipPredicate 宾语 9100000000007919 PS500 4412 PS1 CS165 9100000000007919 PS500 4412 PS45 9100000000013724 每一行还带有 confidence、sources、sourceDuplicates 和 timestamp 图谱的一条边(合成数据):一个人以及存储认定为其雇主的组织。PS500 是 predicate.json 赋予 employer 的 id 谓词,而它的范围并非一个组织,而是一个关系类型——因此一条边是两行共享同一个 relationshipId,一行指明关系种类,另一行指向另一个实体。下表中的四十六个关系类型类正是为此而存在,这使得一条边能够拥有自己的置信度,并在日后被撤回。
(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。