Mac 自 2022 年起建你的家人關係圖,研究員拆解 144 個訊號

Elponcrab
分享
Mac 自 2022 年起建你的家人關係圖,研究員拆解 144 個訊號

每一台 Mac 從 2022 年的 macOS 13 開始,背景都有兩個程式在替使用者建一張「個人知識圖譜」:你是誰、認識誰、這些人跟你是什麼關係、你們怎麼聯絡、你去過哪裡、什麼時候在做什麼。

資安研究員 Dario Pasquini 與 Michał Bazyli 10 月 28 日在研究網站 Eighth Rank 發表《Anatomy of Apple’s Personal Knowledge Graph》,拆解這套系統存了什麼、怎麼推論。他們發現,Mac 會用兩個機器學習模型、144 個訊號,替通訊錄裡的每個人打分數,判斷誰是你的家人。

兩個背景程式,51 個資料庫放在使用者資料夾

這兩個程式叫 knowledgeconstructiond 與 intelligenceplatformd。研究員說,Apple 對它們幾乎沒有公開說明,最接近官方文件的是系統內建的說明頁,只有一句話:這個程式「分析裝置上的內容,協助建立代表裝置與使用者的知識圖譜」。

廣告 - 內文未完請往下捲動

資料存在使用者資料夾的 ~/Library/IntelligencePlatform 底下,共 51 個 SQLite 資料庫,內容沒有加密,但所在位置受 macOS「完整磁碟取用權」保護,一般 App 沒有授權讀不到。研究員是在 2026 年 8 月研究 macOS 26 的 Apple Intelligence 元件時碰到這套系統,文中數據都在 macOS 26.6.2 上取得。

他們也不是第一個發現的人。Apple 自己的研究員 2023 年的論文提過要在裝置上建立私人知識圖譜;開發者 Nic Lydon 在他們之前幾個月就在 dev.to 寫過自己筆電上的同一個資料庫;數位鑑識工具 iLEAPP 作者 Alexis Brignoni 9 月也在 iPhone 上找到同一套資料。研究員說,這次是要往下挖,查清楚它收了什麼、推論了什麼。

181 種實體類別,近三分之一在記你在做什麼

核心資料庫 graph.db 用 181 種實體類別、278 種關係(謂詞)描述使用者。實體可以是人、App、事件,關係則記錄系統「認為」兩者之間是什麼關係,例如某人的雇主是哪家公司。

181 種類別裡有 57 種在描述活動,包括睡覺、運動、正念、上床、通勤、用餐。研究員也提醒,不是每個類別都確定有在使用,有些可能只是預留欄位。

寫進圖譜的資料來源包括通訊錄、照片裡的人臉、行事曆的標題與參加者、家人共享(含每位成員的年齡)、健康 App 醫療卡上的緊急聯絡人、Siri 建議從郵件與訊息裡找出的活動和聯絡人,以及已安裝的 App。

另外還有幾張獨立的表:誰跟誰一起出現在照片裡;通訊紀錄,記下跟誰、什麼時間、用哪個 App、誰傳給誰,但不含訊息內容,而且會從使用者的其他裝置同步過來;位置與移動紀錄;以及螢幕上鎖、Wi-Fi、藍牙、充電、環境光線等裝置訊號。

144 個訊號判斷誰是家人,連週六晚上的合照都算

大部分欄位只是從原始資料複製過來,真正的推論來自模型。系統內附兩個 XGBoost 分類模型,分別判斷某人是不是「家人」與「家人或朋友」,輸入 144 個數值特徵:20 個關於身分,例如同姓、同住址、是否在 iCloud 家人共享裡;40 個關於你在一週哪幾天、一天哪個時段跟對方聯絡;84 個關於你們一起出現在哪些照片裡。

研究員特別點名一個特徵名稱:photosPersonPosteriorProbabilityGivenSaturdayNight,也就是「週六晚上跟這個人一起出現在照片裡的機率」,就寫在一個專門判斷誰是家人的模型裡。

