Festplattenvollzugriff wird schwerer zu erteilen. Dein Terminal hat ihn vielleicht schon.
Mehr Hürden im Moment der Freigabe sagen noch nichts über Freigaben, die längst erteilt sind. Auf einem Mac, dessen Terminal diese Berechtigung hat, liest ein dort gestarteter Coding-Agent nach den Regeln, die die Ingenieure von Apple beschreiben, mit den Rechten des Terminals, und welche Befehle er ausführt, entscheidet er selbst.
Apple hat am 2. Oktober eine kurze Notiz auf seine Entwickler-News-Seite gestellt. Full Disk Access, auf deutschen Macs „Festplattenvollzugriff“, also die macOS-Berechtigung, mit der eine App fast alles auf dem Rechner lesen kann, soll schwerer zu erteilen sein. Als Grund nennt Apple Agenten: Je fähiger und autonomer sie werden, desto stärker werde das Risiko wachsen, und zwar „erheblich“.
Die Notiz handelt vom Moment der Freigabe. Wer einen Coding-Agenten im Terminal laufen lässt, hat diesen Moment, falls es ihn überhaupt gab, wahrscheinlich lange vor jedem Agenten erlebt. Und die Berechtigung ging an das Terminal.
Was hat Apple eigentlich angekündigt?
Eine Richtung, ohne Datum. Laut der Entwicklernotiz gibt es Full Disk Access, damit Backup-Apps funktionieren, und die Berechtigung umgeht die Kontrollen, die private Daten sonst schützen:
Full Disk Access largely sidesteps these controls 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, exposing everything on their systems—including files, mail, messages, and even browsing history—without users’ full knowledge and understanding.Wer die Berechtigung erteilen will, soll das laut Apple nur noch durch eine „sehr ausdrückliche Aktion des Nutzers“ können. Wie diese Aktion aussieht, mit welchem macOS-Release sie kommt und ob Apps, die die Berechtigung schon haben, erneut gefragt werden, steht nicht in der Notiz. Auf die Frage von TechCrunch dazu hat Apple auch nicht geantwortet.
Warum tauchen KI-Agenten in einer Notiz über eine Backup-Berechtigung auf?
Weil Agenten ein neuer Grund geworden sind, sie anzufordern. TechCrunch verweist auf Muse von Meta, das optional Full Disk Access aktiviert. Ein Kolumnist von Inc. berichtete, Muse habe ohne seine Erlaubnis seine privaten Nachrichten gelesen, Meta bestreitet das. Derselbe Artikel zitiert einen Bericht von Wired über eine Lücke in der Mac-App von ChatGPT, durch die Nutzerdaten hätten offengelegt werden können. Eine App, die deine Festplatte sichern soll, liest sie und kopiert sie. Ein Agent mit derselben Berechtigung liest sie und entscheidet dann, was er als Nächstes tut.
Bekommt ein aus dem Terminal gestarteter Coding-Agent den Festplattenvollzugriff des Terminals?
Im Normalfall, nach den Regeln, die Apples DTS-Ingenieure beschreiben, ja. Weder Apples Notiz noch TechCrunch erwähnen Terminals, dieser Teil stammt also aus den Entwicklerforen. TCC, die Datenschutzschicht hinter diesen Berechtigungen, ermittelt, wer anfragt, indem es den „responsible code“ sucht, den verantwortlichen Code. Startet jemand ein Tool aus dem Terminal, ist das Terminal der verantwortliche Code. Ein zweiter DTS-Engineer hat ausbuchstabiert, was daraus folgt:
This is actually how granting FDA to Terminal.app allows "cp" to copy things it couldn't otherwise copy. Terminal doesn't copy anything, but all of it's child processes inherit it's access level, so now Terminal.app-> tcsh* -> cp means "cp" has FDA as well.Ersetze cp durch einen Coding-Agenten, und die Kette sieht genauso aus. Der Agent ist ein Kindprozess der Shell, und die Befehle, die er ausführt, sind seine Kindprozesse. Wenn TCC ihre Zugriffe einem Terminal zurechnet, das Full Disk Access hat, braucht keiner von ihnen eine eigene Freigabe. Das ist meine Schlussfolgerung aus Apples Beispielen, nichts, was Apple mit einem bestimmten Agenten getestet hat. Im selben Thread steht, dass ein Prozess, den eine App startet, dieser App zugerechnet wird. Ein Desktop-Agent mit der Berechtigung kann sie also an die Tools weitergeben, die er ausführt.
Der Unterschied zu cp ist, wer den Befehl gewählt hat. cp hat kopiert, was du eingetippt hast. Der Agent entscheidet anhand dessen, was er gelesen hat, was er ausführt, und manches davon stammt aus einem Repository, das du nicht geschrieben hast.
Es gibt Ausnahmen, und Apple weist darauf hin. Ein Launcher kann die Verantwortung abgeben, wie Xcode es tut, und Helper, die launchd startet, folgen anderen Regeln. Der Engineer, der den verantwortlichen Code beschrieben hat, schrieb auch, dass der genaue Algorithmus „nicht dokumentiert ist, sich in der Vergangenheit geändert hat und sich in Zukunft durchaus ändern kann“. Ob die neuen Kontrollen die Zuordnung berühren, hat Apple nicht gesagt.
Wovor schützt eine „sehr ausdrückliche Aktion des Nutzers“?
Vor der nächsten Freigabe, soweit die Notiz reicht. Zu bereits erteilten Freigaben hat Apple nichts gesagt, und bis es das tut, ändern mehr Hürden beim Erteilen nichts an Zugriff, der längst vergeben ist. Ich halte das für den richtigen Ansatzpunkt bei Verbraucher-Apps wie Muse, wo der Agent selbst nach der Festplatte fragt. Der Mac eines Entwicklers ist anders: Wenn die Festplatte überhaupt freigegeben wurde, dann für das Programm, in dem der Agent läuft, und ein Terminal sagt nie, für welchen seiner Kindprozesse es gerade liest.
Ich habe argumentiert, dass das Tool, das du installierst, deine Reichweite hat: Ein Prozess trägt die Rechte dessen, der ihn gestartet hat. Sie werden einmal festgelegt und danach nie wieder abgefragt. TCC ist die Schicht pro App, mit der ein Mac dieses Muster durchbricht. Es fragt für jede App einzeln, statt den ganzen Account herauszugeben. Full Disk Access auf einem Terminal macht vieles davon wieder zu ambient authority, also zu Rechten, die einfach mit dem Prozess mitkommen, und alles, was das Terminal startet, erreicht geschützte Daten, soweit seine übrigen Rechte es erlauben. Eine strengere Abfrage ändert nichts daran, was eine Freigabe abdeckt, sobald sie erteilt ist. Das leistet nur das Einschränken.
Was sollte ein Mac-Entwickler diese Woche prüfen?
Öffne die Systemeinstellungen, geh zu Datenschutz & Sicherheit, dann Festplattenvollzugriff, und schau, ob der Schalter neben deinem Terminal an ist. Dass es auf der Liste steht, heißt noch nicht, dass der Schalter an ist. Dort können auch blockierte Apps auftauchen. Ist er an, frag dich, warum. Braucht ein einzelner Job die Festplatte wirklich, ist der engere Weg, den die DTS-Ingenieure besprochen haben, den Zugriff einem eigenen Tool für genau diesen Job zu geben, niemals einem allgemeinen Interpreter, und zu testen, dass TCC die Zugriffe wirklich diesem Tool zurechnet. Damit liegt die Freigabe nicht mehr beim Terminal. Eine Sandbox für den Agenten ist das nicht: Er hat weiterhin alles, was dein Account ohne Full Disk Access erreicht, und ihm das zu nehmen ist Eindämmung, eine andere Aufgabe.
Apple macht das nächste Ja schwerer. Das auf deinem Terminal ging an das Terminal, und der Agent kam später.