← Alle Beiträge

Festplattenvollzugriff unter macOS und KI-Agenten: Was Apple sagte

Aus den Leitfäden: Claude Code & Codex CLI

Was hat Apple zum Festplattenvollzugriff gesagt, und was bedeutet das für KI-Agenten? Am 2. Oktober 2026 veröffentlichte Apple eine kurze Entwicklermeldung, „Updates to Full Disk Access in macOS“ (Änderungen am Festplattenvollzugriff in macOS). Darin heißt es, der Festplattenvollzugriff (Full Disk Access) umgehe „largely“ (weitgehend) die Kontrollen, die private Daten der Benutzer schützen, „Some developers are using Full Disk Access in ways that could put users at risk“ (manche Entwickler nutzen den Festplattenvollzugriff auf eine Weise, die Benutzer gefährden kann), und: „Going forward, we will introduce additional controls to ensure that users who genuinely wish to grant an app this extraordinary level of access can only do so with very explicit user action.“ (Künftig führen wir zusätzliche Kontrollen ein, damit Benutzer, die einer App diesen außergewöhnlichen Zugriff wirklich gewähren wollen, dies nur durch sehr explizites Handeln tun können.) Als Grund nennt Apple: „As AI agents become increasingly capable and autonomous, the risks associated with this level of access will grow substantially.“ (Je leistungsfähiger und autonomer KI-Agenten werden, desto stärker wachsen die Risiken eines solchen Zugriffs.)1 Die Meldung nennt keine macOS-Version, kein Datum, keinen Mechanismus und keine App. Wer Agenten auf einem Mac betreibt, für den zählt heute vor allem, wie ein Agent überhaupt zu diesem Zugriff kommt. Ein Kommandozeilen-Agent läuft unter dem Terminal, das ihn gestartet hat. In der Apple-Dokumentation, die ich gelesen habe, gibt es dafür keine allgemeine Regel, aber die Manpage von Apples eslogger sagt, dass der Aufruf dieses Werkzeugs „from an app, including Terminal.app or a third-party terminal emulator, requires the respective app to be authorized for Full Disk Access.“ (aus einer App heraus, einschließlich Terminal.app oder eines Terminalemulators eines Drittanbieters, verlangt, dass diese App für den Festplattenvollzugriff autorisiert ist.)2 Ein Apple-Supportingenieur formuliert es in einem Forenbeitrag so: „The tool’s responsible code is Terminal.“ (Der verantwortliche Code des Werkzeugs ist Terminal.)3 Geben Sie Ihrem Terminal Festplattenvollzugriff, und jeder Agent, den Sie darin starten, kann lesen, was das Terminal lesen kann: laut Apples Liste Mail, Messages, Safari-Daten und Time-Machine-Backups.4 Die Sandboxes der Anbieter ändern daran standardmäßig nichts. Auf meinem Mac gelang ein Lesezugriff, der Festplattenvollzugriff braucht, aus der Shell des Agenten, gelang erneut in der read-only-Sandbox von Codex und in Anthropics Sandbox-Runtime und wurde erst verweigert, als eine Sandbox-Regel genau diesen Ordner sperrte oder als ich denselben Lesezugriff außerhalb des Terminals startete.5

Das Wichtigste in Kürze

  • Was Apple sagte. Am 2. Oktober 2026 teilte Apple Entwicklern mit, es „will introduce additional controls“ (werde zusätzliche Kontrollen einführen), damit das Gewähren von Festplattenvollzugriff „very explicit user action“ (sehr explizites Handeln des Benutzers) verlangt, und nannte KI-Agenten als Grund, weshalb das Risiko „will grow substantially“ (erheblich wachsen werde). Die Meldung nennt weder Version noch Datum noch Mechanismus. Die Release Notes zu macOS 27.2 beta 3 enthalten keine Zeile dazu. Einen Eintrag für macOS 27.1 fand ich weder im Releases-Feed vom 11. Oktober noch im Index der Release Notes: Der Feed führt macOS 27.0.1 (28. September), das ohne Release Notes für Entwickler erschien, und danach macOS 27.2 beta 3; die Betas von 27.2 selbst begannen am 16. September.16789
  • Was Festplattenvollzugriff ist. Eine Einstellung unter Datenschutz & Sicherheit (Privacy & Security), mit der eine App „access all files on your computer“ (auf alle Dateien Ihres Computers zugreifen) kann, einschließlich der Daten aus Mail, Messages, Safari und Home, der Time-Machine-Backups und „certain administrative settings for all users on this Mac“ (bestimmter Verwaltungseinstellungen für alle Benutzer dieses Mac). Eine App kann nicht danach fragen; der Benutzer fügt die App von Hand hinzu, oder ein MDM-Profil gewährt den Zugriff. In dem, was ich gelesen habe, hat Apple ihn dreimal an Backup- und Festplattenwerkzeuge geknüpft: auf der WWDC19, auf der WWDC23 und am 2. Oktober.410211121
  • Wie Agenten ihn bekommen. Auf zwei Wegen. Ein Kommandozeilen-Agent (Claude Code, Codex CLI, Gemini CLI, Hermes Agent, Aider) wird an der App gemessen, in der er läuft, also reicht ein Terminal mit Festplattenvollzugriff diesen weiter; Apple sagt das für einzelne Werkzeuge in Manpages und über seine Supportingenieure in den eigenen Foren, nie als dokumentierte allgemeine Regel. Desktop-Apps für Agenten haben eigene Einträge, und zwei Agent-Anbieter, Nous Research für Hermes sowie OpenClaw, fordern Benutzer auf, Festplattenvollzugriff zu gewähren, damit der Agent Messages lesen kann.231314
  • Was die Sandboxes leisten. Die Seatbelt-Sandboxes von Claude Code, Codex, Gemini CLI und Cursor begrenzen Schreibzugriffe, und alle außer dem Standardprofil von Gemini CLI begrenzen das Netzwerk; ihre Standard-Lesezugriffe sind weit gefasst. Auf meinem Mac ließen die beiden Sandboxes, die ich ausgeführt habe, die Freigabe für den Festplattenvollzugriff bestehen, und nach der Beschreibung der Mandatory Access Control durch Apples Supportingenieur kann keine von ihnen eine solche Freigabe hinzufügen. Die Sandbox von Claude Code ist standardmäßig aus, die von Codex an. Auf meinem Mac ging ein geschützter Lesezugriff durch die read-only-Sandbox von Codex und durch Anthropics Sandbox-Runtime; innerhalb der Sandboxes stoppte er erst, als ich den Ordner namentlich sperrte.151617185
  • Auf meinem Mac. Die Liste für den Festplattenvollzugriff enthält 75 Zeilen: unter anderem drei Terminals, die Apps ChatGPT, Cursor und Xcode, 30 Claude Code-Binärdateien mit Versionsnummer, node und vier Python-Interpreter sowie den Eintrag des SSH-Servers. Die Shell des Agenten in Ghostty hatte funktionierenden Zugriff; derselbe Lesezugriff aus einem launchd-Job, ohne Terminal darüber, wurde von TCC verweigert.195
  • Was jetzt zu tun ist. Prüfen Sie, wer ihn hat; nehmen Sie ihn dem Terminal weg, in dem Sie Agenten ausführen; geben Sie ihn nie einem Interpreter; schalten Sie die Sandbox des Anbieters ein und sperren Sie Lesezugriffe, die Sie nicht brauchen; betreiben Sie jeden Agenten, der Messages liest, unter einem eigenen macOS-Benutzer oder gar nicht; und behalten Sie die Freigabe pro Nachricht für alles, was in Ihrem Namen spricht. Jeder Schritt unten nennt seine Quelle und seinen Preis.420152122
  • Was sich ändern könnte. Apples Worte lassen einen strengeren Freigabeablauf zu, einen engeren Umfang, eine andere Behandlung von Freigaben, die von einer App an die von ihr gestarteten Programme übergehen, und Änderungen für verwaltete Macs. Abschnitt 7 liest jede dieser Möglichkeiten gegen Apples eigene benachbarte Änderungen in macOS 27 und Xcode 27, mit der Bedingung, von der sie jeweils abhängt. Keine davon ist eine Prognose.1232425

1. Was Apple am 2. Oktober sagte, und was nicht

Apples Entwickler-Newsfeed datierte die Meldung auf Freitag, 2. Oktober 2026, 09:00:19 Uhr pazifischer Zeit, zwischen einem Hinweis auf eine auslaufende Developer-ID-Zertifizierungsstelle vom 1. Oktober und den Ankündigungen zum iPhone Duo und zu App-Store-Assets vom 5. Oktober.26 Die Meldung besteht aus zwei Absätzen. Ich habe sie am 11. Oktober gespeichert und 19 Minuten später erneut abgerufen; abgesehen von typografischen gegenüber geraden Apostrophen sind beide Kopien identisch, sie hat sich zwischen meinen beiden Abrufen also nicht geändert.1

Der erste Absatz umreißt das Problem. Apple schreibt, es gebe Entwicklern „powerful APIs to build incredible capabilities into their apps for Apple products, backed by a set of controls designed to protect users’ private data“ (leistungsfähige APIs für beeindruckende Funktionen in ihren Apps, abgesichert durch Kontrollen zum Schutz privater Benutzerdaten), und dann: „Full Disk Access largely sidesteps these controls in order to allow backup apps to function properly on the Mac.“ (Der Festplattenvollzugriff umgeht diese Kontrollen weitgehend, damit Backup-Apps auf dem Mac richtig funktionieren.) Der nächste Satz ist der Vorwurf: „Some developers are using Full Disk Access in ways that could put users at risk“ (manche Entwickler nutzen den Festplattenvollzugriff auf eine Weise, die Benutzer gefährden kann), indem sie „everything on their systems“ (alles auf ihren Systemen) offenlegen, was Apple als „files, mail, messages, and even browsing history“ (Dateien, Mail, Nachrichten und sogar den Browserverlauf) ausbuchstabiert, und zwar „without users’ full knowledge and understanding“ (ohne dass die Benutzer es vollständig wissen und verstehen). Der Absatz endet bei Menschen, die nie irgendetwas zugestimmt haben: „For communication apps, this can also compromise the privacy of the people users are communicating with.“ (Bei Kommunikations-Apps kann das auch die Privatsphäre der Menschen gefährden, mit denen die Benutzer kommunizieren.)1

Der zweite Absatz enthält das Versprechen und die Begründung, hier vollständig zitiert:

„Going forward, we will introduce additional controls to ensure that users who genuinely wish to grant an app this extraordinary level of access can only do so with very explicit user action. Addressing this is critical. As AI agents become increasingly capable and autonomous, the risks associated with this level of access will grow substantially. We are committed to ensuring users clearly understand these risks before granting such access, so they can make informed decisions about their own data and privacy.“ (Künftig führen wir zusätzliche Kontrollen ein, damit Benutzer, die einer App diesen außergewöhnlichen Zugriff wirklich gewähren wollen, dies nur durch sehr explizites Handeln tun können. Das anzugehen ist entscheidend. Je leistungsfähiger und autonomer KI-Agenten werden, desto stärker wachsen die Risiken eines solchen Zugriffs. Wir wollen sicherstellen, dass Benutzer diese Risiken klar verstehen, bevor sie einen solchen Zugriff gewähren, damit sie informierte Entscheidungen über ihre eigenen Daten und ihre Privatsphäre treffen können.)1

Drei Dinge darin lohnen ein langsames Lesen.

Gegenstand ist die Freigabe, nicht die API. Jedes Verb im Versprechen betrifft den Moment, in dem ein Benutzer Zugriff gewährt: Benutzer, „who genuinely wish to grant an app“ (die einer App wirklich Zugriff gewähren wollen), „very explicit user action“ (sehr explizites Handeln), das Verständnis der Risiken „before granting such access“ (bevor sie einen solchen Zugriff gewähren). Nichts in der Meldung sagt, dass der Festplattenvollzugriff künftig weniger abdeckt, dass Apps mit diesem Zugriff überprüft werden oder dass er verschwindet. Meine Lesart, als solche gekennzeichnet: Die Meldung beschreibt eine Änderung daran, wie der Schalter eingeschaltet wird, und sagt weder in die eine noch in die andere Richtung etwas darüber, was der Schalter freigibt, sobald er an ist.

Der Grund sind Agenten, das Ziel sind Apps. Apple nennt „AI agents“ (KI-Agenten) einmal, als Grund, weshalb das Risiko „will grow substantially“ (erheblich wachsen werde). Es sagt nicht, dass Agenten die Apps sind, die den Zugriff heute missbrauchen; dieser Satz handelt von „Some developers“ (manchen Entwicklern). Es sagt auch nicht, wie eine Kontrolle über das Gewähren an „an app“ (eine App) einen Agenten erreichen soll, der auf einem Mac oft gar keine App ist, sondern ein Kommandozeilenprogramm, das in einer App läuft. Abschnitt 3 handelt genau von dieser Lücke.

„Communication apps“ ist die Kategorie, die Apple wegen Schäden an anderen hervorhebt. Apple nennt keine App und keinen Entwickler. Die Meldung nennt zwei Arten von Software: Backup-Apps als Grund, weshalb es den Zugriff gibt, und Kommunikations-Apps als die eine, die sie mit einem Schaden über den Benutzer hinaus verbindet: den Menschen auf der anderen Seite eines Gesprächs, die nichts gewährt haben. Abschnitt 3 zeigt zwei Agent-Anbieter, deren Messages-Integrationen laut Dokumentation Festplattenvollzugriff brauchen; ob Apple einen davon im Sinn hatte, sagt die Meldung nicht, und ich unterstelle es nicht.

Was die Meldung nicht sagt

Liest man sie auf das hin, was fehlt, hat die Meldung:

  • Keine macOS-Version und kein Datum. „Going forward“ (künftig) ist die einzige Zeitangabe.
  • Keinen Mechanismus. Kein Dialogdesign, kein Entitlement, keine API, keine App-Review-Regel, keine Änderung an der Geräteverwaltung.
  • Kein Wort zu bestehenden Freigaben. Sie sagt nicht, ob Apps, die bereits in der Liste für den Festplattenvollzugriff stehen, ihren Platz behalten oder ob Benutzer erneut gefragt werden.
  • Kein Wort zu verwalteten Macs. MDM wird nicht erwähnt, obwohl MDM heute Festplattenvollzugriff gewähren kann (Abschnitt 2).
  • Keine Aufgabe für Entwickler. Keine Frist, kein Link zur Dokumentation, kein Datum, bis zu dem Apps sich ändern müssen.

Ich habe dort nachgesehen, wo Apple einen Mechanismus veröffentlichen würde. Der Index der macOS-Release-Notes, gelesen am 11. Oktober, führt genau zwei Einträge für macOS 27, „macOS 27.2 Golden Gate Beta 3 Release Notes“ und „macOS 27 Golden Gate Release Notes“. Einen Eintrag für macOS 27.1 fand ich weder in diesem Index noch in Apples Releases-Feed, am selben Tag gelesen, der macOS 27.0.1 (26A434) mit Datum 28. September führt und danach die 27.2 beta 3. Für das Update 27.0.1 gibt es keine Seite mit Release Notes für Entwickler; die Adresse, die eine solche Seite verwenden würde, lieferte bei meinem Versuch HTTP 404, ebenso die Adressen für 27.1 und die 27.1 beta.87 Die Notes zur 27.2 beta 3 (die Beta, Build 26B5101f, ist in Apples Releases-Feed auf den 5. Oktober datiert, drei Tage nach der Meldung) haben sechs Abschnitte (General, AppKit, Display Settings, Notifications, Shortcuts, StoreKit Testing in Xcode), und keiner erwähnt Festplattenvollzugriff, TCC oder Datenschutz & Sicherheit; am nächsten kommt eine AppKit-Zeile, nach der eine Developer-Preview-Vorgabe zum Datenschutz der Zwischenablage „has been removed“ (entfernt wurde).67 Apples Entwickler-Newsletter für Oktober, vier Tage nach der Meldung erschienen, behandelt Einreichungen für das iPhone Duo, Labs und Dokumentation und sagt nichts zu Festplattenvollzugriff oder Agenten.27 Die vier WWDC26-Sessions, die Apple unter Privacy & Security einordnet, darunter eine mit dem Titel „Secure your app: mitigate risks to agentic features“, erwähnen den Festplattenvollzugriff nicht.2829

Der einzige andere Apple-Text über Agenten und Dateizugriff

Ein Apple-Dokument spricht über Dateiberechtigungen für KI-Agenten, und es betrifft Xcode, nicht macOS. Die Release Notes zu Xcode 27 sagen: „Coding Intelligence now includes a new security layer that monitors and controls filesystem access by coding agents and any processes they spawn. This can be enabled in Coding Intelligence settings.“ (Coding Intelligence enthält jetzt eine neue Sicherheitsschicht, die Dateisystemzugriffe von Coding-Agenten und allen von ihnen gestarteten Prozessen überwacht und steuert. Sie lässt sich in den Einstellungen von Coding Intelligence aktivieren.)24 Das ist der ganze Eintrag. Er sagt nicht, was die Schicht erlaubt oder blockiert, ob sie standardmäßig aktiv ist (die Formulierung „can be enabled“ legt nahe, dass sie es nicht ist), wie sie sich zu TCC verhält oder ob sie Agenten außerhalb von Xcode erfasst. Dieselben Notes beschreiben einen MCP-Server als Vorschau, mit dem „code-signed agents“ (codesignierte Agenten) Projekte in einem Verzeichnisbaum „for extended periods of time without being asked for additional permissions“ (über längere Zeit, ohne nach weiteren Berechtigungen gefragt zu werden) nutzen können, sowie ein Flag, --unsafe-always-allow-all-agents, das laut Apple „is not a recommended configuration for at-desk use“ (keine empfohlene Konfiguration für die Arbeit am Schreibtisch ist).24 Keiner der beiden Einträge erwähnt den Festplattenvollzugriff.

Die WWDC26-Session zu agentischen Funktionen kommt in dem Apple-Material, das ich gelesen habe, einem Bedrohungsmodell für Agenten am nächsten. Sie zitiert „Simon Willison’s Lethal Trifecta“, nach der ein Benutzer am stärksten gefährdet ist, wenn ein Agent „access to private data, exposure to untrusted content, and the ability to externally communicate“ (Zugriff auf private Daten, Kontakt mit nicht vertrauenswürdigen Inhalten und die Fähigkeit, nach außen zu kommunizieren) hat.29 Der Festplattenvollzugriff ist das erste dieser drei Elemente in einem einzigen Schalter; das ist meine Lesart, weshalb die Meldung vom Oktober sagt, das Risiko wachse mit Agenten, nicht Apples erklärte Begründung.

2. Was Festplattenvollzugriff ist

Die Kontrolle, in Apples Worten

