
內容摘要
全盤存取是整個系統層級的豁免,而據報導 Apple 正因 AI agent 而收緊它——一個授權就可能等於所有檔案。趁新提示出現前,先查清楚清單。
全盤存取是 macOS 唯一不照直覺運作的權限。相機權限打開相機,聯絡人權限打開聯絡人,「檔案與文件夾」權限只涵蓋你指定的文件夾。全盤存取則直接對單一 App 關閉逐 App 的隱私檢查,給它整個系統層級的豁免。2026 年 10 月的報導指出,Apple 正在收緊這個授權的核發方式,而理由就是 AI agent。如果你在 Mac 上跑桌面助理、coding agent 或自動化工具,這項變更針對的風險,可能你早已帶在身上。
01全盤存取到底開放了什麼
macOS 透過 TCC 系統(Transparency, Consent and Control)保護敏感資料。每一種受保護資源都有自己的提示:App 要求照片權限,你同意,這個同意就只涵蓋照片,不含其他東西。全盤存取跳過整套模型——一個開關就告訴 macOS,別再對那個程序套用逐 App 保護。
兩者並排看最清楚:
| 權限 | 涵蓋範圍 | 適用範圍 |
|---|---|---|
| 照片 | 你的照片圖庫 | 單一資料類型 |
| 檔案與文件夾 | 你選取的文件夾 | 你指定的位置 |
| 全盤存取 | Mail、Messages、Safari 瀏覽紀錄、備份與其他 App 的容器 | 整個系統 |
所以它不是「多幾個文件夾」而已,而是 macOS 提供的最強一般性豁免,只為少數確實需要它的工作而存在,例如備份、同步與磁碟工具。
這道界線連你自己的指令碼都擋。從一般終端機直接查詢權限清單,macOS 會拒絕:
printf "select client from access where service='kTCCServiceSystemPolicyAllFiles';\n" | \
sqlite3 "$HOME/Library/Application Support/com.apple.TCC/TCC.db"
Error: unable to open database "/Users/<you>/Library/Application Support/com.apple.TCC/TCC.db": authorization denied
這個拒絕正是重點。記錄每一次隱私決定的資料庫本身也受保護,所以系統設定裡那份開關清單,才是你能信任的紀錄。若你想要完整的稽核與撤銷流程,包括如何跨時間比對清單,稽核全盤存取的同伴文章有逐步說明。
02為什麼 AI agent 拿到它更危險
傳統 App 做的是狹窄且可預測的事。備份工具讀檔案、寫備份;同步用戶端讀一個文件夾、上傳它。因為行為固定,你可以推斷它會碰到什麼。
agent 有兩點不同。它會依據指令與讀到的內容決定下一步,所以觸及範圍是開放式的,而不是固定清單。而且它讀到的素材能左右它:網頁、email、PDF 或程式註釋都可能夾帶指令,讓 agent 照著做,這就是 prompt injection 問題。
全盤存取會把 agent 變成讀得到整顆磁碟的程序
把這兩個特性疊在一起,一個授權就不再只是方便。取得豁免的 agent 能讀取你從未打算公開的受保護位置,而它讀到的惡意頁面,可以把這份存取導向你沒選過的地方。
這不代表 agent 預設就不安全。只能讀取你指定項目文件夾的 agent,既好用又受控。風險出在那個當下:有人只是為了讓權限提示別再跳出來,就給出了豁免。
03Apple 這次改了什麼
2026 年 10 月,報導指出 Apple 正在調整全盤存取權限,以遏止 AI agent 濫用。根據這些報導,問題不是某個特定漏洞,而是這項授權被交到某些軟件手上後,暴露的系統範圍遠超過用戶理解;而愈來愈自主的 agent 一持有它,風險又再放大。
把這些報導當成方向,而不是逐條變更紀錄。報導描述的走向,是讓這個授權更難在無意間取得,使同意成為一個刻意的動作,而不是隨手按過就忘的點擊。對多數人來說,最可能看到的實際影響,是更新後針對這項權限出現新的、或重複的提示。
新提示要有效,前提是你先看過舊清單
如果 Apple 要你重新同意存取,你會在壓力下做決定。事先知道今天有哪些 App 持有授權,這個決定就會是比較,而不是猜測。
04如何檢查哪些 App 有全盤存取
幾分鐘就能看過一輪。目標是認得清單上每一個名字,而不是只記得自己加過哪些。
- 打開「系統設定」,進入「隱私權與安全性」,再點「全盤存取」。
- 逐一讀過每個項目。幾個月前裝的 App 最容易被遺忘,而它們正是收緊政策要浮出檯面的對象。
- 檢查「一般」底下的「登入項目與擴充功能」。廠商輔助程式與背景項目可能代替某個 App 執行,看得見的 App 不一定就是全貌。
- 特別留意 agent 與開發者工具。終端機、程式編輯器、筆記 App 與自動化工具,都是 agent 最可能執行的地方。
- 大型更新後重新檢查。授權綁定 App 的程式簽章,正常簽章發布的更新通常會保留授權,但 App 的行為可能已經改變。
把清單截圖,或貼到你之後找得到的地方。下次權限提示出現時,只要比對兩分鐘,就能知道這是新要求,還是你早就同意過更寬的權限。
05AI agent 會從哪裡繼承這個授權
常見的誤解是,agent 本身必須出現在清單上。權限屬於提出要求的那個程序,而子程序會繼承父程序的存取權。這會產生幾種值得記住的情況:
| 情境 | agent 會取得全盤存取嗎? | 原因 |
|---|---|---|
| 在持有授權的終端機裡執行 agent CLI | 會 | 子程序繼承終端機的存取權 |
| 在沒有授權的終端機裡執行 agent CLI | 不會 | 存取範圍仍限於 shell 讀得到的內容 |
| 你同意過的獨立 agent App | 有列在清單上就會 | 授權綁在該 App 的 bundle 上 |
| 由輔助程序啟動的 agent | 取決於輔助程序 | 檢查登入項目與確切的 bundle 身分 |
第一列最常讓人中招。為了某個惱人的任務把全盤存取給終端機,等於默默讓之後的每道指令、每個在那裡啟動的 agent,都拿到同樣的觸及範圍。
06按下允許之前該怎麼判斷
照順序往下檢查,遇到第一個能解決問題的就停:
- 要文件夾,不要整顆磁碟。「檔案與文件夾」權限涵蓋項目目錄,其餘位置仍受保護。
- 把 agent 關進邊界。容器、虛擬機或另一個用戶帳號都能控制錯誤,而且完全不需要你管理權限。
- 別讓終端機持有授權。從沒有豁免的 shell 執行一次性任務,或改用權限受控的專用工具。
- 只授權給本質上就需要全系統範圍的軟件。備份、磁碟修復與系統監控符合條件;聊天用戶端或啟動器通常不符合。
- 撤銷已不用的授權。移除你已移除或汰換的 App 授權,再回頭檢查它們留下的輔助程序。
隔離勝過權限管理
如果 agent 只看得到一個文件夾,你就不必預測它會讀什麼。被入侵的沙箱 agent,能碰到的是單一項目,而不是你的 Messages 對話紀錄。
07常見錯誤與修正
| 錯誤 | 造成的後果 | 改用這個做法 |
|---|---|---|
| 為了讓 App 別再詢問而給出權限 | 關掉該 App 之後所有提示 | 只給受控的文件夾權限 |
| 為了跑一支指令碼而授權終端機 | 之後每個 agent 都繼承它 | 改用沒有授權的 shell |
| 同意了輔助程序而不是 App 本身 | 授權綁到錯的 bundle | 先檢查登入項目 |
| 以為更新會清除授權 | 正常簽章的更新通常會保留 | 大型更新後重新檢查清單 |
| 從不回頭看那份清單 | 授權默默累積 | 每次新提示出現前先看一遍 |
全盤存取本身不是壞東西,真正需要它的 App 也確實在做正經事。現在值得你注意的是報導描述的那個組合:一個為系統工具設計的權限,被交給會自行判斷的軟件,而 Apple 正動手讓這個交付變得更謹慎。先看一次清單,下一次提示就會是你做出的決定,而不是順手按過的按鈕。
在更新前後比對全盤存取清單,找出新增的授權。
Diff 比對工具常見問題
用最簡單的話說,全盤存取是什麼?
它是 macOS 的一項權限,會對某個 App 關閉逐 App 的隱私保護。取得後,該 App 就能讀取系統平常會守住的資料,包括 Mail、Messages、Safari 瀏覽紀錄與其他 App 的檔案。
Apple 為什麼選在現在調整全盤存取?
據報導,Apple 調整這項權限是為了遏止 AI agent 濫用。問題在於:agent 取得這個授權後,能對系統做的事遠超過用戶當初按下允許時的理解。
AI agent 有可能在我沒授權的情況下取得全盤存取嗎?
不會直接取得,但可能繼承。從終端機啟動、或由已持有授權的 App 啟動的 agent,會以父程序相同的權限執行。
我要怎麼檢查哪些 App 有全盤存取?
打開「系統設定」,依序進入「隱私權與安全性」與「全盤存取」。那份清單才是權威紀錄;底層的 TCC 資料庫受到保護,一般指令碼讀不到。
我該關掉終端機的全盤存取嗎?
如果你會在裡面執行 agent 或來路不明的指令碼,就該關掉,或改放到沙箱工具裡執行。沒有這個授權的終端機照樣能用,只是無法默默讀取受保護的位置。
App 更新後會失去全盤存取嗎?
同一開發者以正常簽章發布的更新,通常會保留授權。所以大型更新後要重新檢查清單,而不是假設 App 仍只做你當初同意的事。
相關文章
- 稽核與控管 macOS 的全盤存取
逐步帶你稽核授權清單並撤銷存取。
- 如何挑選並自架 coding agent harness
把 agent 關在夠小的邊界裡,讓它根本不需要全盤存取。
相關工具
- Diff 比對工具
在不同時間點比對權限清單。
- Regex 測試工具
篩選 launch agent 與輔助程序。
- JSON 格式化工具
讀取匯出的 plist 與權限清冊。