分數存在另一個資料庫 entityTagging.db,每人一列、17 個關係欄位,從家人、母親到同事,每天重算。其中只有兩欄找得到對應的模型,其他 15 欄怎麼算出來,研究員追不到。

照片 App 另有 12 個分析器,依你跟誰一起出現在哪些旅行、假期的照片裡,替伴侶、父母、子女、同事、朋友打分數。如果開啟了 Apple Intelligence,裝置上的語言模型還會讀訊息,替照片裡沒命名的臉猜名字、猜跟機主的關係。每一筆推論都附上 0 到 1 的信心分數。

研究員也說明,文中示意圖用的是虛構資料,分數比真實情況「慷慨」。在他們實際拆解的 Mac 上,只有「母親」一欄拿到最高分 0.96,分數只會出現 0.125、0.25、0.5、0.96 這幾個值,大多數人停在預設值。

刪掉聯絡人,紀錄還留在另一張表

使用者刪掉一個聯絡人後,主圖譜會在下次重建時把他拿掉,但被撤回的資料會移到另一張名為 expired_stable_graph 的表,信心分數與來源都還在。研究員說,看起來大約 48 小時後會清掉,但在作者自己的 Mac 上,還讀得到很舊的紀錄。

他們還發現,結論可能比證據活得久:作者的 Mac 前一天已從圖譜移除兩個人,關係評分表裡卻還有他們的分數,而這兩人只出現在一封行事曆邀請裡。

被記錄的不只機主,還有身邊的人

研究員認為最重要的一點是,圖譜裡不只有用 Mac 的人,還有他的家人、朋友,以及透過這台裝置聯絡過的人。這些人都沒有被詢問過,系統卻會把他們連到機主,再透過共同的活動與群組彼此連起來。

作者用一個語言模型交叉比對自己的資料,推出家裡有小孩、大約幾歲;小孩讀哪一家托兒所、對方的兩支電話;以及全家哪幾天、幾點到幾點會在哪裡。

研究員說,這些資料原則上只留在本機、受完整磁碟取用權保護,但也可能被其他服務取用,取用方式與範圍他們還不清楚。使用者拿到的是:沒有文件、沒有辦法檢視這個資料庫,推論錯了也沒有通用的方法更正。

研究員開源 iKnow,可在自己的 Mac 上查看圖譜

研究員在 GitHub 開源了本機儀表板 iKnow。它只綁定本機位址 127.0.0.1,以唯讀方式開啟資料庫,不寫入、不留紀錄,也可以完全斷網執行,但需要使用者自行授權完整磁碟取用權。專案另附一份給 AI 代理讀的說明,研究員建議搭配在自己電腦上執行的模型,不要用雲端模型。

macOS 27 已在 9 月 14 日推出。研究員說,升級到 27.0.1 後,圖譜撤回了大部分來自通訊錄、行事曆、Siri 建議、家人共享與 App 清單的資料,並在隔天重建,iKnow 部分頁面在 macOS 27 上可能還不能完整使用。

延伸實驗:交給移除安全限制的模型,第一個計畫是綁架

Pasquini 同一天發表第二篇延伸文章,做了一個「最壞情況」的思想實驗:把自己的知識圖譜交給一個移除安全限制的語言模型,要求它根據資料規劃傷害機主的步驟。模型第一個提出的是綁架家人的計畫,並列出可改成單純電話勒索,不必真的動手的版本。

他承認,圖譜裡的資訊原本就散落在電腦上。差別在於,過去攻擊者得自己整理數十 GB 的照片、郵件與訊息,才拼得出「這是他女兒、大約 4 歲、讀哪家托兒所」;現在系統已經事先算好,變成同一個資料夾裡幾 MB 的 SQLite 檔,每台新版 Mac 的結構幾乎相同。研究員也註明,兩種情境都要先取得目標電腦的完整磁碟取用權。

兩篇文章都沒有提到 Apple 的回應,鏈新聞截至發稿也沒有查到 Apple 對這套圖譜的公開說明。

風險提示

加密貨幣投資具有高度風險,其價格可能波動劇烈,您可能損失全部本金。請謹慎評估風險。