Der Festplattenvollzugriff ist eine Zeile unter Systemeinstellungen (System Settings) > Datenschutz & Sicherheit. Apples Mac-Benutzerhandbuch für macOS 27 beschreibt ihn so: „Allow apps to access all files on your computer, including data from other apps (for example, Mail, Messages, Safari, and Home), data from Time Machine backups, and certain administrative settings for all users on this Mac.“ (Apps erlauben, auf alle Dateien Ihres Computers zuzugreifen, einschließlich der Daten anderer Apps, etwa Mail, Messages, Safari und Home, der Daten aus Time-Machine-Backups und bestimmter Verwaltungseinstellungen für alle Benutzer dieses Mac.)4 Die Zeilen darum herum lesen sich anders. Kalender, Kontakte, Dateien und Ordner (Files & Folders) und die meisten anderen enden mit „The listed apps have requested access.“ (Die aufgeführten Apps haben Zugriff angefordert.) Die Zeile für den Festplattenvollzugriff sagt stattdessen „To add an app, click [the Add button] , select the app in the list, then click Open.“ (Um eine App hinzuzufügen, klicken Sie auf die Taste „Hinzufügen“, wählen Sie die App in der Liste aus und klicken Sie dann auf „Öffnen“.)4 Genau dieser Unterschied ist der Punkt: Um die anderen bitten die Apps, diesen sucht der Benutzer selbst auf.

Apple Platform Security sagt dasselbe als Tabelle. Die Seite über die Steuerung des App-Zugriffs auf Dateien führt „Full internal storage access“ (Apples Name für dieselbe Kontrolle) mit einem Kreuz unter „User prompted by app“ (Benutzer wird von der App gefragt) und einem Haken unter „User needs to edit system privacy settings“ (Benutzer muss die Datenschutzeinstellungen des Systems ändern); Dateien und Ordner dagegen wird von der App erfragt.10 Die Referenz zur Geräteverwaltung, geschrieben für Administratoren, beschreibt den Dienst als Zugriff „to all protected files, including system administration files“ (auf alle geschützten Dateien, einschließlich der Dateien der Systemverwaltung), und Apples Bereitstellungshandbuch führt ihn als „System Policy All Files“, das „Allows specified apps access to data like Mail, Messages, Safari, Home, Time Machine backups, and certain administrative settings for all users of the Mac.“ (bestimmten Apps Zugriff auf Daten wie Mail, Messages, Safari, Home, Time-Machine-Backups und bestimmte Verwaltungseinstellungen für alle Benutzer des Mac gewährt.)3031

Drei Dinge, die Apple nicht veröffentlicht, sollten Sie kennen, bevor Sie darüber nachdenken:

  • Es gibt keine vollständige Liste dessen, was er schützt. Ein Ingenieur von Apple Developer Technical Support schreibt in Apples Entwicklerforen (ein Beitrag eines Mitarbeiters, keine Dokumentation): „The exact list of file system locations protected by MAC is not documented and, as illustrated by the list above, can change over time.“ (Die genaue Liste der durch MAC geschützten Orte im Dateisystem ist nicht dokumentiert und kann sich, wie die Liste oben zeigt, mit der Zeit ändern.)20 MAC steht hier für Mandatory Access Control, den Mechanismus darunter.
  • Er gilt nicht pro Benutzer. Derselbe Ingenieur: „Some MAC privileges are per user (Files and Folders) and some are system wide (Full Disk Access).“ (Manche MAC-Rechte gelten pro Benutzer, etwa Dateien und Ordner, andere systemweit, etwa der Festplattenvollzugriff.)20 Eine Freigabe, die bei der Anmeldung in einem Account erteilt wurde, gilt für dieses Programm in jedem Account.
  • TCC ist ein Name, den Apple verwendet, aber kaum definiert. Das Subsystem, das diese Entscheidungen verwahrt, heißt TCC. Der Endpoint-Security-Header im SDK von macOS 27 schreibt es als „Transparency, Consent, and Control (TCC)“ aus, ein Apple-Panel auf der WWDC26 sagte „TCC stands for transparency, consent and control“ (TCC steht für Transparenz, Einwilligung und Kontrolle), und der Beitrag des Supportingenieurs ergänzt, dass TCC „has no API surface“ (keine API-Oberfläche hat).323320 In der eigenen Datenbank von TCC auf meinem Mac sind die Zeilen für den Festplattenvollzugriff unter dem Dienstnamen kTCCServiceSystemPolicyAllFiles gespeichert. Diese Zeichenkette steht in keinem Apple-Dokument, keiner Manpage und keinem SDK-Header, die ich geprüft habe; Apples dokumentierte Namen sind der Profilschlüssel SystemPolicyAllFiles und der Einstellungsanker Privacy_AllFiles.19302534

Wie er gewährt wird

Vom Benutzer, von Hand. Der Benutzer öffnet die Zeile für den Festplattenvollzugriff, klickt auf „Hinzufügen“ und wählt die App aus.4 Apple dokumentiert keinen Weg, auf dem eine App eine Abfrage dafür auslösen könnte. Was Apples Dokumentation stattdessen anbietet, ist ein Link, der den Benutzer zum richtigen Bereich bringt. Für Apps mit Endpoint-Security-Berechtigung (der Header verlangt von Aufrufern von es_new_client das Entitlement com.apple.developer.endpoint-security.client) sagt der Endpoint-Security-Header: „The only supported way to check if an application is properly TCC authorized for Full Disk Access is to call es_new_client and handling ES_NEW_CLIENT_RESULT_ERR_NOT_PERMITTED“ (Der einzige unterstützte Weg, zu prüfen, ob eine Anwendung von TCC korrekt für den Festplattenvollzugriff autorisiert ist, besteht darin, es_new_client aufzurufen und ES_NEW_CLIENT_RESULT_ERR_NOT_PERMITTED zu behandeln), und dass eine App, „To direct the user to the Full Disk Access section in System Settings“ (um den Benutzer zum Bereich Festplattenvollzugriff in den Systemeinstellungen zu leiten), unter macOS 13 und neuer x-apple.systempreferences:com.apple.settings.PrivacySecurity.extension?Privacy_AllFiles öffnen kann.25 Auf der WWDC19 beschrieb Apple dasselbe Muster: Apps „can test for authorization using FileManager or POSIX level APIs, and if necessary, can guide the user to the security and privacy preference pane, where the user can then approve the app if that’s what they want.“ (können die Autorisierung mit FileManager oder APIs auf POSIX-Ebene prüfen und den Benutzer bei Bedarf zum Bereich Sicherheit und Datenschutz führen, wo er die App freigeben kann, wenn er das möchte.)11 2018 bat ein Entwickler in Apples Foren um „an API call that causes a prompt to the logged-in user to grant the app Full Disk access because there’s no way to trigger a prompt like that right now, and that’s what backup apps need“ (einen API-Aufruf, der den angemeldeten Benutzer auffordert, der App Festplattenvollzugriff zu gewähren, weil sich eine solche Abfrage derzeit nicht auslösen lässt und Backup-Apps genau das brauchen); Apples Supportingenieur antwortete: „Please do file an enhancement request.“ (Bitte reichen Sie einen Verbesserungsvorschlag ein.)35 In allem, was ich für diesen Beitrag gelesen habe, beschreibt Apples Dokumentation acht Jahre später weiterhin nur den Link.

Eine Erleichterung gibt es. Seit Catalina erscheint ein Programm, das mangels Festplattenvollzugriff abgewiesen wird, bereits in der Liste, ausgeschaltet: „executables that are denied access to files due to a lack of Full Disk Access approval are now prepopulated unchecked.“ (Programme, denen der Dateizugriff mangels Freigabe für den Festplattenvollzugriff verweigert wird, sind jetzt nicht angehakt vorausgefüllt.)11 Einschalten muss der Benutzer ihn weiterhin selbst.

Durch ein MDM-Profil. Auf einem verwalteten Mac kann die Payload Privacy Preferences Policy Control (Typ com.apple.TCC.configuration-profile-policy, nur macOS, seit 10.14) ihn gewähren. Die Manpage von eslogger sagt es unverblümt: „MDM servers can grant Full Disk Access authorization using the Privacy Preferences Policy Control payload, identified by payload type com.apple.TCC.configuration-profile-policy, and its service dictionary key SystemPolicyAllFiles.“ (MDM-Server können die Autorisierung für den Festplattenvollzugriff über die Payload Privacy Preferences Policy Control mit dem Payload-Typ com.apple.TCC.configuration-profile-policy und dem Dienstschlüssel SystemPolicyAllFiles erteilen.)236 Ist der Schlüssel Allowed im Eintrag einer App auf true gesetzt, sagt Apples Referenz „access is granted“ (der Zugriff ist gewährt) und ergänzt: „The user isn’t prompted and can’t change this value.“ (Der Benutzer wird nicht gefragt und kann diesen Wert nicht ändern.)37 Der Beispielkommentar in Apples eigenem Bereitstellungshandbuch für diese Payload lautet „Allows my organization’s app to interact with all files without prompting the user.“ (Erlaubt der App meiner Organisation, mit allen Dateien zu arbeiten, ohne den Benutzer zu fragen.)31 Das ist eine echte Asymmetrie: Für Kamera, Mikrofon, Bildschirmaufnahme und das Mitlesen der Tastatur sagt Apples Referenz, ein Profil „can’t grant“ (kann nicht gewähren) den Zugriff und „can only deny it“ (kann ihn nur verweigern). Für SystemPolicyAllFiles sagt sie nichts dergleichen.30

Zwei Apple-Seiten widersprechen sich bei dieser Payload, und eine hat sich dieses Jahr geändert:

  • Supervision. Das Bereitstellungshandbuch sagt „Supervision is required if you apply this payload using a device management service.“ (Supervision ist erforderlich, wenn Sie diese Payload über einen Geräteverwaltungsdienst anwenden.) Die Verfügbarkeitstabelle der Entwicklerreferenz führt „Requires supervision“ als N/A.3136 Ich berichte beides und entscheide mich für keines.
  • macOS 27 hat den Teil pro App als veraltet markiert. In der aktuellen Referenz ist das Objekt Identity, das jeder Diensteintrag verwendet, auch der für den Festplattenvollzugriff, ab macOS 27.0 als deprecated markiert, und bei jedem seiner Schlüssel steht „Deprecated: macOS 27+“. Der Eintrag SystemPolicyAllFiles selbst trägt keine solche Markierung.3730 Der deklarative Ersatz, auf den Apple bei anderen Diensten verweist, die App-Einstellungskonfiguration, bietet Datenschutzvorgaben für Bedienungshilfen (Accessibility), Bluetooth, Kamera, Diktat, lokales Netzwerk, Ortung und Mikrofon. Einen Schlüssel für den Festplattenvollzugriff hat er nicht, und seine Vorgaben hängen an einer Einwilligung: „When set, the app displays a consent prompt listing all the configured defaults.“ (Ist dies gesetzt, zeigt die App eine Einwilligungsabfrage mit allen konfigurierten Vorgaben an.)3839 Apple verbindet das nicht mit der Meldung vom 2. Oktober, und ich tue es auch nicht; es ist ein Fakt neben der Geschichte.

Warum es ihn gibt: Backup-Apps, dreimal

An allen drei Stellen, an denen ich Apple sagen fand, wofür der Festplattenvollzugriff gedacht ist, nannte es dieselbe Art von Software. Auf der WWDC19 ordnete Apple bei der Beschreibung der zwei Stufen geschützter Daten „things like mail or messages and Safari browsing history“ (Dinge wie Mail, Nachrichten und den Safari-Verlauf) der zweiten Stufe zu und sagte, diese „have a high barrier to access because the files are typically only accessed by specialized apps such as disk management or backup utilities.“ (haben eine hohe Zugriffshürde, weil auf diese Dateien üblicherweise nur spezialisierte Apps wie Festplattenverwaltungs- oder Backup-Werkzeuge zugreifen.)11 Auf der WWDC23 sagte Apple bei der Einführung des Schutzes für App-Container: „For backup utilities or disk-management tools that have already been granted Full Disk Access, no additional prompt will be shown at time of access, since people have already chosen to allow these apps access to all files.“ (Für Backup-Werkzeuge oder Festplattenverwaltungsprogramme, denen bereits Festplattenvollzugriff gewährt wurde, erscheint beim Zugriff keine zusätzliche Abfrage, da die Menschen diesen Apps bereits den Zugriff auf alle Dateien erlaubt haben.)12 Am 2. Oktober sagte es, der Festplattenvollzugriff umgehe die Datenkontrollen, „in order to allow backup apps to function properly on the Mac.“ (damit Backup-Apps auf dem Mac richtig funktionieren.)1 Ein Agent ist keine Backup-App. Darin liegt die ganze Spannung, in einem Satz.

Woher er kommt

Die meisten Quellen Apples datieren den Festplattenvollzugriff auf macOS Mojave im Jahr 2018. Apples Pressemitteilung vom 4. Juni 2018 sagte: „New data protections require apps to get user permission before using the Mac camera and microphone or accessing personal data like user Mail history and Messages database.“ (Neue Datenschutzmaßnahmen verlangen von Apps die Erlaubnis des Benutzers, bevor sie Kamera und Mikrofon des Mac nutzen oder auf persönliche Daten wie den Mail-Verlauf und die Messages-Datenbank zugreifen.)40 Die Release Notes zu Mojave 10.14, noch online, verwenden den Namen Application Data, den ein Entwickler in Apples Foren im August 2018 als Bezeichnung in früheren Betas nannte:35 „Apps can’t access protected storage unless they’re added to the Application Data category located in the Privacy tab of System Preferences > Security & Privacy.“ (Apps können nicht auf geschützten Speicher zugreifen, solange sie nicht der Kategorie Application Data im Tab Privatsphäre unter Systemeinstellungen > Sicherheit hinzugefügt wurden.)41 Die Payload für die Geräteverwaltung und ihr Schlüssel SystemPolicyAllFiles sind als in macOS 10.14 eingeführt markiert, und der Beitrag von Apples Supportingenieur führt „Full Disk Access (macOS 10.14 and later)“.3620

Eine Apple-Seite datiert ihn anders. Apple Platform Security sagt: „In macOS 10.13 or later, apps that require access to the full storage device need to be explicitly added in System Settings (macOS 13 or later) or System Preferences (macOS 12 or earlier).“ (Ab macOS 10.13 müssen Apps, die Zugriff auf das gesamte Speichermedium benötigen, ausdrücklich in den Systemeinstellungen hinzugefügt werden, unter macOS 13 und neuer in System Settings, unter macOS 12 und älter in System Preferences.)10 Jede andere Apple-Quelle, die ich gelesen habe, sagt 10.14. Ich berichte den Widerspruch und entscheide mich für keine Seite.

Catalina (10.15, erschienen am 7. Oktober 2019) erweiterte den geschützten Bereich. Die Pressemitteilung sagte „new data protections require all apps to get permission before accessing user documents“ (neue Datenschutzmaßnahmen verlangen von allen Apps eine Erlaubnis, bevor sie auf Dokumente des Benutzers zugreifen), und auf der WWDC19 nahm Apple die Ordner Schreibtisch, Dokumente und Downloads, iCloud Drive, Cloudspeicher von Drittanbietern, Wechselmedien und Netzwerkvolumes in die Liste der einwilligungspflichtigen Orte auf und sagte, „the universe of data that requires preapproval for Full Disk Access has been expanded to include trash.“ (der Datenbestand, der eine vorherige Freigabe für den Festplattenvollzugriff erfordert, wurde um den Papierkorb erweitert.)4211 Spätere Versionen fügten den Schutz für App-Container (macOS 14) und für App-Gruppen-Container (macOS 15) hinzu, beide betreffen das Lesen fremder App-Daten durch Apps; für den ersten sagte Apple, Inhaber des Festplattenvollzugriffs sähen keine zusätzliche Abfrage.2012

macOS 27 ging erneut in dieselbe Richtung. Seine Release Notes sagen, dass der Zugriff auf „other developer teams’ app data containers and app group containers no longer prompts the user for authorization; such accesses are denied by default and can be managed by the user in Privacy & Security settings“ (die App-Daten- und App-Gruppen-Container anderer Entwicklerteams den Benutzer nicht mehr um Autorisierung bittet; solche Zugriffe werden standardmäßig verweigert und lassen sich vom Benutzer unter Datenschutz & Sicherheit verwalten), dass „XProtect may now restrict access to app data that is commonly targeted by malicious software“ (XProtect den Zugriff auf App-Daten einschränken kann, auf die es Schadsoftware häufig abgesehen hat) und, unter TCC, „Apps can no longer access the local TCC database directly.“ (Apps können nicht mehr direkt auf die lokale TCC-Datenbank zugreifen.)23 In einem bekannten Problem empfehlen Apples eigene Notes den Festplattenvollzugriff als Notlösung: Wenn einem Prozess ohne Bundle-ID kein Zugriff auf den Container eines anderen Teams gegeben werden kann, heißt es: „Workaround: Consider if the access is necessary. If required, grant Full Disk Access to the process for the duration of the requirement.“ (Workaround: Prüfen Sie, ob der Zugriff nötig ist. Falls ja, gewähren Sie dem Prozess Festplattenvollzugriff für die Dauer des Bedarfs.)23 Der Beitrag zu den Release Notes von macOS 27 und der Beitrag zum teamübergreifenden Containerzugriff behandeln diese Änderungen ausführlich.

3. Wie ein Agent ihn bekommt

Es gibt zwei Wege, auf denen ein KI-Agent auf einem Mac lesen kann, was der Festplattenvollzugriff schützt. Er läuft in einer App, die die Freigabe hat, oder er ist eine App, die die Freigabe hat. Der erste Weg ist der, auf dem die meisten Kommandozeilen-Agenten sie bekommen, und für den Agenten selbst muss niemand irgendetwas anklicken.

Der Weg über das Terminal

Wenn Sie in einem Terminal claude oder codex eingeben, fragt macOS nicht, ob Claude Code oder Codex Ihre Messages lesen dürfen. Es fragt, ob das Terminal es darf. Apple nennt das Programm, das es prüft, das „responsible“ (verantwortliche), und in keiner Apple-Dokumentation, die ich gefunden habe, ist die Regel für dessen Auswahl als allgemeine Regel formuliert. Veröffentlicht hat Apple eine Reihe einzelner Aussagen, die alle in dieselbe Richtung weisen:

  • eslogger(1), mit macOS 27 ausgeliefert: „eslogger requires the responsible process to have been authorized for Full Disk Access“ (eslogger verlangt, dass der verantwortliche Prozess für den Festplattenvollzugriff autorisiert ist) und „Running eslogger from an app, including Terminal.app or a third-party terminal emulator, requires the respective app to be authorized for Full Disk Access in System Preferences > Security & Privacy > Privacy > Full Disk Access.“ (Wird eslogger aus einer App heraus ausgeführt, auch aus Terminal.app oder einem Terminalemulator eines Drittanbieters, muss diese App unter System Preferences > Security & Privacy > Privacy > Full Disk Access für den Festplattenvollzugriff autorisiert sein.)2
  • tmutil(8): „Full Disk Access privileges can be granted to the Terminal application used to run tmutil from the Privacy tab in the Security & Privacy preference pane.“ (Die Rechte für den Festplattenvollzugriff lassen sich der Terminal-App, mit der tmutil ausgeführt wird, im Tab Privatsphäre des Bereichs Sicherheit gewähren.)43
  • fdesetup(8): Seit macOS 10.15 verlangt das Aktivieren von FileVault über die Kommandozeile, neben anderen Optionen, dass „The responsible application is authorized for“ (die verantwortliche Anwendung autorisiert ist für) den Festplattenvollzugriff.44
  • Apples Referenz zur Geräteverwaltung: „Helper tools embedded within an application bundle automatically inherit the permissions of their enclosing app bundle.“ (Hilfsprogramme, die in ein Anwendungs-Bundle eingebettet sind, erben automatisch die Berechtigungen des umschließenden App-Bundles.)37

