UrsaKit 解說 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 有全盤存取

幾分鐘就能看過一輪。目標是認得清單上每一個名字,而不是只記得自己加過哪些。

  1. 打開「系統設定」,進入「隱私權與安全性」,再點「全盤存取」。
  2. 逐一讀過每個項目。幾個月前裝的 App 最容易被遺忘,而它們正是收緊政策要浮出檯面的對象。
  3. 檢查「一般」底下的「登入項目與擴充功能」。廠商輔助程式與背景項目可能代替某個 App 執行,看得見的 App 不一定就是全貌。
  4. 特別留意 agent 與開發者工具。終端機、程式編輯器、筆記 App 與自動化工具,都是 agent 最可能執行的地方。
  5. 大型更新後重新檢查。授權綁定 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 正動手讓這個交付變得更謹慎。先看一次清單,下一次提示就會是你做出的決定,而不是順手按過的按鈕。

常見問題

用最簡單的話說,全盤存取是什麼?

它是 macOS 的一項權限,會對某個 App 關閉逐 App 的隱私保護。取得後,該 App 就能讀取系統平常會守住的資料,包括 Mail、Messages、Safari 瀏覽紀錄與其他 App 的檔案。

Apple 為什麼選在現在調整全盤存取?

據報導,Apple 調整這項權限是為了遏止 AI agent 濫用。問題在於:agent 取得這個授權後,能對系統做的事遠超過用戶當初按下允許時的理解。

AI agent 有可能在我沒授權的情況下取得全盤存取嗎?

不會直接取得,但可能繼承。從終端機啟動、或由已持有授權的 App 啟動的 agent,會以父程序相同的權限執行。

我要怎麼檢查哪些 App 有全盤存取?

打開「系統設定」,依序進入「隱私權與安全性」與「全盤存取」。那份清單才是權威紀錄;底層的 TCC 資料庫受到保護,一般指令碼讀不到。

我該關掉終端機的全盤存取嗎?

如果你會在裡面執行 agent 或來路不明的指令碼,就該關掉,或改放到沙箱工具裡執行。沒有這個授權的終端機照樣能用,只是無法默默讀取受保護的位置。

App 更新後會失去全盤存取嗎?

同一開發者以正常簽章發布的更新,通常會保留授權。所以大型更新後要重新檢查清單,而不是假設 App 仍只做你當初同意的事。

返回文章列表

相關文章

相關工具