Die direkteste Aussage stammt von Quinn, einem Ingenieur bei Apple Developer Technical Support, der im Juni 2024 in einem Forenthread über Kommandozeilenwerkzeuge und den Festplattenvollzugriff antwortete. Es ist der Beitrag eines Mitarbeiters auf Apples Website, keine Dokumentation, und ich kennzeichne ihn jedes Mal so, wenn ich ihn verwende. Er nennt vier Fälle. Für ein Werkzeug, das der Benutzer aus Terminal startet: „The tool’s responsible code is Terminal.“ (Der verantwortliche Code des Werkzeugs ist Terminal.) Für ein Werkzeug, das über SSH läuft: „The tool’s responsible code is the SSH server.“ (Der verantwortliche Code des Werkzeugs ist der SSH-Server.) Für ein Hilfsprogramm, das eine App startet: „The system treats the app as the responsible code.“ (Das System behandelt die App als verantwortlichen Code.) Für einen launchd-Job macht die Installation über SMAppService die App zum verantwortlichen Code; andernfalls, schreibt er, sollte die Property List des Jobs die App mit AssociatedBundleIdentifiers benennen.3 Im selben Thread fügt er den Vorbehalt hinzu, auf den es für jeden ankommt, der damit plant: „The exact algorithm it uses for this is not documented, has changed in the past, and may well change in the future.“ (Der genaue Algorithmus dafür ist nicht dokumentiert, hat sich in der Vergangenheit geändert und kann sich durchaus künftig ändern.)3 Als er in einem anderen Thread gefragt wurde, ob TCC „is looking for parent process rights“ (auf die Rechte des Elternprozesses schaut), lehnte er es ab, darauf einzugehen, weil das „both complex and subject to change“ (sowohl komplex als auch Änderungen unterworfen) sei.45

Der Entwickler, der den Thread vom Juni 2024 eröffnet hatte, hatte den Effekt bereits gemessen: „When this program is built and executed in Terminal.app with Terminal having FDA, the file opens successfully. Conversely, when FDA is revoked from Terminal and granted to the program, an error occurs due to insufficient privileges.“ (Wird dieses Programm in Terminal.app gebaut und ausgeführt, während Terminal Festplattenvollzugriff hat, öffnet sich die Datei. Wird Terminal der Festplattenvollzugriff entzogen und stattdessen dem Programm gewährt, tritt wegen unzureichender Rechte ein Fehler auf.)3 Das ist der Bericht eines Entwicklers, nicht Apples. Seine erste Hälfte deckt sich mit dem, was ich auf meinem eigenen Mac gemessen habe (Abschnitt 5): Der Lesezugriff funktionierte mit der Freigabe in der Startkette des Terminals. Die zweite Hälfte habe ich nicht getestet; meine Kontrolle änderte, wo der Lesezugriff gestartet wurde, nicht, welche App die Freigabe hatte.

Daraus folgen zwei Konsequenzen, und keine ist spezifisch für Agenten.

Alles, was Sie in diesem Terminal starten, bekommt ihn. Der Agent, die Shell, die er startet, git, npm install, ein Test-Runner, ein über stdio gestarteter MCP-Server, ein Skript, das das Modell vor einer Minute geschrieben hat: Wenn sie unter dem Terminal laufen, prüft TCC das Terminal. Apples Supportingenieur spricht das für Interpreter direkt an: „if you have a script that needs to manipulate files on your desktop, you wouldn’t want to give the interpreter that privilege because then any script could do that.“ (Wenn Sie ein Skript haben, das Dateien auf Ihrem Schreibtisch bearbeiten muss, wollen Sie dieses Recht nicht dem Interpreter geben, weil es dann jedes Skript könnte.)20 Ein Terminal mit Festplattenvollzugriff ist dasselbe Problem eine Ebene höher.

Andere Apps können ihn sich leihen. 2022 veröffentlichte Jeff Johnson „Every unsandboxed app has Full Disk Access if Terminal does“ (Jede App ohne Sandbox hat Festplattenvollzugriff, wenn Terminal ihn hat), mit Quellcode. Seine Aussage: „unsandboxed apps can open executable shell scripts in Terminal, and those scripts will execute with the permissions not of the opening app but rather with the permissions of Terminal, i.e. Full Disk Access.“ (Apps ohne Sandbox können ausführbare Shell-Skripte in Terminal öffnen, und diese Skripte laufen nicht mit den Rechten der öffnenden App, sondern mit denen von Terminal, also mit Festplattenvollzugriff.) Die Technik, merkt er an, „doesn’t work for sandboxed apps.“ (funktioniert bei Apps mit Sandbox nicht.)46 Jede Desktop-App für Agenten, die ich auf meinem Mac untersucht habe, läuft ohne Sandbox: Die Claude-App und Cursor tragen kein App-Sandbox-Entitlement, und die ChatGPT-App trägt es auf false gesetzt.47 Meine Lesart, nicht Johnsons Behauptung: Auf einem Mac, dessen Terminal Festplattenvollzugriff hat, könnte jede dieser Apps auf demselben Weg an ihn gelangen.

Was sagen die Terminals selbst? Ich fand keine Dokumentation von Ghostty oder iTerm2, die sagt, was Kindprozesse bekommen, wenn das Terminal Festplattenvollzugriff hat: GitHub-Codesuchen in der Ghostty-Dokumentation und im Repository von iTerm2 nach der Formulierung lieferten nichts. Die Dokumentation von Apples Terminal und von Warp habe ich nicht auf dieselbe Weise durchsucht.48 Was die Apps zeigen, ist, für wen sie sprechen. Ihre Zweckbeschreibungen, ausgelesen aus den installierten Apps auf meinem Mac, sind im Namen dessen formuliert, was in ihnen läuft: Ghostty fragt für AppleScript „A program running within Ghostty would like to use AppleScript“ (ein Programm, das in Ghostty läuft, möchte AppleScript verwenden), iTerm2 „An application in iTerm2 wants to use AppleScript.“ (eine Anwendung in iTerm2 möchte AppleScript verwenden.)47 macOS hat keine Zweckbeschreibung für den Festplattenvollzugriff, da Apps nicht danach fragen können, aber die Zeichenketten zeigen die Konstruktion: Das Terminal ist die App, nach der der Benutzer gefragt wird.

Die Editoren mit eingebauten Agenten funktionieren genauso, eine Ebene versetzt. Die Dokumentation von Cursor sagt „Cursor runs shell commands directly in your terminal“ (Cursor führt Shell-Befehle direkt in Ihrem Terminal aus), was ich, im Editor, als das integrierte Terminal von Cursor lese.49 Nach dem Hilfsprogramm-Fall des Supportingenieurs oben (ein von einer App gestartetes Werkzeug wird der App zugerechnet) ist Cursor dann die App, die TCC für diese Befehle sieht. Das ist meine Schlussfolgerung; die Dokumentation von Cursor sagt nicht, welcher App TCC sie zurechnet.318

Der Weg über SSH

Steuern Sie einen Agenten über SSH, ist nicht das Terminal am anderen Ende der verantwortliche Code, sondern der SSH-Server. Apples Supportingenieur: „The tool’s responsible code is the SSH server. You can set Full Disk Access on that using System Settings > General > Sharing > Remote Login > Allow full disk access for remote users.“ (Der verantwortliche Code des Werkzeugs ist der SSH-Server. Den Festplattenvollzugriff dafür setzen Sie unter Systemeinstellungen > Allgemein > Teilen > Entfernte Anmeldung > Festplattenvollzugriff für entfernte Benutzer erlauben.)3 Die Manpage von eslogger nennt dieselbe Einstellung.2 Die Einrichtungsanleitung von OpenClaw zeigt den Client auf der SSH-Seite so, wie er in TCC erscheint, /usr/libexec/sshd-keygen-wrapper, und genau dieser Client ist auf meinem Mac für den Festplattenvollzugriff aufgeführt.1419

Was die Agent-Anbieter Ihnen raten

Zwei Agent-Projekte fordern Benutzer in ihrer eigenen Dokumentation auf, Festplattenvollzugriff zu gewähren, damit der Agent Messages lesen kann:

  • Hermes Agent (Nous Research). Der Skill für Apple iMessage ist als „Bundled (installed by default)“ (mitgeliefert, standardmäßig installiert) geführt, und seine Voraussetzungen lauten „Grant Full Disk Access for terminal (System Settings → Privacy → Full Disk Access)“ (dem Terminal Festplattenvollzugriff gewähren) und „Grant Automation permission for Messages.app when prompted“ (bei Nachfrage die Automation-Berechtigung für Messages.app gewähren).13 Das ist eine Anweisung des Anbieters, dem Terminal und damit allem, was darin läuft, Festplattenvollzugriff zu geben. Der Hermes-Leitfaden behandelt den Rest des Agenten.
  • OpenClaw. Seine iMessage-Einrichtung sagt „Full Disk Access is required for the process context running OpenClaw/imsg“ (der Festplattenvollzugriff ist für den Prozesskontext erforderlich, in dem OpenClaw/imsg läuft), für die Messages-Datenbank, „Automation permission is required to send messages through Messages.app“ (zum Senden über Messages.app ist die Automation-Berechtigung nötig) und „Permissions are granted per process context.“ (Berechtigungen werden pro Prozesskontext gewährt.)14 Dieselbe Seite sagt, dass für erweiterte Aktionen wie Reaktionen, Bearbeiten und Zurückrufen „System Integrity Protection must be disabled“ (der Systemintegritätsschutz deaktiviert sein muss), während einfaches Senden und Empfangen ohne das funktioniert.14 Die Seite von OpenClaw zu macOS-Berechtigungen gibt dieselbe Regel für die Ordner Schreibtisch, Dokumente und Downloads: „grant access to the same process context that performs file operations (for example Terminal/iTerm, LaunchAgent-launched app, or SSH process).“ (den Zugriff demselben Prozesskontext gewähren, der die Dateioperationen ausführt, etwa Terminal/iTerm, einer per LaunchAgent gestarteten App oder einem SSH-Prozess.)50

Anthropic dokumentiert einen engeren Fall. Die Hintergrundsitzungen von Claude Code laufen laut der Dokumentation zur Agent-Ansicht in einem Host-Prozess, der „requests access to protected folders separately from your terminal“ (Zugriff auf geschützte Ordner getrennt von Ihrem Terminal anfordert), und meldet eine Hintergrundsitzung „Operation not permitted“ für einen geschützten Ort, besteht die Lösung darin, „grant access in System Settings under Privacy & Security > Files and Folders, or enable Full Disk Access for the entry.“ (in den Systemeinstellungen unter Datenschutz & Sicherheit > Dateien und Ordner Zugriff zu gewähren oder für den Eintrag den Festplattenvollzugriff zu aktivieren.) Mit dem nativen Installer, heißt es, „the entry appears as Claude Code and the grant persists across updates.“ (erscheint der Eintrag als Claude Code, und die Freigabe bleibt über Updates hinweg bestehen.)51 Für Computer Use fordert Anthropic Benutzer auf, unter Bildschirmaufnahme zu prüfen, ob „your terminal app is listed and enabled“ (Ihre Terminal-App aufgeführt und aktiviert ist), also wieder der Weg über das Terminal, für eine andere Berechtigung.52 Keine der Seiten von Anthropic zu Sandboxing, Berechtigungen oder Sicherheit erwähnt den Festplattenvollzugriff.1553

Der Weg über Desktop-Apps

Desktop-Apps für Agenten bekommen eigene Zeilen unter Datenschutz & Sicherheit, und was sie anfordern, ist unterschiedlich:

  • ChatGPT für Mac (auf meinem Mac mit der Bundle-ID com.openai.codex). Am 20. August 2026 ergänzte OpenAI ein Plugin für Apple Messages: „On Apple silicon Macs, the Apple Messages plugin in the ChatGPT desktop app can read and search iMessage, SMS, and RCS conversations and prepare or send messages through Messages.“ (Auf Macs mit Apple Silicon kann das Apple-Messages-Plugin der ChatGPT-Desktop-App Unterhaltungen über iMessage, SMS und RCS lesen und durchsuchen und Nachrichten über Messages vorbereiten oder senden.)54 OpenAIs Plugin-Anleitung sagt nur „Grant the requested macOS permissions before ChatGPT reads Messages.“ (Gewähren Sie die angeforderten macOS-Berechtigungen, bevor ChatGPT Messages liest.)22 Ich fand keine Seite von OpenAI, die die Berechtigung benennt. MacRumors schrieb in seinem Bericht zum Start: „For the Messages integration to work, ChatGPT needs Full Disk Access in System Settings, as well as access to contact names and automation tools“ (damit die Messages-Integration funktioniert, braucht ChatGPT Festplattenvollzugriff in den Systemeinstellungen sowie Zugriff auf Kontaktnamen und Automationswerkzeuge); das ist Presse, hier als Hinweis verwendet, nicht als Aussage von OpenAI.55 Auf meinem Mac steht die ChatGPT-App in der Tabelle für den Festplattenvollzugriff.19 OpenAIs Anleitung enthält auch die Warnung, die ich an den Anfang stellen würde: „Persistent approval removes your final chance to review a message before ChatGPT sends it as you.“ (Eine dauerhafte Freigabe nimmt Ihnen die letzte Gelegenheit, eine Nachricht zu prüfen, bevor ChatGPT sie in Ihrem Namen sendet.)22 Für Computer Use fragt OpenAI nach Bildschirmaufnahme und Bedienungshilfen und sagt „File reads, file edits, and shell commands still follow the sandbox and approval settings for the task.“ (Lesen und Bearbeiten von Dateien sowie Shell-Befehle folgen weiterhin den Sandbox- und Freigabeeinstellungen der Aufgabe.)56
  • Claude für Mac. Ich fand keine Seite von Anthropic, die Festplattenvollzugriff anfordert. Die Info.plist der App auf meinem Mac deklariert Zweckbeschreibungen unter anderem für die Ordner Schreibtisch, Dokumente und Downloads und für Apple Events („Claude needs this so commands you run in Claude can control other apps“, also damit Befehle, die Sie in Claude ausführen, andere Apps steuern können).47 Ihre Schnelleingabe fragt nach Bildschirmaufnahme und Bedienungshilfen.57
  • Cursor. Keine der beiden Seiten von Cursor, die ich gespeichert habe, Run Modes und Terminal, fordert Festplattenvollzugriff an; Cursor steht auf meinem Mac in der Tabelle.191849
  • Computer Use von Hermes Agent. Bedienungshilfen und Bildschirmaufnahme gehen an die Identität, die hermes computer-use doctor nennt, eine separate Treiber-App, nicht an das Terminal.58
  • VS Code mit Agenten. Auf meinem Mac nicht installiert; ich fand keine Seite von Microsoft zum Festplattenvollzugriff für dessen Agenten.4759

Agenten nach Weg

Agent Wie er geschützte Daten erreicht Festplattenvollzugriff in der Dokumentation des Anbieters Sandbox des Anbieters unter macOS, Standard
Claude Code (CLI) Weg über das Terminal; der Hintergrund-Host kann einen eigenen Eintrag haben Nur der Hinweis zu Hintergrundsitzungen Seatbelt; standardmäßig aus
Codex CLI Weg über das Terminal Nichts gefunden Seatbelt; an, workspace-write, Netzwerk aus
ChatGPT für Mac (Codex, Work, Messages, Computer Use) Eigene Einträge „Requested macOS permissions“; Festplattenvollzugriff nur von der Presse genannt Sandbox und Freigaberichtlinie von Codex für Plugin- und Shell-Schritte; Messages und Computer Use brauchen zusätzlich macOS-Berechtigungen
Claude für Mac Eigene Einträge Nichts gefunden Für lokale Aktionen in den gelesenen Seiten nicht dokumentiert
Hermes Agent Weg über das Terminal Ja: dem Terminal gewähren, für iMessage Kein Seatbelt-Backend; standardmäßig local, „no isolation“
OpenClaw Prozesskontext des Gateways Ja: für den iMessage-Kanal erforderlich Sandbox-Backends für Werkzeuge (standardmäßig Docker); standardmäßig aus
Gemini CLI Weg über das Terminal Nichts gefunden Seatbelt-Profile; aus, solange nicht aktiviert
Aider Weg über das Terminal Nichts gefunden Keine dokumentiert
Cursor (Agent und CLI) Editor: Terminal von Cursor, also Cursor; CLI: Weg über das Terminal Nichts gefunden Seatbelt; Lesen außerhalb des Workspace standardmäßig erlaubt
Agenten in VS Code Terminal des Editors, also VS Code Nichts gefunden Agent-Host-Sandbox (nur Sitzungen mit Copilot Agent Host); standardmäßig aus

Die Quellen zu jeder Zelle stehen in den Abschnitten 3 und 4.51166022561361146217481859 Die Einträge der zweiten Spalte für die beiden Editoren sind meine Schlussfolgerung aus dem Hilfsprogramm-Fall des Supportingenieurs, keine Aussagen der Anbieter. Die dritte Spalte enthält das Muster. Die beiden Anbieter, die den Festplattenvollzugriff nennen, tun es, um an Messages zu gelangen, also an die Daten, deren Offenlegung laut Apple auch „the people users are communicating with“ (die Menschen, mit denen die Benutzer kommunizieren) trifft; Apple nennt keinen Agenten, und ich behaupte nicht, dass es diese beiden meinte. Jeder andere Kommandozeilen-Agent erreicht dieselben Daten, wenn er es tut, ohne dass seine Dokumentation sagt, dass die Freigabe des Terminals an ihn übergeht, denn die Freigabe gehört dem Terminal.

4. Was die Sandboxes der Anbieter leisten, und was nicht

Zwei Schichten, die nichts voneinander wissen

Jeder Kommandozeilen-Agent, dessen Sandbox-Dokumentation für macOS ich gelesen habe, baut sie auf Seatbelt auf, der Prozess-Sandbox des Systems, angesteuert über sandbox-exec: Claude Code („sandboxing uses the built-in Seatbelt framework“, das Sandboxing nutzt das eingebaute Seatbelt-Framework), Codex („On macOS, sandboxing works out of the box using the built-in Seatbelt framework“, unter macOS funktioniert das Sandboxing ab Werk mit dem eingebauten Seatbelt-Framework), Gemini CLI („Lightweight, built-in sandboxing using“ sandbox-exec, also leichtgewichtiges, eingebautes Sandboxing mit sandbox-exec) und Cursor („Cursor uses Seatbelt through“ sandbox-exec, Cursor nutzt Seatbelt über sandbox-exec).15161718 Der Festplattenvollzugriff ist TCC. Apples Supportingenieur beschreibt das Verhältnis: „App Sandbox and the mandatory access control system are both implemented using macOS’s sandboxing infrastructure“ (App Sandbox und das System der Mandatory Access Control sind beide mit der Sandbox-Infrastruktur von macOS umgesetzt), aber Mandatory Access Control „is mandatory; it’s not an opt-in like the App Sandbox.“ (ist verpflichtend; sie ist kein Opt-in wie die App Sandbox.)20

Was das praktisch heißt, hat zwei Hälften. Dass ein Seatbelt-Profil einem Prozess keine TCC-Freigabe geben kann, die seiner verantwortlichen App fehlt, folgt aus der Beschreibung von Apples Supportingenieur, nach der alle Prozesse, „including those running as root“ (auch die, die als root laufen), der MAC unterliegen; getestet habe ich es nicht. Die andere Hälfte habe ich in Abschnitt 5 auf meinem Mac gemessen: Keine Sandbox änderte die Freigabe des Terminals, und ein Profil blockierte den geschützten Lesezugriff nur dann, wenn es genau diesen Pfad selbst sperrte, aus eigener Regel und während TCC den Zugriff erlaubt hätte.205 Ein Agent in einer Sandbox, die in einem Terminal mit Festplattenvollzugriff läuft, kann Messages also weiterhin lesen, wenn sein Profil dort Lesezugriffe zulässt, und die meisten Standardprofile erlauben Lesezugriffe nahezu überall.

Eine Namensfalle: Der Quellcode von Codex enthält eine Funktion namens has_full_disk_read_access, und wenn sie true liefert und keine unlesbaren Wurzelverzeichnisse konfiguriert sind, erlaubt das erzeugte Seatbelt-Profil file-read* überall; mit solchen Wurzeln baut es eine Leserichtlinie, die sie ausschließt.63 Das ist der Codex-eigene Begriff für eine weite Seatbelt-Leserichtlinie. Es ist nicht Apples Festplattenvollzugriff und gewährt ihn auch nicht.

Claude Code (Anthropic)

  • Sandbox: standardmäßig aus. „The sandbox is off by default. To turn it on, run /sandbox in a session, as Get started shows, or set sandbox.enabled to true in a settings file.“ (Die Sandbox ist standardmäßig aus. Zum Einschalten führen Sie in einer Sitzung /sandbox aus, wie unter Get started gezeigt, oder setzen sandbox.enabled in einer Einstellungsdatei auf true.)15
  • Vorgaben im eingeschalteten Zustand. Schreibzugriffe gehen an „The working directory, a per-user temp directory, and directories you’ve added.“ (das Arbeitsverzeichnis, ein Temp-Verzeichnis pro Benutzer und von Ihnen hinzugefügte Verzeichnisse.) Lesezugriffe umfassen „Most of the machine, including credential files.“ (den Großteil des Rechners, einschließlich der Dateien mit Zugangsdaten.) Das Netzwerk hat „No direct route out“ (keinen direkten Weg nach außen); Verbindungen laufen über einen lokalen Proxy, dessen erlaubte Domains „start empty“ (anfangs leer sind).15 Die Sandbox baut auf „the open source @anthropic-ai/sandbox-runtime package“ (dem Open-Source-Paket @anthropic-ai/sandbox-runtime) auf.15
  • Zwei Sandbox-Modi. Auto-allow und reguläre Berechtigungen; „In both, the sandbox enforces the same filesystem and network restrictions; the difference is only in whether sandboxed commands are auto-approved or require explicit permission.“ (In beiden setzt die Sandbox dieselben Beschränkungen für Dateisystem und Netzwerk durch; der Unterschied liegt nur darin, ob Befehle in der Sandbox automatisch freigegeben werden oder eine ausdrückliche Erlaubnis brauchen.)15
  • Was außerhalb liegt. Die eingebauten Datei- und Webwerkzeuge „follow permission rules instead. A denyRead entry doesn’t stop the Read tool“ (folgen stattdessen Berechtigungsregeln; ein denyRead-Eintrag hält das Read-Werkzeug nicht auf), und „command hooks, local MCP servers, plugin monitors, LSP servers, and helper commands such as your status line command and apiKeyHelper run with your full access.“ (Befehls-Hooks, lokale MCP-Server, Plugin-Monitore, LSP-Server und Hilfsbefehle wie Ihr Statuszeilenbefehl und apiKeyHelper laufen mit Ihrem vollen Zugriff.)15 Fehlgeschlagene Befehle können ohne Sandbox wiederholt werden, es sei denn, allowUnsandboxedCommands ist false.15
  • Lesezugriffe eingrenzen. sandbox.filesystem.denyRead und allowRead, oder, um „deny sandboxed commands read access to home directories and mounted volumes while keeping the working directories readable, set permissions.blockReadsOutsideWorkingDirectories.“ (Befehlen in der Sandbox den Lesezugriff auf Home-Verzeichnisse und eingebundene Volumes zu verweigern, die Arbeitsverzeichnisse aber lesbar zu lassen, setzen Sie permissions.blockReadsOutsideWorkingDirectories.)15
  • Apple Events. „The sandbox blocks Apple Events by default“ (die Sandbox blockiert Apple Events standardmäßig), und das Einschalten von allowAppleEvents „removes code-execution isolation.“ (hebt die Isolation der Codeausführung auf.)15
  • Berechtigungsmodi, eine separate Kontrolle: default (beschriftet als Manual), acceptEdits, plan, auto, dontAsk und bypassPermissions. Zum letzten sagt Anthropic: „Only use this mode in isolated environments like containers or VMs where Claude Code can’t cause damage.“ (Verwenden Sie diesen Modus nur in isolierten Umgebungen wie Containern oder VMs, in denen Claude Code keinen Schaden anrichten kann.)53

Der Claude Code-Leitfaden behandelt die Einstellungsdateien, in denen diese Schlüssel stehen.

Codex CLI (OpenAI)

  • Sandbox: standardmäßig an. „The default permissions mode applies sandboxing automatically“ (der Standard-Berechtigungsmodus wendet das Sandboxing automatisch an), und „The sandbox applies to spawned commands, not just to built-in file operations.“ (die Sandbox gilt für gestartete Befehle, nicht nur für eingebaute Dateioperationen.)16
  • Drei Modi. read-only: „The agent can inspect files, but it can’t edit files or run commands without approval.“ (Der Agent kann Dateien ansehen, aber ohne Freigabe weder Dateien bearbeiten noch Befehle ausführen.) workspace-write: Der Agent kann „read files, edit within the workspace, and run routine local commands inside that boundary. This is the default low-friction mode for local work.“ (Dateien lesen, innerhalb des Workspace bearbeiten und übliche lokale Befehle innerhalb dieser Grenze ausführen. Das ist der reibungsarme Standardmodus für lokale Arbeit.) danger-full-access: „The agent runs without sandbox restrictions.“ (Der Agent läuft ohne Sandbox-Beschränkungen.)16
  • Netzwerk standardmäßig aus. „By default, the agent runs with network access turned off“ (standardmäßig läuft der Agent ohne Netzwerkzugriff), und workspace-write „keeps network access turned off unless you enable it in your configuration.“ (lässt den Netzwerkzugriff aus, sofern Sie ihn nicht in Ihrer Konfiguration aktivieren.)60
  • Voller Zugriff. OpenAI definiert ihn als sandbox_mode = "danger-full-access" zusammen mit approval_policy = "never", und das Menü der Desktop-App beschreibt ihn als uneingeschränkten Zugriff auf „the internet and any file on your computer.“ (das Internet und jede Datei auf Ihrem Computer.)16
  • Lesezugriffe sind in der Dokumentation nicht ausbuchstabiert. OpenAIs einzige Aussage zum Umfang lautet, dass die Sandbox „limits what it can touch (typically to the current workspace).“ (begrenzt, was er anfassen kann, typischerweise auf den aktuellen Workspace.)60 Den Leseumfang von read-only oder workspace-write nennt sie nicht, und auf meinem Mac lasen Lauf 2 (read-only) und Lauf 2c (meine Konfiguration, kein Modus gesetzt) eine Datei weit außerhalb des Workspace, eine, die Festplattenvollzugriff braucht.5 Der Quellcode zeigt den Grund: Die Seatbelt-Basisrichtlinie beginnt mit (deny default) und vermerkt, dass „child processes inherit the policy of their parent“ (Kindprozesse die Richtlinie ihres Elternprozesses erben), und bei vollem Lesezugriff ohne unlesbare Wurzeln fügt das Profil (allow file-read*) hinzu.63 Eingrenzen lässt es sich: Berechtigungsprofile nehmen pro Pfad "read", "write" oder "deny", und Administratoren bekommen permissions.filesystem.deny_read in requirements.toml, „Admin-enforced filesystem read denials“ (vom Administrator erzwungene Lesesperren im Dateisystem); OpenAI sagt: „users cannot weaken them with local config.“ (Benutzer können sie mit lokaler Konfiguration nicht abschwächen.)21

Der Codex-Leitfaden behandelt Profile und Freigaberichtlinien ausführlich.

Hermes Agent (Nous Research)

  • Keine macOS-Sandbox; sieben Backends. „Hermes supports seven terminal backends“ (Hermes unterstützt sieben Terminal-Backends): local, docker, ssh, modal, daytona, vercel_sandbox und singularity.61
  • Standard: local, keine Isolation. „The default. Commands run directly on your machine with no isolation“ (Der Standard. Befehle laufen direkt auf Ihrem Rechner, ohne Isolation), und „By default, local tool subprocesses keep your real OS-user HOME.“ (Standardmäßig behalten lokale Unterprozesse von Werkzeugen das echte HOME Ihres Betriebssystembenutzers.)61
  • Befehlsregeln sind keine Sandbox. „Deny rules are a shell-command policy, not a complete shell interpreter or an OS capability sandbox.“ (Sperrregeln sind eine Richtlinie für Shell-Befehle, kein vollständiger Shell-Interpreter und keine Sandbox für Betriebssystemfähigkeiten.)64
  • Container sind die Grenze. „For production gateway deployments, use docker, modal, daytona, or vercel_sandbox backend to isolate agent commands from your host system.“ (Für produktive Gateway-Bereitstellungen verwenden Sie das Backend docker, modal, daytona oder vercel_sandbox, um Befehle des Agenten von Ihrem Hostsystem zu isolieren.)64

Mit dem Standard-Backend liest ein Hermes-Agent alles, was sein Terminal lesen kann, und sein mitgelieferter iMessage-Skill bittet Sie, diesem Terminal Festplattenvollzugriff zu geben.13

OpenClaw

  • Sandbox: standardmäßig aus, und nur für Werkzeuge. „Sandboxing is off by default“ (das Sandboxing ist standardmäßig aus), und „The Gateway process always stays on the host; only tool execution moves into the sandbox when enabled.“ (Der Gateway-Prozess bleibt immer auf dem Host; nur die Ausführung von Werkzeugen wandert, wenn aktiviert, in die Sandbox.) OpenClaw sagt das offen: „This is not a perfect security boundary, but it materially limits filesystem and process access when the model does something dumb.“ (Das ist keine perfekte Sicherheitsgrenze, begrenzt aber den Zugriff auf Dateisystem und Prozesse spürbar, wenn das Modell etwas Dummes tut.)62
  • Modi. agents.defaults.sandbox.mode nimmt off (Standard), non-main oder all; das Backend ist standardmäßig docker, mit podman, ssh, openshell und crabbox als Alternativen; das Netzwerk von Docker steht standardmäßig auf none.65
  • Workspace-Zugriff. none (Standard), ro oder rw.66
  • Notausgang. tools.elevated ist in OpenClaws Worten „an explicit escape hatch“ (ein ausdrücklicher Notausgang), der exec außerhalb der Sandbox ausführt.62

Der Festplattenvollzugriff des iMessage-Kanals gehört zum Prozesskontext des Gateways, der nie in die Sandbox wandert.1462

Die anderen, kurz

  • Gemini CLI. Aus, solange nicht mit -s, einer Umgebungsvariable oder einer Einstellung aktiviert. Unter macOS „denies operations by default; confines writes to the project directory while allowing broad file reads and network access“ (verweigert das Standardprofil permissive-open Operationen grundsätzlich, beschränkt Schreibzugriffe auf das Projektverzeichnis und erlaubt dabei weitreichende Lesezugriffe und Netzwerkzugang); in der Profildatei selbst steht (allow file-read*). strict-open und strict-proxied fügen Lesebeschränkungen hinzu.17
  • Cursor. Seatbelt für „the full subprocess tree“ (den gesamten Baum der Unterprozesse); Netzwerk „Blocked by default“ (standardmäßig blockiert); doch Read Access steht standardmäßig auf System: „The agent can read files outside the workspace without approval. This is the default.“ (Der Agent kann Dateien außerhalb des Workspace ohne Freigabe lesen. Das ist der Standard.) Die Einstellung Read Access selbst erfordert Cursor 3.23 oder neuer.18
  • VS Code. chat.agent.sandbox.enabled, das nur für Sitzungen mit Copilot Agent Host gilt, nimmt off oder on und steht standardmäßig auf off, und Microsoft nennt die Grenze klar: „Sandboxing is not a virtual machine or user-account boundary, and it does not replace endpoint security.“ (Sandboxing ist weder eine virtuelle Maschine noch eine Grenze zwischen Benutzeraccounts und ersetzt keine Endpoint-Sicherheit.)59
  • Aider. Keine Sandbox dokumentiert.48

Auch die Seatbelt-Schicht hatte Lücken

Forscher von Accomplish veröffentlichten fünf Sandbox-Ausbrüche gegen Agent-Werkzeuge, in vier Berichten vom 23. Juli bis 15. September 2026. Vier wurden vor der Veröffentlichung behoben; der fünfte wurde Anthropic gemeldet und als „Informative“ (informativ) geschlossen. Bei Claude Code, mit eingeschalteter Sandbox und dem strengsten Berechtigungsmodus, „ran on our Mac anyway, outside the sandbox, with no permission prompt“ (lief ein Befehl aus einem Repository auf unserem Mac trotzdem, außerhalb der Sandbox und ohne Berechtigungsabfrage); Anthropic behob das in 2.1.247.67 Bei der CLI von Cursor dieselbe Ursache: „the Seatbelt profile wraps only the shell tool, while the harness’s own internal git runs unsandboxed and honors repository-supplied core.fsmonitor hooks.“ (das Seatbelt-Profil umschließt nur das Shell-Werkzeug, während das interne git des Harness ohne Sandbox läuft und vom Repository gelieferte core.fsmonitor-Hooks ausführt.)68 Bei Codex zwei Ausbrüche, gemeldet am 12. August 2026, „Both were fixed inside of eight days“ (beide wurden binnen acht Tagen behoben); bei einem „launchd starts the application unsandboxed, outside Codex’s process tree.“ (startet launchd die Anwendung ohne Sandbox, außerhalb des Prozessbaums von Codex.)69 Bei der VM von Claude Cowork ein Ausbruch in einen beschreibbaren Mount des Hosts, von dem aus der Angriff „reads and writes the host Mac’s filesystem directly, as the logged-in desktop user.“ (das Dateisystem des Host-Mac direkt liest und schreibt, als angemeldeter Desktop-Benutzer.)70 Keiner der vier Berichte liest Daten, die der Festplattenvollzugriff schützt. Meine Lesart, nicht die Behauptung der Forscher: Ein Prozess, der aus Seatbelt ausbricht, aber in der Startkette des Terminals bleibt, behält die TCC-Freigaben des Terminals, und auf einem Mac, dessen Terminal Festplattenvollzugriff hat, erreicht ein solcher Ausbruch also auch die durch den Festplattenvollzugriff geschützten Daten. Ich fand keine Nachbetrachtung, keine Sicherheitsmeldung und keinen Forschungsbericht über einen Agenten, der gegen den Willen des Benutzers Mail, Messages oder Browserdaten über eine Freigabe für den Festplattenvollzugriff gelesen hat.

5. Auf meinem Mac: Wer Festplattenvollzugriff hat, und woher ich das weiß

Alles in diesem Abschnitt ist meine eigene Messung auf meinem eigenen Mac, durchgeführt am 11. Oktober 2026 aus einer Claude Code-Sitzung: macOS 27.0, Build 26A428, Systemintegritätsschutz aktiviert. Alle Befehle bis auf zwei waren rein lesend: Ein Test reichte einen launchd-Job ein, der seine Ausgabe in zwei Dateien schrieb, und entfernte danach den Job wieder; ein anderer installierte Anthropics sandbox-runtime 0.0.79 über npx -y, um es auszuführen, wobei für seine Läufe zwei Einstellungsdateien zum Testen geschrieben wurden. Die Schreibproben in den Sandboxes waren Versuche, und die Sandboxes verweigerten sie; die Netzwerkproben waren Versuche, die scheiterten, aus einem Grund, den die Aufzeichnung nicht belegt. Ich habe keine Einstellung geändert und nichts gewährt oder entzogen.195 Was ich gefunden habe, beschreibe ich mit App- und Dienstnamen. Wo die Belege zeigen, dass ein Programm in der Liste für den Festplattenvollzugriff steht, sage ich, dass es aufgeführt ist; dass es Zugriff hat, sage ich nur dort, wo ein Lesezugriff zeigt, dass der Zugriff funktioniert.

Die Startkette des Agenten

Die Shell, in der Claude Code Befehle ausführt, ist eine zsh, gestartet von claude, gestartet von meiner Login-Shell, gestartet von login, gestartet von Ghostty, der Terminal-App; die Umgebung meldet TERM_PROGRAM als ghostty.19 Nach der Regel von Apples Supportingenieur ist der verantwortliche Code für alles in dieser Kette Ghostty.3

Die Liste auslesen

Soweit ich geprüft habe, dokumentiert macOS keinen Befehl, der die Inhaber des Festplattenvollzugriffs auflistet: tccutil hat genau einen Befehl, reset.34 Die Liste liegt in den Datenbanken von TCC. Aus der Shell des Agenten ließ sich die Datenbank pro Benutzer nicht öffnen, und ihr Ordner tauchte in einer Verzeichnisauflistung des Ordners Application Support des Benutzers nicht auf. Warum, weiß ich nicht. Die Release Notes zu macOS 27 sagen „Apps can no longer access the local TCC database directly“ (Apps können nicht mehr direkt auf die lokale TCC-Datenbank zugreifen), was der Grund sein könnte, aber der Hinweis sagt nicht, welche Datenbank er meint, also lasse ich es unerklärt.1923

Die systemweite Datenbank ließ sich öffnen. Ich habe nur zwei Spalten abgefragt, den Dienst und den Client, nach dem Dienst für den Festplattenvollzugriff gefiltert und die Spalte, die festhält, ob der jeweilige Schalter an ist, nie gelesen. Die Abfrage lieferte 75 Zeilen.19 Dass sie sich überhaupt öffnen ließ, ist schon ein Beleg. 2022 zeigte Jeff Johnson, dass Terminal mit Festplattenvollzugriff „can read or write any restricted files, including the TCC database itself“ (beliebige geschützte Dateien lesen oder schreiben kann, einschließlich der TCC-Datenbank selbst); er zeigte es für die Datenbank pro Benutzer, und der Kontrolltest unten zeigt dasselbe für die Systemdatenbank auf diesem Mac.465 Es bedeutet auch, dass die System-TCC-Datenbank unter macOS 27.0, trotz des oben zitierten Release-Hinweises, für einen Prozess, dessen Startkette die Freigabe hatte, weiterhin direkt lesbar war.1923

Die 75 Zeilen für den Festplattenvollzugriff auf dem Mac des Autors, ein Quadrat pro Zeile, nach Art gruppiert: 30 Claude Code-Binärdateien, jede in einer anderen Version, die älteste 2.1.177 und die neueste 2.1.296; 25 weitere Apps, Hilfsprogramme und Updater von Drittanbietern; 5 Interpreter, node und vier python3-Versionen; 5 eigene Entwicklungs-Builds des Autors; 3 weitere Apps und Dienste von Apple; 3 Terminals, Terminal, iTerm2 und Ghostty; 3 Agent-Hosts, ChatGPT, Cursor und Xcode; und 1 Eintrag des SSH-Servers für die entfernte Anmeldung. Blau markiert die 42 Zeilen, unter oder über die ein Agent laufen kann, grau die übrigen 33

Ich habe die 75 Zeilen mit einer Regel pro Art sortiert, in dieser Reihenfolge angewandt: die drei Bundle-IDs der Terminals; jeder Client-Pfad zu einer Claude Code-Binärdatei mit Versionsnummer; die Bundle-IDs von ChatGPT, Cursor und Xcode; jeder Interpreter-Pfad zu node oder python3.x; der Client des SSH-Servers; jeder Client, der mit com.apple. oder /System/ beginnt; meine eigenen Entwicklungs-Builds; und alles andere.1947 Was in jeder Gruppe steht:

  • Terminals (3). Terminal, iTerm2 und Ghostty sind alle aufgeführt.
  • Claude Code (30). Dreißig einzelne Zeilen, jede der Pfad zu einer Version der Claude Code-Binärdatei, von 2.1.177 bis 2.1.296, der Version, mit der diese Sitzung lief.1947 Anthropic sagt, dass mit dem nativen Installer der Eintrag des Hosts für Hintergrundsitzungen „appears as Claude Code and the grant persists across updates.“ (als Claude Code erscheint und die Freigabe über Updates hinweg bestehen bleibt.)51 Die Datenbank speichert auf diesem Mac eine Zeile pro Version. Wie die Systemeinstellungen sie anzeigen und ob jeder Schalter an ist, habe ich nicht geprüft. Meine Lesart, unbestätigt: Das sind die Anfragen des Hosts für Hintergrundsitzungen, eine pro Update.
  • Agent-Hosts (3). Die ChatGPT-App (Bundle-ID com.openai.codex), Cursor und Xcode.1947 Xcode gehört hierher, weil Xcode 27 Agenten beherbergt: Seine Release Notes sagen „Agents in Xcode can now be extended with plugins that contain skills, MCP servers, and ACP agent configurations“ (Agenten in Xcode lassen sich jetzt mit Plugins erweitern, die Skills, MCP-Server und ACP-Agent-Konfigurationen enthalten) und ergänzen die Unterstützung für das Agent Client Protocol.24 Ob TCC die Prozesse, die diese Agenten starten, Xcode zurechnet, ist nicht dokumentiert, und Xcode verhält sich womöglich nicht wie ein Terminal. 2024 antwortete Apples Supportingenieur auf die Frage, weshalb die eigene Freigabe eines Werkzeugs nur beachtet wurde, wenn Xcode es ausführte: „Xcode runs the tool in a way that makes it clear to the system that Xcode is not the responsible code for this process“ (Xcode führt das Werkzeug so aus, dass für das System klar ist, dass Xcode nicht der verantwortliche Code dieses Prozesses ist); beim Blick auf die Kette unter dem Debugger von Xcode schrieb er „I expect that one of these is breaking TCC’s responsible code search“ (ich vermute, dass eines davon die Suche von TCC nach dem verantwortlichen Code unterbricht) und fügte hinzu: „I suspect that’s deliberate.“ (Ich vermute, das ist Absicht.)3 Xcode ist also aufgeführt und beherbergt Agenten, aber für die Werkzeuge, die es ausführt, beschreibt Apples Ingenieur das Gegenteil der Terminal-Regel.
  • Interpreter (5). Ein node aus Homebrew und vier Python-Interpreter aus Homebrew. Apples Supportingenieur warnt genau davor: Gibt man dem Interpreter das Recht, „then any script could do that.“ (dann könnte es jedes Skript.)20 OpenClaw gibt dieselbe Warnung zu node für Bedienungshilfen: Einen solchen Eintrag solle man „as broad permission for that Node runtime, not as permission for one npm package“ (als weitreichende Berechtigung für diese Node-Laufzeit behandeln, nicht als Berechtigung für ein einzelnes npm-Paket).50
  • SSH (1). sshd-keygen-wrapper, der serverseitige SSH-Client, den ich für den Eintrag halte, den „Allow full disk access for remote users“ (Festplattenvollzugriff für entfernte Benutzer erlauben) steuert.193
  • Weitere Apple-Einträge (3), meine eigenen Builds (5), alles andere (25). Die letzte Gruppe umfasst Festplatten- und Aufräumprogramme, eine Sicherheitssuite, VPN- und Cloudspeicher-Clients, Updater, Druckersoftware, Spiele, eine App für Videokonferenzen und eine Messaging-App. Einige sind Festplattenprogramme, die andere Art von Software, die Apple nennt; keine der 75 ist eine Backup-App.

Zweiundvierzig der 75 Zeilen sind etwas, unter dem oder über das ein Agent laufen kann. Keine davon ist eine Backup-App.

Sieben Läufe: Sandbox und Freigabe sind getrennte Schichten

Um zu sehen, welche Schicht entscheidet, habe ich eine Probe, das Lesen einer einzigen Zeile aus dieser Systemdatenbank, unter verschiedenen Bedingungen ausgeführt, dazu eine Schreibprobe in beiden Sandboxes und eine Netzwerkprobe in sandbox-runtime.5

Eine Tabelle mit sieben Läufen auf dem Mac des Autors, macOS 27.0, 11. Oktober 2026. Lauf 1, die Shell des Agenten in Ghostty ohne Sandbox: Der Lesezugriff auf die TCC-Datenbank lieferte die Zeile. Lauf 2, in der read-only-Seatbelt-Sandbox von Codex: lieferte die Zeile. Lauf 2b, dieselbe Sandbox, ein Schreibzugriff außerhalb des Workspace: von Seatbelt verweigert. Lauf 2c, Codex mit der Konfiguration des Autors: lieferte die Zeile. Lauf 3a, Anthropics sandbox-runtime ohne Lesesperre: lieferte die Zeile. Lauf 3b, sandbox-runtime mit Lesesperre für den TCC-Ordner: von Seatbelt verweigert. Lauf 4, derselbe Lesezugriff aus einem launchd-Job ohne Ghostty in der Startkette: von TCC verweigert

  1. Die Shell des Agenten, ohne Sandbox. Der Lesezugriff lieferte die Zeile.
  2. In der Seatbelt-Sandbox von Codex CLI 0.154.0, Modus read-only. Der Lesezugriff lieferte die Zeile. Dieselbe Sandbox verweigerte ein touch außerhalb des Workspace mit „Operation not permitted“ (Lauf 2b), die Sandbox funktionierte also; sie hält dort nur keine Lesezugriffe auf. Mit meiner eigenen Codex-Konfiguration, die keinen Sandbox-Modus setzt und den Netzwerkzugriff einschaltet, lieferte der Lesezugriff ebenfalls die Zeile (Lauf 2c).
  3. In Anthropics sandbox-runtime 0.0.79, dem Paket, auf dem die Sandbox von Claude Code aufbaut, ohne Lesesperre (Lauf 3a): Der Lesezugriff lieferte die Zeile, während der Schreibzugriff außerhalb des erlaubten Ordners verweigert wurde und eine Netzwerkanfrage scheiterte (curl mit Exit-Code 56; die Aufzeichnung zeigt nicht, warum). Mit denyRead auf den TCC-Ordner (Lauf 3b) scheiterte der Lesezugriff mit „authorization denied“.
  4. Die Kontrolle. Derselbe sqlite3-Lesezugriff, eingereicht als launchd-Job, sodass weder Ghostty noch Claude Code irgendwo in seiner Startkette standen: „authorization denied“.5

Erst die Kontrolle gibt dem Rest Bedeutung. Die Datenbankdatei gehört root und ist laut ihren Rechten für alle lesbar (-rw-r--r--), also haben nicht die Dateirechte Lauf 4 abgewiesen, sondern TCC.195 Dieselbe Binärdatei, dieselbe Datei, derselbe Benutzer: Erfolg aus der Shell des Agenten, Scheitern außerhalb davon. Was die Shell des Agenten hatte, hatte sie von ihrer Startkette. Die Regel des Supportingenieurs nennt das Terminal als verantwortlichen Code dieser Kette.3 Einen Vorbehalt kann ich mit diesen Daten nicht ausräumen: Die Kette enthält auch einen claude-Prozess, und Claude Code-Binärdateien sind ebenfalls aufgeführt; in den Läufen 3a und 3b führte ein node-Prozess die Sandbox-Runtime aus, und ein node aus Homebrew ist ebenfalls aufgeführt, wobei nicht festgehalten ist, welches node npx verwendet hat. Meine Messung zeigt, dass der Zugriff aus der Kette kommt, und die Regel des Supportingenieurs nennt das Terminal; sie beweist nicht eigens, dass TCC die Zeile von Ghostty verwendet hat und nicht eine Zeile von Claude Code oder node. Apples Supportingenieur sagt, der Algorithmus sei nicht dokumentiert.3

Die Läufe 3b und 4 geben denselben Fehler aus, obwohl verschiedene Schichten sie abgewiesen haben. Wer in der Ausgabe eines Agenten „authorization denied“ liest, kann an der Meldung nicht erkennen, ob die Sandbox oder TCC Nein gesagt hat.5

Probieren Sie es auf Ihrem eigenen Mac aus

Aus der Shell, die Ihr Agent verwendet, gibt dies die Liste für den Festplattenvollzugriff aus, wenn die Startkette dieser Shell Festplattenvollzugriff hat. Es scheitert mit „authorization denied“, wenn die Kette ihn nicht hat oder wenn eine Sandbox-Regel den Ordner sperrt, wie in Lauf 3b. Es liest zwei Spalten und ändert nichts. Die Ergebnisse sind Zeilen, keine Schalterzustände.

# Run from the same terminal (or editor terminal) you run agents in.
sqlite3 -readonly "/Library/Application Support/com.apple.TCC/TCC.db" \
  "SELECT service, client FROM access WHERE service='kTCCServiceSystemPolicyAllFiles';"
echo "exit=$?"

Das ist die Abfrage, die ich unter macOS 27.0 ausgeführt habe, Wort für Wort.19 Um zu sehen, welcher App TCC einen Zugriff zugerechnet hat, nennt Apples Bereitstellungshandbuch einen Log-Stream, log stream --debug --predicate 'subsystem == "com.apple.TCC" AND eventMessage BEGINSWITH "AttributionChain"', angeboten, „to try to identify“ (um zu versuchen, zu ermitteln), welche App oder Binärdatei in Echtzeit verantwortlich ist.31 Für diese Messungen habe ich ihn nicht ausgeführt, weshalb Abschnitt 5 nicht sagen kann, ob die Zeile von Ghostty oder eine andere in der Kette entschieden hat. Die Datenbankabfrage oben funktioniert in einer späteren Version womöglich nicht mehr. Apple dokumentiert weder die Datei noch ihr Schema, und die Notes zu macOS 27 sagen bereits, dass Apps „can no longer access the local TCC database directly.“ (nicht mehr direkt auf die lokale TCC-Datenbank zugreifen können.)23

6. Was jetzt zu tun ist

Bei meinen Abrufen vom 11. Oktober fand ich keinen veröffentlichten Mechanismus und keinen Release-Hinweis zu den neuen Kontrollen, also ist nichts hiervon eine Migration. Es ist das, was ich heute auf jedem Mac tun würde, der Agenten ausführt, mit der Quelle für jeden Schritt und dem, was er kostet. Auf meinem eigenen Mac habe ich noch nicht alles davon umgesetzt; Abschnitt 5 ist das Vorher-Bild.

1. Prüfen Sie, wer Festplattenvollzugriff hat. Öffnen Sie Systemeinstellungen > Datenschutz & Sicherheit > Festplattenvollzugriff und lesen Sie die Liste.4 Achten Sie auf Terminals, Editoren, Agent-Apps, Agent-Binärdateien, Interpreter und alles, was Sie nicht kennen. Aus einer Shell gibt die Abfrage aus Abschnitt 5 die Liste aus, wenn diese Shell den Zugriff bereits hat, was zugleich testet, ob die Shell Ihres Agenten ihn hat; ein Fehlschlag kann auch von einer Sandbox-Regel kommen, die den Ordner sperrt, wie in Lauf 3b.5 Kosten: keine. Denken Sie daran, dass eine aufgeführte App nicht unbedingt eingeschaltet ist.

2. Nehmen Sie ihn dem Terminal weg, in dem Sie Agenten ausführen. Dieser Schritt ändert am meisten. Der verantwortliche Code eines Kommandozeilenwerkzeugs ist das Terminal, also ist die Freigabe des Terminals die Freigabe des Agenten.32 Brauchen Sie Festplattenvollzugriff für Backup- oder Verwaltungsarbeit auf der Kommandozeile, wofür tmutil und fdesetup ihn dokumentieren, dann behalten Sie eine zweite Terminal-App mit der Freigabe und starten darin nie einen Agenten.4344 (Der letzte Teil ist mein Vorschlag, nicht Apples. Jeff Johnson hat mit Apples Terminal gezeigt, dass eine App ohne Sandbox sich dessen Freigabe leihen kann, indem sie darin ein Skript öffnet; nach meiner Lesart könnte dasselbe für eine zweite Terminal-App gelten, die Skripte öffnet.46) Kosten: Geschützte Orte schlagen mit „Operation not permitted“ fehl, und die Abfragen für Dateien und Ordner kehren zurück. Apples Kontrolle pro Ordner umfasst „Desktop, Documents, Downloads, network volumes, and removable volumes.“ (Schreibtisch, Dokumente, Downloads, Netzwerkvolumes und Wechselmedien.)10 Anthropic dokumentiert denselben Fehler für die Hintergrundsitzungen von Claude Code und die Lösung, eine Freigabe für Dateien und Ordner für diesen Eintrag.51 OpenClaw schlägt vor, Dateien in seinem Workspace zu halten, um Freigaben pro Ordner zu vermeiden.50

3. Prüfen Sie die eigenen Einträge des Agenten. Der Hintergrund-Host von Claude Code fordert Zugriff „separately from your terminal“ (getrennt von Ihrem Terminal) an und kann einen eigenen Eintrag für den Festplattenvollzugriff haben.51 Auf meinem Mac sind 30 Claude Code-Binärdateien mit Versionsnummer aufgeführt, die ich, unbestätigt, als Einträge dieses Hosts lese.19 Entfernen Sie die, die Sie nicht gewähren wollten, und gewähren Sie stattdessen Dateien und Ordner, wo eine Hintergrundsitzung einen Ordner braucht. Agent-Apps haben ebenfalls eigene Zeilen; auf meinem Mac sind die Apps ChatGPT, Cursor und Xcode alle aufgeführt.19 Kosten: Eine Hintergrundsitzung, die geschützte Ordner liest, scheitert, bis Sie den engeren Zugriff gewähren.

4. Gewähren Sie ihn nie einem Interpreter. Apples Supportingenieur: „if you have a script that needs to manipulate files on your desktop, you wouldn’t want to give the interpreter that privilege because then any script could do that.“ (Wenn Sie ein Skript haben, das Dateien auf Ihrem Schreibtisch bearbeiten muss, wollen Sie dieses Recht nicht dem Interpreter geben, weil es dann jedes Skript könnte.) Seine Lösung ist, „package your script as a standalone program that MAC can use for its tracking.“ (Ihr Skript als eigenständiges Programm zu verpacken, das MAC für seine Zuordnung nutzen kann.)20 Die eigene Zeile eines Interpreters zählt überall dort, wo der Interpreter der verantwortliche Code ist, etwa bei einem Skript, das als launchd-Job ohne zugeordnete App läuft; dann bekommt jedes Python- oder Node-Skript, MCP-Server eingeschlossen, das auf diese Weise über diesen Interpreter gestartet wird, die gesamte Freigabe.32 Kosten: Für ein Skript, das den Zugriff wirklich braucht, ist seine „easiest solution“ (einfachste Lösung), es als eigenständiges Programm zu verpacken, das MAC zuordnen kann, was laut ihm mit AppleScript leicht geht und mit Shell-Skripten nicht.20

5. Schalten Sie die Sandbox des Anbieters ein und sperren Sie die Lesezugriffe, die Sie nicht brauchen. Die Vorgaben lesen weit, also ist das Einschalten der Sandbox notwendig, aber nicht hinreichend.

  • Claude Code: sandbox.enabled, dann permissions.blockReadsOutsideWorkingDirectories (oder Regeln mit sandbox.filesystem.denyRead) und "allowUnsandboxedCommands": false, um die Wiederholung ohne Sandbox abzuschalten.15 Denken Sie daran, dass das Read-Werkzeug, Hooks und MCP-Server außerhalb liegen.15 Kosten: Werkzeuge, die andere Pfade oder Hosts brauchen, scheitern, bis Sie sie erlauben, und jeder Eintrag in excludedCommands öffnet die Lücke wieder.15
  • Codex: Bleiben Sie bei workspace-write oder read-only; meiden Sie danger-full-access; ergänzen Sie in einem Berechtigungsprofil Leseregeln mit "deny" oder setzen Sie für ein Team permissions.filesystem.deny_read in requirements.toml, der vom Administrator erzwungenen Datei, damit Benutzer es nicht abschwächen können.1621 Kosten: Befehle, die das Netzwerk brauchen, benötigen eine Freigabe oder network_access.60
  • Gemini CLI: Starten Sie mit -s und SEATBELT_PROFILE=strict-open oder strict-proxied, den beiden Profilen, die laut Dokumentation Lesezugriffe beschränken.17 Kosten: Diese Profile beschränken Lese- wie Schreibzugriffe, also scheitern Werkzeuge, die außerhalb des Projekts lesen, unter ihnen, bis Sie ein lockereres Profil wählen.
  • Cursor: Stellen Sie Read Access von System auf Workspace um; die Einstellung erfordert Cursor 3.23 oder neuer, und das Cursor auf meinem Mac ist 3.19.7.1847 Kosten: Lesezugriffe außerhalb des Workspace fragen zuerst nach, und Befehle in der Sandbox sehen nur den Workspace, Ihre Read Allowlist und die Systempfade, die gängige Werkzeuge brauchen.18
  • VS Code: Schalten Sie chat.agent.sandbox.enabled ein; es gilt nur für Sitzungen mit Copilot Agent Host, „not the Local chat harness or the custom terminal tool override.“ (nicht für den lokalen Chat-Harness oder die benutzerdefinierte Überschreibung des Terminalwerkzeugs.)59 Kosten: Befehle, die Pfade oder Werkzeuge außerhalb seiner Vorgaben brauchen, müssen erlaubt werden, und selbst dann sagt Microsoft, es sei „not a virtual machine or user-account boundary“ (weder eine virtuelle Maschine noch eine Grenze zwischen Benutzeraccounts), und lässt ausgehenden Netzwerkverkehr standardmäßig offen; es verkleinert die Lücke also, statt sie zu schließen.59
  • Hermes Agent und OpenClaw: Verwenden Sie ein Container-Backend. Hermes empfiehlt eines für produktive Gateways; die Sandbox von OpenClaw ist standardmäßig aus und in seinen Worten „not a perfect security boundary“ (keine perfekte Sicherheitsgrenze), auch wenn es sagt, die Sandbox „materially limits filesystem and process access.“ (begrenze den Zugriff auf Dateisystem und Prozesse spürbar.)6462 Kosten: Befehle im Container verlieren den uneingeschränkten Zugriff auf den Host (Hermes beschreibt die Backends als Isolation der „agent commands from your host system“, der Agent-Befehle vom Hostsystem), aber eingebundene oder synchronisierte Dateien bleiben erreichbar: Die Backends Docker und Singularity von Hermes nutzen Bind-Mounts, eine „live host filesystem view“ (Live-Ansicht des Host-Dateisystems), seine Einstellung docker_volumes teilt Host-Verzeichnisse, und der Workspace-Zugriff von OpenClaw kann neben dem Standard none auch ro oder rw sein.646166 Der Preis besteht darin, die Dateien, die eine Aufgabe braucht, ausdrücklich bereitzustellen und diese Mounts zu prüfen. Was es nicht abdeckt: Das Gateway von OpenClaw bleibt auf dem Host, also behält ein konfigurierter iMessage-Kanal den Festplattenvollzugriff des Prozesskontexts des Gateways; Werkzeuge in Container zu verlagern beseitigt diese Angriffsfläche nicht.6214 Der iMessage-Skill von Hermes nennt Voraussetzungen auf dem Host (Messages angemeldet, imsg installiert, Festplattenvollzugriff für das Terminal); ich fand keine Seite von Hermes dazu, wie sich der Skill unter einem Container-Backend verhält.13

Die Grenze: Auf meinem Mac änderte keine Sandbox die Freigabe für den Festplattenvollzugriff; eine Sandbox blockierte den geschützten Lesezugriff nur, wenn ihr Profil diesen Pfad namentlich sperrte, und die Seatbelt-Schichten von Claude Code, der CLI von Cursor und Codex hatten jeweils veröffentlichte Ausbrüche, die inzwischen behoben sind.5676869

6. Geben Sie einem Agenten, der Messages liest, einen eigenen macOS-Benutzer, oder verzichten Sie auf ihn. OpenClaws eigener Bereitstellungsrat für seinen iMessage-Bot lautet „Use a dedicated Apple ID and macOS user so bot traffic is isolated from your personal Messages profile.“ (Verwenden Sie eine eigene Apple-ID und einen eigenen macOS-Benutzer, damit der Bot-Verkehr von Ihrem persönlichen Messages-Profil getrennt ist.)71 Machen Sie diesen Benutzer zu einem Standardaccount: Apple sagt, Standardbenutzer „can install apps and change their own settings, but can’t add other users or change other users’ settings.“ (können Apps installieren und ihre eigenen Einstellungen ändern, aber keine anderen Benutzer hinzufügen und deren Einstellungen nicht ändern.)72 Auf meinem Mac sind meine Benutzer-Library sowie die Ordner von Mail und Messages laut ihren Dateirechten nur für mich lesbar, also wird ein Prozess, der als anderer Standardbenutzer läuft, durch gewöhnliche Dateirechte abgewiesen, bevor TCC überhaupt gefragt wird; das ist meine Schlussfolgerung aus den Rechten, kein Test, den ich ausgeführt habe.19 Zwei Vorbehalte: Apples Supportingenieur sagt, der Festplattenvollzugriff sei „system wide“ (systemweit), nicht pro Benutzer, sodass eine App, der er in einem Account gewährt wurde, ihn in jedem Account hat; und Apples Handbuch sagt, die Einstellung reiche bis zu „certain administrative settings for all users on this Mac.“ (bestimmten Verwaltungseinstellungen für alle Benutzer dieses Mac.)204 Kosten: ein zweites Login, ein zweiter Schlüsselbund und ein zweiter Satz Einstellungen, und ein Agent, der die Dateien Ihres Hauptaccounts nicht sieht, solange Sie sie nicht freigeben.

7. Schalten Sie „Allow full disk access for remote users“ (Festplattenvollzugriff für entfernte Benutzer erlauben) aus, wenn Sie es nicht brauchen. Steuern Sie Agenten über SSH, ist der SSH-Server der verantwortliche Code, und diese Einstellung ist seine Freigabe.3 Auf meinem Mac ist sein Client aufgeführt.19 Kosten: Entfernte Shells verlieren den Zugriff auf geschützte Orte.

8. Behalten Sie die Freigabe pro Aktion für alles, was in Ihrem Namen spricht. OpenAI: „Persistent approval removes your final chance to review a message before ChatGPT sends it as you. Use it only when you accept that risk.“ (Eine dauerhafte Freigabe nimmt Ihnen die letzte Gelegenheit, eine Nachricht zu prüfen, bevor ChatGPT sie in Ihrem Namen sendet. Nutzen Sie sie nur, wenn Sie dieses Risiko in Kauf nehmen.)22 Anthropic: bypassPermissions nur für „isolated environments like containers or VMs.“ (isolierte Umgebungen wie Container oder VMs.)53 Kosten: mehr Klicks, und genau darum geht es.

9. Wenn Sie Macs verwalten, prüfen Sie, was Ihre Profile gewähren. Ein Profil für Privacy Preferences Policy Control kann SystemPolicyAllFiles jeder Bundle-ID und jedem Pfad gewähren, auch einem Terminal, und „The user isn’t prompted and can’t change this value.“ (Der Benutzer wird nicht gefragt und kann diesen Wert nicht ändern.)237 Unter macOS 27 ist der Teil pro App dieser Payload als veraltet markiert, und der deklarative Ersatz hat keinen Schlüssel für den Festplattenvollzugriff.3738 Ich fand keinen von Apple dokumentierten Weg, auf dem MDM einen von Hand gewährten Festplattenvollzugriff melden könnte. Kosten: Die Profile, die Sie finden, tragen womöglich einen Backup- oder Sicherheitsagenten; Apples eigenes Beispiel gewährt der App einer Organisation Zugriff „without prompting the user.“ (ohne den Benutzer zu fragen.)31

Der Leitfaden zu Loop Engineering behandelt den unbeaufsichtigten Betrieb von Agenten; jeder Schritt oben gilt umso mehr, wenn niemand an der Tastatur sitzt, um eine Abfrage zu lesen.

7. Was sich ändern könnte: eine Lesart, mit Bedingungen

Alles in diesem Abschnitt ist meine Lesart von Apples Worten und von Änderungen, die Apple bereits daneben ausgeliefert hat. Apple hat keinen Mechanismus angekündigt, und ich sage keinen voraus. Jede Form unten ist etwas, das der Text vom 2. Oktober zulässt, dazu die Belege, die sie mehr oder weniger plausibel machen, und die Bedingung, unter der sie Agenten berühren würde.

Ein strengerer Freigabeablauf. Die Verben des Textes selbst handeln vom Gewähren: Benutzer, „who genuinely wish to grant an app this extraordinary level of access can only do so with very explicit user action“ (die einer App diesen außergewöhnlichen Zugriff wirklich gewähren wollen, können dies nur durch sehr explizites Handeln tun), sollen „clearly understand these risks before granting such access“ (diese Risiken klar verstehen, bevor sie einen solchen Zugriff gewähren).1 Einwilligung mit Erklärung hat Apple schon ausgeliefert: Die deklarativen App-Einstellungen von macOS 27 zeigen Benutzern eine Einwilligungsabfrage mit der vorgeschriebenen Begründung einer Organisation, bevor Datenschutzvorgaben angewandt werden.3938 Bedingung: Gilt die neue Kontrolle nur für neue Freigaben, behält ein Terminal, das bereits Festplattenvollzugriff hat, ihn, und darin ausgeführte Agenten sind nicht betroffen, bis der Benutzer ihn zurücksetzt. Gilt sie für bestehende Freigaben, ist auch jedes Terminal mit Festplattenvollzugriff betroffen. Die Meldung sagt weder das eine noch das andere.

Ein engerer Umfang. Apple könnte den Schalter lassen, wie er ist, und Daten darunter wegziehen. Apple hat diese Linien schon neu gezogen: Catalina nahm den Papierkorb in das auf, was Festplattenvollzugriff braucht, macOS 14 und 15 stellten App-Container und Gruppen-Container unter eigene Schutzmechanismen, und macOS 27 verweigert Container anderer Teams standardmäßig und lässt XProtect „app data that is commonly targeted by malicious software“ (App-Daten, auf die es Schadsoftware häufig abgesehen hat) einschränken.112023 Bedingung: Verlagert Apple Daten von Mail, Messages oder Safari hinter eine eigene Kontrolle, die der Festplattenvollzugriff nicht abdeckt, erreicht der Weg über das Terminal sie nicht mehr, selbst wo das Terminal seinen Festplattenvollzugriff behält. Die Meldung erwähnt keine Eingrenzung; ihre Formulierung „this extraordinary level of access“ (dieser außergewöhnliche Zugriff) beschreibt die Freigabe, wie sie ist.

Eine andere Behandlung vererbter Freigaben. Die Lücke zwischen „grant an app“ (einer App gewähren) und einem Agenten, der ein Kindprozess einer App ist, ist die, um die es in diesem Beitrag geht, und Apple hat zwei Bausteine bereit, die sie schließen könnten. Xcode 27 hat bereits „a new security layer that monitors and controls filesystem access by coding agents and any processes they spawn“ (eine neue Sicherheitsschicht, die Dateisystemzugriffe von Coding-Agenten und allen von ihnen gestarteten Prozessen überwacht und steuert), und Endpoint Security in macOS 27 ergänzt es_new_descendants_client, das nur „the entire subtree rooted at the calling process“ (den gesamten Teilbaum unterhalb des aufrufenden Prozesses) beobachtet und laut Header „Does NOT require TCC approval“ (KEINE Freigabe durch TCC braucht), wobei es wie es_new_client das Entitlement com.apple.developer.endpoint-security.client voraussetzt.2425 Apples Supportingenieur hat letzteres am 18. September 2026 in seinen Beitrag über Dateiberechtigungen aufgenommen.20 Keiner der beiden Texte stellt eine Verbindung zum Festplattenvollzugriff her. Bedingung, als meine Lesart: Eine Kontrolle für „an app“ (eine App) landet beim Terminal, und jeder Agent darin erbt weiterhin das Ergebnis, es sei denn, Apple ändert die Zuordnung des verantwortlichen Codes, die sein Ingenieur als undokumentiert und „subject to change“ (Änderungen unterworfen) bezeichnet, oder knüpft die neue Kontrolle an etwas wie den Descendants-Client. Keiner der Texte sagt, dass das geschehen wird.

Verwaltete Macs. MDM kann heute Festplattenvollzugriff gewähren, ohne den Benutzer zu fragen.37 In macOS 27 ist der Teil pro App dieser Payload veraltet, und sein deklarativer Ersatz hat keinen Schlüssel für den Festplattenvollzugriff.3738 Bedingung: Gilt das „very explicit user action“ (sehr explizite Handeln des Benutzers) auch für MDM-Freigaben, wäre eine stille Freigabe per Profil nicht mehr möglich; gilt es nicht, behalten verwaltete Macs den stillen Weg. Apple hat zu keinem der beiden Punkte etwas gesagt und die Deprecation in macOS 27 nicht mit der Meldung vom 2. Oktober verknüpft.

Wann. Die Meldung sagt „Going forward“ (künftig). Die Notes zur macOS 27.2 beta 3, für eine Beta, die drei Tage nach ihr datiert ist, enthalten nichts dazu, und einen Eintrag für macOS 27.1 fand ich weder im Releases-Feed vom 11. Oktober noch im Index der Release Notes: Der Feed führt 27.0.1 (28. September) und danach die 27.2 beta 3, nachdem die Betas von 27.2 am 16. September begonnen hatten, und der Index der Release Notes führt nur 27 und die 27.2 beta 3.6879 Die TCC-Deprecation dieses Jahres, „Apps can no longer access the local TCC database directly“ (Apps können nicht mehr direkt auf die lokale TCC-Datenbank zugreifen), hat Apple in die Release Notes zu macOS 27 unter eine TCC-Überschrift gestellt.23 Bedingung: Kommen die neuen Kontrollen mit einer Version, die Notes für Entwickler hat, dann stehen sie dort, wo Apple die TCC-Deprecation dieses Jahres untergebracht hat, und ich werde die Notes jeder Beta von macOS 27.x auf eine solche Zeile hin lesen. Doch macOS 27.0.1 ist bereits ganz ohne Release Notes für Entwickler erschienen, also könnte eine Änderung auch in einem Punkt-Update ohne Zeile auf irgendeiner Notes-Seite landen.78 Kommen sie mit macOS 28, sind eine WWDC-Session oder die Release Notes einer Beta die Orte, an denen Apple solche Änderungen bisher beschrieben hat: die WWDC19 für die Schutzmechanismen von Catalina, die Notes zu macOS 27 für die TCC-Deprecation dieses Jahres.1123 So oder so hängen die Schritte in Abschnitt 6 nicht von der Antwort ab.

Die wichtigsten Erkenntnisse

Wenn Sie Agenten auf einem Mac ausführen

  • Apple sagte am 2. Oktober, dass das Gewähren von Festplattenvollzugriff „very explicit user action“ (sehr explizites Handeln des Benutzers) erfordern wird, und nannte KI-Agenten als Grund. Version, Datum oder Mechanismus nannte es nicht.1
  • Ihr Kommandozeilen-Agent hat, was Ihr Terminal hat. Apples Manpages und sein Supportingenieur sagen, das Terminal sei der verantwortliche Code; eine allgemeine Regel dokumentiert Apple nicht.23
  • Eine Sandbox des Anbieters ist keine Kontrolle über den Festplattenvollzugriff. Auf meinem Mac passierte ein geschützter Lesezugriff die read-only-Sandbox von Codex und Anthropics Sandbox-Runtime; nur eine Lesesperre genau für diesen Ordner oder ein Start außerhalb des Terminals hielt ihn auf.5
  • Nehmen Sie dem Terminal, in dem Sie Agenten ausführen, den Festplattenvollzugriff, geben Sie ihn nie node oder python und schalten Sie Lesebeschränkungen ein, nicht nur die Sandbox.201521
  • Liest ein Agent Messages, geben Sie ihm einen eigenen macOS-Benutzer und behalten Sie die Freigabe pro Nachricht.7122

Wenn Sie Agenten oder Agent-Apps entwickeln

  • Fordern Sie Benutzer nicht auf, ihrem Terminal oder dem Prozess Ihres Agenten Festplattenvollzugriff zu gewähren. Zwei Anbieter tun das heute, für Messages.1314
  • Apples dokumentierter Weg ist ein Link zum Einstellungsbereich, keine Abfrage; der Schalter gehört dem Benutzer, und Apple sagt, das Einschalten werde sehr explizites Handeln des Benutzers verlangen.251
  • Schreiben Sie in Ihre Dokumentation, was Ihre Sandbox standardmäßig liest. Die Dokumentation von Codex sagt, ihre Sandbox „limits what it can touch (typically to the current workspace)“ (begrenzt, was er anfassen kann, typischerweise auf den aktuellen Workspace); ihr Quellcode und meine Läufe zeigen Lesezugriffe weit über den Workspace hinaus.60635

Häufige Fragen

Was ist der Festplattenvollzugriff auf einem Mac?

Eine Einstellung unter Systemeinstellungen > Datenschutz & Sicherheit, mit der eine App „access all files on your computer, including data from other apps (for example, Mail, Messages, Safari, and Home), data from Time Machine backups, and certain administrative settings for all users on this Mac.“ (auf alle Dateien Ihres Computers zugreifen kann, einschließlich der Daten anderer Apps wie Mail, Messages, Safari und Home, der Daten aus Time-Machine-Backups und bestimmter Verwaltungseinstellungen für alle Benutzer dieses Mac.) Apps können nicht danach fragen; der Benutzer fügt sie mit der Taste „Hinzufügen“ hinzu, oder ein MDM-Profil gewährt den Zugriff.4102

Was hat Apple im Oktober 2026 zum Festplattenvollzugriff angekündigt?

Eine Entwicklermeldung vom 2. Oktober 2026, „Updates to Full Disk Access in macOS“, sagt, Apple „will introduce additional controls“ (werde zusätzliche Kontrollen einführen), damit Benutzer, die einer App diesen Zugriff gewähren wollen, „can only do so with very explicit user action“ (dies nur durch sehr explizites Handeln tun können), weil „As AI agents become increasingly capable and autonomous, the risks associated with this level of access will grow substantially.“ (je leistungsfähiger und autonomer KI-Agenten werden, desto stärker wachsen die Risiken eines solchen Zugriffs.) Sie nennt keine macOS-Version, kein Datum und keinen Mechanismus.1

Bekommen Claude Code oder Codex den Festplattenvollzugriff von meinem Terminal?

Ja, wenn das Terminal ihn hat. Ein aus einem Terminal gestartetes Werkzeug wird am Terminal gemessen; Apples Manpage zu eslogger sagt, dass der Aufruf aus „Terminal.app or a third-party terminal emulator“ (Terminal.app oder einem Terminalemulator eines Drittanbieters) verlangt, dass diese App autorisiert ist, und Apples Supportingenieur schreibt in einem Forenbeitrag: „The tool’s responsible code is Terminal.“ (Der verantwortliche Code des Werkzeugs ist Terminal.) Auf meinem Mac funktionierte ein Lesezugriff, der Festplattenvollzugriff braucht, aus der Shell von Claude Code in Ghostty und scheiterte, als er außerhalb davon gestartet wurde.235

Hält die Sandbox von Claude Code oder Codex einen Agenten davon ab, meine Messages zu lesen?

Standardmäßig nicht. Beide Sandboxes nutzen Seatbelt, das vom Festplattenvollzugriff getrennt ist. Die Sandbox von Claude Code ist standardmäßig aus und liest, wenn eingeschaltet, „Most of the machine“ (den Großteil des Rechners). Die von Codex ist an, und ihr read-only-Modus las auf meinem Mac eine Datei, die durch den Festplattenvollzugriff geschützt ist. Sperren Sie die Lesezugriffe ausdrücklich: permissions.blockReadsOutsideWorkingDirectories in Claude Code, Regeln mit "deny" in einem Berechtigungsprofil von Codex.15215

Wie sehe ich, welche Apps Festplattenvollzugriff haben?

Öffnen Sie Systemeinstellungen > Datenschutz & Sicherheit > Festplattenvollzugriff.4 tccutil kann die Liste nicht ausgeben; sein einziger Befehl ist reset.34 Aus einem Terminal, das bereits Festplattenvollzugriff hat, listet ein Lesezugriff auf die System-TCC-Datenbank die Clients auf, wie in Abschnitt 5; ein Fehlschlag mit „authorization denied“ bedeutet entweder, dass Ihre Shell den Zugriff nicht hat, oder dass eine Sandbox-Regel den Lesezugriff gesperrt hat.195

Sollte ich Terminal den Festplattenvollzugriff entziehen?

Wenn Sie darin Agenten ausführen, ja. Behalten Sie ein separates Terminal mit der Freigabe für Backup- oder Verwaltungsbefehle wie tmutil und starten Sie darin nie einen Agenten. Rechnen Sie in dem Terminal, dem Sie ihn entziehen, mit Abfragen für Dateien und Ordner und mit Fehlern „Operation not permitted“.431051

Wann erscheinen Apples neue Kontrollen für den Festplattenvollzugriff?

Apple hat es nicht gesagt. Die Meldung vom 2. Oktober sagt „Going forward“ (künftig), die Release Notes zu macOS 27.2 beta 3 erwähnen es nicht, und einen Eintrag für macOS 27.1 fand ich weder im Releases-Feed vom 11. Oktober noch im Index der Release Notes: Der Feed führt macOS 27.0.1 (28. September), das ohne Release Notes für Entwickler erschien, und danach macOS 27.2 beta 3; die Betas von 27.2 selbst begannen am 16. September.16789

Quellen


  1. Apple Developer, News, “Updates to Full Disk Access in macOS”, datiert auf den 2. Oktober 2026. Abgerufen am 11. Oktober 2026, 17:28 UTC, und erneut um 17:47 UTC; der Text beider Kopien ist bis auf die Form der Apostrophe identisch. Die beiden vollständigen Absätze: Der Festplattenvollzugriff „largely sidesteps“ die Datenkontrollen „in order to allow backup apps to function properly on the Mac“; „Some developers are using Full Disk Access in ways that could put users at risk“; Dateien, Mail, Nachrichten und Browserverlauf; Kommunikations-Apps und „the people users are communicating with“; „Going forward, we will introduce additional controls“; „very explicit user action“; KI-Agenten als Grund, weshalb das Risiko „will grow substantially“. Keine Version, kein Datum, kein Mechanismus und keine App genannt. ↩↩↩↩↩↩↩↩↩↩↩↩↩

  2. Apple, Manpage eslogger(1), ausgeliefert mit dem SDK von macOS 27.0 in Xcode; lokal gelesen am 11. Oktober 2026. Abschnitt TCC AUTHORIZATION: „eslogger requires the responsible process to have been authorized for Full Disk Access“; der Aufruf „from an app, including Terminal.app or a third-party terminal emulator, requires the respective app to be authorized for Full Disk Access“; die Einstellung der entfernten Anmeldung für SSH-Sitzungen; und „MDM servers can grant Full Disk Access authorization“ über den Schlüssel SystemPolicyAllFiles der Payload Privacy Preferences Policy Control. ↩↩↩↩↩↩↩↩↩↩↩↩

  3. Apple Developer Forums, “How to grant command line tools full disk access”, Thread erstellt im Juni 2024; Antworten von Quinn „The Eskimo!“, Apple Developer Technical Support, Juni 2024. Ein Beitrag eines Mitarbeiters, keine Dokumentation. Abgerufen am 11. Oktober 2026, 17:55 UTC. Die vier Fälle des verantwortlichen Codes („The tool’s responsible code is Terminal“, „The tool’s responsible code is the SSH server“ mit der Einstellung „Allow full disk access for remote users“, „The system treats the app as the responsible code“ und der launchd-Fall: „If the daemon or agent was installed by SMAppService, that makes the app the responsible code. Otherwise, the daemon or agent should include AssociatedBundleIdentifiers in its launchd property list“); der Vorbehalt, dass der Algorithmus „is not documented, has changed in the past, and may well change in the future“; der Bericht des ursprünglichen Fragestellers, dass ein in Terminal ausgeführtes Programm die Datei öffnete, solange Terminal Festplattenvollzugriff hatte, und scheiterte, als die Freigabe von Terminal auf das Programm überging; und Quinns Anmerkungen zu Werkzeugen, die Xcode ausführt: „Xcode runs the tool in a way that makes it clear to the system that Xcode is not the responsible code for this process“ sowie, für ein Werkzeug unter dem Debugger von Xcode (Xcode 15.4 unter macOS 14.4.1), „I expect that one of these is breaking TCC’s responsible code search“, ergänzt um „I suspect that’s deliberate“. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩

  4. Apple, Mac-Benutzerhandbuch (macOS 27), “Change Privacy & Security settings on Mac”. Abgerufen am 11. Oktober 2026, 17:37 UTC. Die Zeile für den Festplattenvollzugriff („Allow apps to access all files on your computer“, mit Mail, Messages, Safari, Home, Time-Machine-Backups und „certain administrative settings for all users on this Mac“) und ihre Anweisung, eine App mit der Taste „Hinzufügen“ hinzuzufügen; bei den anderen Zeilen „The listed apps have requested access“. ↩↩↩↩↩↩↩↩↩↩

  5. Messung des Autors auf seinem Mac (macOS 27.0, Build 26A428, Systemintegritätsschutz aktiviert), 11. Oktober 2026, 17:40 UTC, aus einer Claude Code-Sitzung in Ghostty. Alle Befehle rein lesend bis auf zwei: ein launchd-Job, eingereicht und wieder entfernt (seine Ausgabe in zwei Dateien geschrieben), und Anthropics sandbox-runtime 0.0.79, für den Test über npx -y installiert, mit zwei für seine Läufe geschriebenen Test-Einstellungsdateien (srt-a.json, srt-b.json). Die Schreibproben waren Versuche, die die Sandboxes verweigerten; die Netzwerkproben scheiterten (000 curl_exit=56), ohne Diagnose und ohne Kontrolle außerhalb der Sandbox, die den Grund belegen würde. Die sieben Läufe aus Abschnitt 5: ein Lesezugriff auf eine einzelne Zeile der System-TCC-Datenbank aus der Shell des Agenten (Zeile geliefert); in der Seatbelt-Sandbox von Codex CLI 0.154.0 im Modus read-only (Zeile geliefert; ein Schreibzugriff außerhalb des Workspace mit „Operation not permitted“ verweigert); mit der Codex-Konfiguration des Autors (Zeile geliefert); in Anthropics sandbox-runtime 0.0.79 ohne Lesesperre (Zeile geliefert; Schreibzugriff verweigert; Netzwerkanfrage gescheitert) und mit denyRead auf den TCC-Ordner („authorization denied“); und derselbe Lesezugriff als launchd-Job ohne Ghostty in seiner Kette („authorization denied“). ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩

  6. Apple Developer Documentation, “macOS 27.2 Golden Gate Beta 3 Release Notes”. Abgerufen am 11. Oktober 2026, 17:35 UTC. Sechs Abschnitte: General, AppKit, Display Settings, Notifications, Shortcuts, StoreKit Testing in Xcode; keine Zeile zu Festplattenvollzugriff, TCC oder Datenschutz & Sicherheit; die AppKit-Zeile zur entfernten Vorgabe EnablePasteboardPrivacyDeveloperPreview. ↩↩↩↩

  7. Apple Developer, Releases-RSS-Feed. Abgerufen am 11. Oktober 2026, 17:28 UTC. „macOS 27.2 beta 3 (26B5101f)“ datiert auf Mon, 05 Oct 2026; „macOS 27.0.1 (26A434)“ datiert auf Mon, 28 Sep 2026; kein Eintrag für macOS 27.1. ↩↩↩↩↩↩

  8. Apple Developer Documentation, “macOS Release Notes”, abgerufen am 11. Oktober 2026, 17:35 UTC: unter macOS 27 nur „macOS 27.2 Golden Gate Beta 3 Release Notes“ und „macOS 27 Golden Gate Release Notes“. Die Adressen macos-release-notes/macos-27_0_1-release-notes, macos-27_1-release-notes und macos-27_1-beta-release-notes lieferten um 17:31 UTC HTTP 404. ↩↩↩↩↩

  9. Apple Developer, News, Indexseite. Abgerufen am 11. Oktober 2026, 17:41 UTC. „Get ready with the latest beta releases“, datiert auf den 16. September 2026: „The beta versions of iOS 27.2, iPadOS 27.2, macOS 27.2, tvOS 27.2, visionOS 27.2, and watchOS 27.2 are now available.“ ↩↩↩

  10. Apple Platform Security, “Controlling app access to files in macOS”. Abgerufen am 11. Oktober 2026, 17:36 UTC. „Full internal storage access“: keine Abfrage durch die App; der Benutzer ändert die Datenschutzeinstellungen des Systems. Dateien und Ordner, von der App erfragt, „Includes Desktop, Documents, Downloads, network volumes, and removable volumes“. Der Satz, der den Zugriff auf den gesamten Speicher auf „macOS 10.13 or later“ datiert. ↩↩↩↩↩↩

  11. Apple, WWDC19 Session 701, “Advances in macOS Security”, Transkript auf der Seite. Abgerufen am 11. Oktober 2026, 17:40 UTC. Die zwei Stufen geschützter Daten, mit Mail, Nachrichten und dem Safari-Verlauf hinter „a high barrier to access“ für „disk management or backup utilities“; die einwilligungspflichtigen Orte von Catalina; Hilfsprogramme „prepopulated unchecked“; der Papierkorb als neu vorab freigabepflichtig; Apps „can guide the user to the security and privacy preference pane“. ↩↩↩↩↩↩↩

  12. Apple, WWDC23 Session 10053, “What’s new in privacy”, Transkript auf der Seite. Abgerufen am 11. Oktober 2026, 17:40 UTC. Schutz für App-Container, und „For backup utilities or disk-management tools that have already been granted Full Disk Access, no additional prompt will be shown at time of access.“ ↩↩↩

  13. Nous Research, Dokumentation zu Hermes Agent, Apple iMessage skill. Abgerufen am 11. Oktober 2026, 17:41 UTC. „Bundled (installed by default)“; zu den Voraussetzungen gehören „macOS with Messages.app signed in“, die Installation von imsg, „Grant Full Disk Access for terminal (System Settings → Privacy → Full Disk Access)“ und „Grant Automation permission for Messages.app when prompted“. ↩↩↩↩↩↩

  14. OpenClaw-Dokumentation, “iMessage setup”. Abgerufen am 11. Oktober 2026, 17:42 UTC. „Full Disk Access is required for the process context running OpenClaw/imsg“ für den Zugriff auf die Messages-Datenbank; Automation zum Senden; „Permissions are granted per process context“; der Systemintegritätsschutz muss für erweiterte Aktionen deaktiviert sein; und eine Beispielzeile aus TCC mit /usr/libexec/sshd-keygen-wrapper als Client für einen SSH-Kontext. ↩↩↩↩↩↩↩↩

  15. Anthropic, Claude Code Docs, “Configure the sandboxed Bash tool”. Abgerufen am 11. Oktober 2026, 17:35 UTC. „The sandbox is off by default“; die Tabelle der Vorgaben (Schreibzugriffe auf das Arbeitsverzeichnis, Temp- und hinzugefügte Verzeichnisse; Lesezugriffe auf „Most of the machine, including credential files“; Netzwerk über einen Proxy mit erlaubten Domains, die „start empty“); aufgebaut auf @anthropic-ai/sandbox-runtime; Seatbelt unter macOS; die zwei Sandbox-Modi; was außerhalb läuft (eingebaute Datei- und Webwerkzeuge; Hooks, lokale MCP-Server, Plugin-Monitore, LSP-Server, Hilfsbefehle); die Wiederholung ohne Sandbox und allowUnsandboxedCommands; denyRead, allowRead, blockReadsOutsideWorkingDirectories, excludedCommands; Apple Events standardmäßig blockiert. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩

  16. OpenAI, Codex-Dokumentation, “Sandbox” (ausgeliefert von learn.chatgpt.com). Abgerufen am 11. Oktober 2026, 17:36 UTC. Sandboxing standardmäßig an; Seatbelt unter macOS; gilt für gestartete Befehle; die Modi read-only, workspace-write und danger-full-access in OpenAIs Worten; voller Zugriff definiert als danger-full-access mit approval_policy = "never"; die Beschriftung „Full access“ im Menü der Desktop-App. ↩↩↩↩↩↩↩

  17. Google, Gemini CLI, docs/cli/sandbox.md und das Seatbelt-Profil permissive-open, bei Commit 9b6e026. Abgerufen am 11. Oktober 2026, 17:43 UTC. Aktivierung mit -s, GEMINI_SANDBOX oder Einstellungen; Seatbelt über sandbox-exec; die sechs Profile, permissive-open als Standard („allowing broad file reads and network access“), strict-open und strict-proxied mit Lesebeschränkungen; das (allow file-read*) des Profils. ↩↩↩↩↩

  18. Cursor-Dokumentation, “Run Modes”. Abgerufen am 11. Oktober 2026, 17:50 UTC. Seatbelt über sandbox-exec für „the full subprocess tree“; Netzwerk „Blocked by default“; die Modi von Read Access, System als Standard („The agent can read files outside the workspace without approval“), und Workspace, das vor Lesezugriffen außerhalb des Workspace nachfragt; „Read access requires Cursor 3.23 or later“; manche Befehle „bypass the sandbox“. ↩↩↩↩↩↩↩↩

  19. Messung des Autors auf seinem Mac (macOS 27.0, Build 26A428, Systemintegritätsschutz aktiviert), 11. Oktober 2026, 17:32 UTC, mit einer um 18:09 UTC angehängten Prüfung der Dateirechte; rein lesend. Die Startkette der Agent-Shell (zsh, claude, Login-Shell, login, Ghostty; TERM_PROGRAM ghostty); die TCC-Datenbank pro Benutzer nicht zu öffnen; die Rechte der System-TCC-Datenbank (-rw-r--r--, root) und ihre 75 Zeilen für kTCCServiceSystemPolicyAllFiles, nur Dienst- und Client-Spalte: Terminal, iTerm2, Ghostty, die ChatGPT-App (com.openai.codex), Cursor, Xcode, 30 Claude Code-Binärdateien nach Version von 2.1.177 bis 2.1.296, node aus Homebrew und vier Python-Interpreter, sshd-keygen-wrapper, drei weitere Apple-Einträge, fünf eigene Builds des Autors und 25 weitere Clients von Drittanbietern. Die Rechte der Ordner Library, Mail und Messages des Benutzers (nur für den Eigentümer). Client-Pfade unterhalb des Home-Ordners werden hier nicht wiedergegeben. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩

  20. Apple Developer Forums, “On File System Permissions”, von Quinn „The Eskimo!“, Apple Developer Technical Support; erstmals veröffentlicht am 26. April 2021, am 18. September 2026 überarbeitet, um es_new_descendants_client aufzunehmen. Ein Beitrag eines Mitarbeiters, keine Dokumentation. Abgerufen am 11. Oktober 2026, 17:56 UTC. „The exact list of file system locations protected by MAC is not documented“; die Liste mit „Full Disk Access (macOS 10.14 and later)“, dem Schutz für App-Container (macOS 14) und dem Schutz für App-Gruppen-Container (macOS 15); „Some MAC privileges are per user (Files and Folders) and some are system wide (Full Disk Access)“; TCC „has no API surface“; MAC „is mandatory; it’s not an opt-in like the App Sandbox“; verantwortlicher Code; die Warnung zu Interpretern und der Rat, „package your script as a standalone program“. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩

  21. OpenAI, Codex-Dokumentation, “Configuration Reference”. Abgerufen am 11. Oktober 2026, 17:37 UTC. Berechtigungsprofile mit "read" | "write" | "deny" pro Pfad; permissions.filesystem.deny_read, „Admin-enforced filesystem read denials“, die „users cannot weaken them with local config“; requirements.toml beschrieben als „an admin-enforced configuration file that constrains security-sensitive settings users can’t override“. ↩↩↩↩↩

  22. OpenAI, ChatGPT-Dokumentation, “Plugins”, Abschnitt Apple Messages. Abgerufen am 11. Oktober 2026, 17:45 UTC. „Grant the requested macOS permissions before ChatGPT reads Messages“; Freigabe pro Nachricht als Standard; „Persistent approval removes your final chance to review a message before ChatGPT sends it as you“; Apple Messages läuft nur auf dem Mac; Administratoren können es über die Kontrolle für Computer Use deaktivieren; „When a plugin capability runs through a Codex host, the host’s sandbox and approval policy applies.“ ↩↩↩↩↩↩

  23. Apple Developer Documentation, “macOS 27 Golden Gate Release Notes”. Abgerufen am 11. Oktober 2026, 17:35 UTC. System Integrity Protection: App-Daten- und App-Gruppen-Container anderer Teams standardmäßig ohne Abfrage verweigert (161835690); XProtect kann App-Daten einschränken (178668601). TCC-Deprecation: „Apps can no longer access the local TCC database directly“ (90775556). Bekanntes Problem bei den Einstellungen für Datenschutz & Sicherheit (184660124) mit dem Workaround, „grant Full Disk Access to the process for the duration of the requirement“. ↩↩↩↩↩↩↩↩↩

  24. Apple Developer Documentation, “Xcode 27 Release Notes”. Abgerufen am 11. Oktober 2026, 17:45 UTC. „Agents in Xcode can now be extended with plugins that contain skills, MCP servers, and ACP agent configurations“ (178289210); Unterstützung für das Agent Client Protocol (178294840); die „new security layer that monitors and controls filesystem access by coding agents and any processes they spawn“ von Coding Intelligence, die „can be enabled in Coding Intelligence settings“ (178289431); die Vorschau des MCP-Servers in Beta 5 für „code-signed agents“ und das Flag --unsafe-always-allow-all-agents, „not a recommended configuration for at-desk use“ (181836944). ↩↩↩↩↩

  25. Apple, SDK von macOS 27.0 (Xcode-SDK-Build 26A425), Header EndpointSecurity/ESClient.h, lokal gelesen am 11. Oktober 2026. es_new_client: „Callers are required to be entitled with com.apple.developer.endpoint-security.client“; „The only supported way to check if an application is properly TCC authorized for Full Disk Access“ und die Einstellungs-URLs mit Privacy_AllFiles „To direct the user to the Full Disk Access section in System Settings“. es_new_descendants_client, verfügbar ab macOS 27.0: Ereignisse für „the entire subtree rooted at the calling process“, „Does NOT require TCC approval“, mit „@note Requires the com.apple.developer.endpoint-security.client entitlement“. ↩↩↩↩↩

  26. Apple Developer, News-RSS-Feed. Abgerufen am 11. Oktober 2026, 17:41 UTC. „Updates to Full Disk Access in macOS“ datiert auf Fri, 02 Oct 2026 09:00:19 PDT; Nachbarn: der Hinweis zum Ablauf der Developer ID Sub-CA (1. Oktober), die Meldungen zu App-Store-Assets und zum iPhone Duo (5. Oktober) und „Hello Developer: October 2026“ (6. Oktober). ↩

  27. Apple Developer, “Hello Developer: October 2026”, veröffentlicht am 6. Oktober 2026. Abgerufen am 11. Oktober 2026, 17:46 UTC. Einreichungen und Group Labs zum iPhone Duo, Veranstaltungen, lokalisierte Dokumentation und weitere Punkte; keine Erwähnung von Festplattenvollzugriff oder Agenten. ↩

  28. Apple Developer, Videos zu Privacy & Security. Abgerufen am 11. Oktober 2026, 17:41 UTC. Die aufgeführten WWDC26-Sessions: „Meet Trust Insights“, „Secure your app: mitigate risks to agentic features“, „Secure your apps with App Attest“ und „Privacy and Security Group Lab“; keines ihrer Transkripte enthält „Full Disk“. ↩

  29. Apple, WWDC26 Session 347, “Secure your app: mitigate risks to agentic features”, Transkript auf der Seite. Abgerufen am 11. Oktober 2026, 17:41 UTC. Indirekte Prompt-Injection, Gegenmaßnahmen mit Foundation Models und App Intents sowie „Simon Willison’s Lethal Trifecta“: „access to private data, exposure to untrusted content, and the ability to externally communicate“. Keine Erwähnung von Festplattenvollzugriff, TCC oder Dateisystemberechtigungen für Agenten. ↩↩

  30. Apple Developer Documentation, DeviceManagement, “PrivacyPreferencesPolicyControl.Services”. Abgerufen am 11. Oktober 2026, 17:35 UTC. SystemPolicyAllFiles: „Allows the application access to all protected files, including system administration files“, ohne Deprecation-Markierung; Camera, Microphone, ListenEvent und ScreenCapture: ein Profil „can’t grant“ den Zugriff und „can only deny it“; mehrere Dienste für macOS 27 als veraltet markiert. ↩↩↩↩

  31. Apple Platform Deployment, “Privacy Preferences Policy Control device management payload settings for Apple devices”. Abgerufen am 11. Oktober 2026, 17:38 UTC. „Supervision is required if you apply this payload using a device management service“; „System Policy All Files“ mit seiner Datenliste; der Beispielkommentar, der der App einer Organisation Zugriff auf alle Dateien „without prompting the user“ gewährt; und das Prädikat für log stream auf die Meldungen „AttributionChain“ des TCC-Subsystems, angegeben, um die verantwortliche App oder Binärdatei zu ermitteln. ↩↩↩↩↩

  32. Apple, SDK von macOS 27.0, Header EndpointSecurity/ESTypes.h, lokal gelesen am 11. Oktober 2026. ES_NEW_CLIENT_RESULT_ERR_NOT_PERMITTED: „The caller lacks Transparency, Consent, and Control (TCC) approval from the user.“ ↩

  33. Apple, WWDC26 Session 8009, “Privacy and Security Group Lab”, Transkript auf der Seite. Abgerufen am 11. Oktober 2026, 17:41 UTC. Ein Apple-Panelist: „So TCC stands for transparency, consent and control.“ Keine Erwähnung des Festplattenvollzugriffs. ↩

  34. Apple, Manpage tccutil(1), macOS 27.0 (datiert auf den 3. April 2012), lokal gelesen am 11. Oktober 2026. Ein Befehl, reset; die Beispiele nennen nur AddressBook und All; keine Liste der Dienste. ↩↩↩

  35. Apple Developer Forums, “The Rules for Full Disk Access”, Seite 1, August und September 2018. Abgerufen am 11. Oktober 2026, 17:44 UTC. Ein Beitrag eines Entwicklers vom August 2018 spricht von „Full Disk Access (previously Application Data in earlier betas)“; ein Entwickler bittet um „an API call that causes a prompt to the logged-in user to grant the app Full Disk access“; Apple Developer Technical Support antwortet „Please do file an enhancement request“ und beschreibt im September mitgelieferte Hilfsprogramme als durch die Freigabe der übergeordneten App abgedeckt, externe Hilfsprogramme als solche, die eine eigene brauchen. ↩↩

  36. Apple Developer Documentation, DeviceManagement, “PrivacyPreferencesPolicyControl”. Abgerufen am 11. Oktober 2026, 17:35 UTC. Payload-Typ com.apple.TCC.configuration-profile-policy; macOS, eingeführt in 10.14; „Requires supervision“ N/A; erfordert ein vom Benutzer genehmigtes MDM. ↩↩↩

  37. Apple Developer Documentation, DeviceManagement, “PrivacyPreferencesPolicyControl.Services.Identity”. Abgerufen am 11. Oktober 2026, 17:35 UTC. Ab macOS 27.0 veraltet, jeder Schlüssel „Deprecated: macOS 27+“; Allowed: „The user isn’t prompted and can’t change this value“; Kennungen nach Bundle-ID oder Pfad; „Helper tools embedded within an application bundle automatically inherit the permissions of their enclosing app bundle.“ ↩↩↩↩↩↩↩

  38. Apple Developer Documentation, DeviceManagement, “AppSettingsAppDictionaryObject”, eingeführt in macOS 27. Abgerufen am 11. Oktober 2026, 17:36 UTC. Datenschutzvorgaben für Accessibility, Bluetooth, Camera, Dictation, LocalNetwork, Location, LocationAccuracy und Microphone sowie eine verpflichtende OrganizationJustification, die in der Einwilligungsabfrage angezeigt wird; kein Schlüssel für den Festplattenvollzugriff. ↩↩↩↩

  39. Apple Developer Documentation, DeviceManagement, “AppSettings”. Abgerufen am 11. Oktober 2026, 17:35 UTC. Vorgaben für Datenschutzberechtigungen: „When set, the app displays a consent prompt listing all the configured defaults“; Allow oder Not Now; „Only AppKit-based apps on macOS support this feature.“ ↩↩

  40. Apple Newsroom, “Apple introduces macOS Mojave”, Pressemitteilung, 4. Juni 2018. Abgerufen am 11. Oktober 2026, 17:48 UTC. „New data protections require apps to get user permission before using the Mac camera and microphone or accessing personal data like user Mail history and Messages database.“ ↩

  41. Apple Developer Documentation, “macOS Mojave 10.14 Release Notes”. Abgerufen am 11. Oktober 2026, 17:41 UTC. Privacy, New Features: Geschützter Speicher verlangt, dass die App der Kategorie „Application Data“ hinzugefügt wird (39798760). ↩

  42. Apple Newsroom, “macOS Catalina is available today”, 7. Oktober 2019. Abgerufen am 11. Oktober 2026, 17:47 UTC. „new data protections require all apps to get permission before accessing user documents.“ ↩

  43. Apple, Manpage tmutil(8), SDK von macOS 27.0, lokal gelesen am 11. Oktober 2026. „Full Disk Access privileges can be granted to the Terminal application used to run tmutil.“ ↩↩↩

  44. Apple, Manpage fdesetup(8), SDK von macOS 27.0, lokal gelesen am 11. Oktober 2026. AUTHORIZATION POLICY: Ab macOS 10.15 verlangt das Aktivieren von FileVault, neben anderen Optionen, dass die verantwortliche Anwendung für den Festplattenvollzugriff autorisiert ist. ↩↩

  45. Apple Developer Forums, “Which application is taken in consideration with TCC”, November 2023. Abgerufen am 11. Oktober 2026, 17:43 UTC. Ein Entwickler fragt, ob TCC „is looking for parent process rights“; Apple Developer Technical Support verweist auf „On File System Permissions“ und lehnt Einzelheiten als „both complex and subject to change“ ab. ↩

  46. Jeff Johnson, “Every unsandboxed app has Full Disk Access if Terminal does”, 22. September 2022, mit Quellcode. Abgerufen am 11. Oktober 2026, 17:59 UTC. Terminal mit Festplattenvollzugriff „can read or write any restricted files, including the TCC database itself“ (sein Beispiel ist die Datenbank pro Benutzer); Apps ohne Sandbox können in Terminal Skripte öffnen, die mit den Rechten von Terminal laufen; die Technik „doesn’t work for sandboxed apps“. ↩↩↩

  47. Untersuchung der installierten Apps auf dem Mac des Autors, 11. Oktober 2026, 17:33 UTC; rein lesend. Versionen: Claude Code 2.1.296, Codex CLI 0.154.0, Gemini CLI 0.19.4, Hermes Agent 0.14.0; Aider und OpenClaw nicht installiert; VS Code nicht installiert. Zweckbeschreibungen in der Info.plist und App-Sandbox-Entitlement für die Claude-App (2.31226.0, kein Sandbox-Entitlement; Zeichenketten für Ordner und Apple Events), ChatGPT (com.openai.codex 26.715.72359, app-sandbox false), Cursor (3.19.7, kein Entitlement), Ghostty 1.3.1 („A program running within Ghostty would like to use AppleScript.“) und iTerm2 3.6.6 („An application in iTerm2 wants to use AppleScript.“), beide ohne Sandbox. ↩↩↩↩↩↩↩↩

  48. GitHub-Codesuchen des Autors, 11. Oktober 2026, 18:12 UTC: Aiders Dokumentation nach „sandbox“ und sein Repository nach „Full Disk Access“, Ghosttys Dokumentation und das Repository von iTerm2 nach „Full Disk Access“; jeweils null Treffer. Die Codesuche indexiert nicht alles. ↩↩↩

  49. Cursor-Dokumentation, “Terminal”, Agent-Werkzeuge. Abgerufen am 11. Oktober 2026, 17:50 UTC. „Cursor runs shell commands directly in your terminal“; der Run Mode steuert, wann Befehle laufen, wann Cursor nachfragt und wann sie in die Sandbox gehen. ↩↩

  50. OpenClaw-Dokumentation, “macOS permissions”. Abgerufen am 11. Oktober 2026, 17:42 UTC. Zugriff gewähren „to the same process context that performs file operations“; einen node-Eintrag „as broad permission for that Node runtime, not as permission for one npm package“ behandeln; Dateien in den OpenClaw-Workspace verschieben, um Freigaben pro Ordner zu vermeiden. ↩↩↩

  51. Anthropic, Claude Code Docs, “Manage multiple agents with agent view”. Abgerufen am 11. Oktober 2026, 17:36 UTC. Unter macOS „requests access to protected folders separately from your terminal“ der Host für Hintergrundsitzungen; bei „Operation not permitted“ Dateien und Ordner gewähren „or enable Full Disk Access for the entry“; mit dem nativen Installer „appears as Claude Code and the grant persists across updates“ der Eintrag, während Installationen über Homebrew oder npm den Pfad der Binärdatei zeigen. ↩↩↩↩↩↩

  52. Anthropic, Claude Code Docs, “Let Claude use your computer from the CLI”. Abgerufen am 11. Oktober 2026, 17:49 UTC. Bedienungshilfen und Bildschirmaufnahme; bleibt die Abfrage bestehen, prüfen, ob „your terminal app is listed and enabled“ unter Bildschirmaufnahme. ↩

  53. Anthropic, Claude Code Docs, “Configure permissions”. Abgerufen am 11. Oktober 2026, 17:35 UTC. Berechtigungsmodi default (beschriftet als Manual), acceptEdits, plan, auto, dontAsk, bypassPermissions; bypassPermissions nur „in isolated environments like containers or VMs where Claude Code can’t cause damage“ verwenden. Keine Erwähnung des Festplattenvollzugriffs. ↩↩↩

  54. OpenAI Help Center, “ChatGPT release notes”, Eintrag vom 20. August 2026. Abgerufen am 11. Oktober 2026, 17:47 UTC. Das Apple-Messages-Plugin „can read and search iMessage, SMS, and RCS conversations and prepare or send messages through Messages“; Freigabe vor dem Senden als Standard. ↩

  55. MacRumors, Juli Clover, “ChatGPT Can Now Read and Send iMessages on Mac”, 20. August 2026. Abgerufen am 11. Oktober 2026, 17:48 UTC. Presse, als Hinweis verwendet: „ChatGPT needs Full Disk Access in System Settings, as well as access to contact names and automation tools.“ ↩

  56. OpenAI, ChatGPT-Dokumentation, “Computer Use”. Abgerufen am 11. Oktober 2026, 17:48 UTC. Bildschirmaufnahme und Bedienungshilfen unter macOS; Systemberechtigungen getrennt von Freigaben in der App; „File reads, file edits, and shell commands still follow the sandbox and approval settings for the task.“ ↩↩

  57. Anthropic, Claude Help Center, “Use quick entry with Claude Desktop on Mac”. Abgerufen am 11. Oktober 2026, 17:49 UTC. Bildschirmaufnahme „Required to capture screenshots and share application windows“; Bedienungshilfen „Required for quick entry functionality“. ↩

  58. Nous Research, Dokumentation zu Hermes Agent, “Computer Use”. Abgerufen am 11. Oktober 2026, 17:42 UTC. Bedienungshilfen und Bildschirmaufnahme gehen an „the identity named by hermes computer-use doctor“, die App CuaDriver. ↩

  59. Microsoft, VS Code-Dokumentation, “Sandbox Copilot Agent Host sessions”. Abgerufen am 11. Oktober 2026, 17:50 UTC. chat.agent.sandbox.enabled standardmäßig aus, gilt für die Standardimplementierung der Werkzeuge des Agent Host, „not the Local chat harness or the custom terminal tool override“; „Sandboxing is not a virtual machine or user-account boundary, and it does not replace endpoint security“; ausgehendes Netzwerk standardmäßig nicht blockiert; allowDevToolAccess standardmäßig true. Keine Erwähnung des Festplattenvollzugriffs. ↩↩↩↩↩

  60. OpenAI, Codex-Dokumentation, “Agent approvals & security”. Abgerufen am 11. Oktober 2026, 17:37 UTC. „By default, the agent runs with network access turned off“, mit einer vom Betriebssystem durchgesetzten Sandbox, die „limits what it can touch (typically to the current workspace)“; workspace-write lässt es aus, sofern nicht konfiguriert; Seatbelt und sandbox-exec unter macOS; --dangerously-bypass-approvals-and-sandbox. ↩↩↩↩↩

  61. Nous Research, Dokumentation zu Hermes Agent, “Hermes Agent Configuration”. Abgerufen am 11. Oktober 2026, 17:41 UTC. Sieben Terminal-Backends; local, „The default. Commands run directly on your machine with no isolation“; lokale Unterprozesse behalten das echte HOME; Docker und Singularity „use bind mounts (live host filesystem view)“; docker_volumes „lets you share host directories with the container“. ↩↩↩↩

  62. OpenClaw-Dokumentation, “Sandboxing”. Abgerufen am 11. Oktober 2026, 17:42 UTC. „Sandboxing is off by default“; das Gateway bleibt auf dem Host, nur die Ausführung von Werkzeugen wandert; „not a perfect security boundary“; tools.elevated als „an explicit escape hatch“. ↩↩↩↩↩↩

  63. OpenAI, Codex-Quellcode bei Commit 72f999e: seatbelt_base_policy.sbpl und seatbelt.rs. Abgerufen am 11. Oktober 2026, 17:37 UTC. Das (deny default) der Basisrichtlinie und „child processes inherit the policy of their parent“; has_full_disk_read_access erzeugt (allow file-read*), wenn keine unlesbaren Wurzeln gesetzt sind, und andernfalls eine Leserichtlinie, die sie ausschließt; sandbox-exec fest auf /usr/bin gesetzt. ↩↩↩

  64. Nous Research, Dokumentation zu Hermes Agent, “Security”. Abgerufen am 11. Oktober 2026, 17:41 UTC. „Deny rules are a shell-command policy, not a complete shell interpreter or an OS capability sandbox“; Container-Backends als Sicherheitsgrenze; Container-Backends für produktive Gateways empfohlen. ↩↩↩↩

  65. OpenClaw-Dokumentation, “Modes, scope, and backend”. Abgerufen am 11. Oktober 2026, 17:43 UTC. agents.defaults.sandbox.mode: off (Standard), non-main, all; Backends docker (Standard), podman, ssh, openshell, crabbox; Netzwerk von Docker standardmäßig none. ↩

  66. OpenClaw-Dokumentation, “Workspace access”. Abgerufen am 11. Oktober 2026, 17:43 UTC. none (Standard): Werkzeuge lesen und schreiben einen isolierten Sandbox-Workspace, und „the agent workspace is not exposed“; ro; rw. ↩↩

  67. Accomplish, “Beltdown: Escaping the Claude Code sandbox”, 11. September 2026. Abgerufen am 11. Oktober 2026, 18:07 UTC. Mit eingeschalteter Sandbox und dem strengsten Berechtigungsmodus lief ein Befehl eines Repositorys ohne Abfrage außerhalb der Sandbox; behoben in Claude Code 2.1.247. ↩↩

  68. Accomplish, “Beltdown2: Escaping the Cursor CLI sandbox”, 12. September 2026. Abgerufen am 11. Oktober 2026, 18:06 UTC. Das Seatbelt-Profil umschließt nur das Shell-Werkzeug, während das eigene git des Harness ohne Sandbox läuft; behoben in Cursor CLI 2026.08.04-aaa8809. ↩↩

  69. Accomplish, “Escaping the OpenAI Codex sandbox, twice”, 15. September 2026. Abgerufen am 11. Oktober 2026, 18:06 UTC. Zwei Ausbrüche, gemeldet am 12. August 2026, „Both were fixed inside of eight days“; bei einem startet launchd eine Anwendung „outside Codex’s process tree“. ↩↩

  70. Accomplish, “SharedRoot: Escaping the Claude Cowork sandbox”, 23. Juli 2026. Abgerufen am 11. Oktober 2026, 18:03 UTC. Ein Ausbruch aus der VM in einen beschreibbaren Mount des Host-Dateisystems, das gelesen und geschrieben wird „as the logged-in desktop user“; Anthropic gemeldet und als „Informative“ geschlossen. Der Bericht testet keine durch TCC geschützten Orte. ↩

  71. OpenClaw-Dokumentation, “iMessage deployment patterns”. Abgerufen am 11. Oktober 2026, 17:42 UTC. „Use a dedicated Apple ID and macOS user so bot traffic is isolated from your personal Messages profile.“ ↩↩

  72. Apple, Mac-Benutzerhandbuch, “Change Users & Groups settings on Mac”. Abgerufen am 11. Oktober 2026, 18:08 UTC. Standardbenutzer „can install apps and change their own settings, but can’t add other users or change other users’ settings.“ ↩

Verwandte Beiträge

Apples Font-Interpreter ist jetzt Swift – und 13 % schneller

Apples Sicherheitsteam hat den TrueType-Hinting-Interpreter von C in speichersicheres Swift umgeschrieben: 13 % schnelle…

9 Min. Lesezeit

Container Machines: Eine persistente Linux-Umgebung auf dem Mac

Apples container-Tool erreicht 1.0 mit container machine: eine schnelle, persistente Linux-Umgebung unter macOS mit Benu…

12 Min. Lesezeit

Pixel-Art in Bewegung: Laufen, Kamera und Türen auf dem iPhone

Wie Pokémon Rot, Kristall und Smaragd laufen, die Kamera fixieren und abblenden, gemessen am Quellcode, plus ein 60-Hz-B…

93 Min. Lesezeit