Meta hat einen Zero-Day in der macOS-Version seines AI-Agenten Muse per Hotfix geschlossen. Der Fehler erlaubte einem Prozess, der bereits unter dem Benutzerkonto auf dem Mac lief, eine interne Muse-Einstellung zu verändern und den Endpunkt für die Sprachtranskription auf einen fremden Server umzuleiten.
Der Sicherheitsforscher Patrick Wardle veröffentlichte dafür einen Proof of Concept unter dem Namen „not-a-mused“. Die Schwachstelle war keine Remote-Code-Execution: Ein Angreifer musste bereits Code als lokaler Benutzer ausführen können. Der zusätzliche Effekt entstand durch die Rechte des Agenten. Muse kann je nach Konfiguration auf Dienste und Funktionen zugreifen, die ein gewöhnlicher Prozess nicht automatisch kontrolliert.
Ars Technica berichtete zuerst ausführlich über den Fehler. Meta bestätigte anschließend den Hotfix. David Singleton von Meta Superintelligence Labs bezeichnete den praktischen Missbrauch als vergleichsweise niedriges Risiko, weil eine lokale Kompromittierung Voraussetzung war.
Eine undokumentierte Einstellung bestimmte das Ziel der Dictation-Anfragen
Wardles Proof of Concept setzt bei einer internen Einstellung namens endovoyagerdictation_endpoint an. Sie bestimmt, wohin Muse Audiodaten zur Transkription sendet.
Nach Wardles Analyse konnte ein nicht privilegierter lokaler Prozess diesen Wert verändern. Statt Metas Transkriptionsdienst erhielt dann ein vom Angreifer kontrollierter Endpunkt die Anfrage.
Das ist sicherheitstechnisch mehr als eine umgeleitete Audioverbindung. Wardles Proof of Concept zeigt, dass sich über diesen Pfad diktierte Prompts abfangen und manipulieren lassen. Außerdem können Authentifizierungsinformationen des Muse-Kontos in den manipulierten Datenfluss geraten.
Das GitHub-Repository zum Proof of Concept nennt vier mögliche Auswirkungen: Mitschneiden von Diktat und Prompts, Prompt Injection, Diebstahl von Muse-Authentifizierungsmaterial und Missbrauch der Zugriffe, die der Nutzer dem Agenten erteilt hat.
Wardle demonstrierte gegenüber Ars unter anderem das Schreiben von Dateien und das Auslösen von Kameraaktionen über Muse. Diese Tests fanden kontrolliert statt. Es gibt bislang keinen Beleg dafür, dass die Schwachstelle außerhalb der Sicherheitsforschung aktiv ausgenutzt wurde.
Der Agent vergrößert die Reichweite eines bereits vorhandenen lokalen Angreifers
Metas Einordnung, dass der Fehler eine lokale Kompromittierung voraussetzt, ist technisch korrekt. Sie beschreibt aber nur den Einstiegspunkt.
Ein lokaler Prozess besitzt unter macOS nicht automatisch dieselben Berechtigungen wie jede andere Anwendung. Apples Datenschutz- und Berechtigungsmodell trennt unter anderem Zugriffe auf Kamera, Mikrofon und weitere geschützte Ressourcen.
Ein persönlicher Agent ist in dieser Hinsicht ungewöhnlich. Damit er im Namen des Nutzers handeln kann, erhält er bewusst Zugriff auf weitere Anwendungen und Daten. Muse kann beispielsweise mit Kommunikations- und Produktivitätsdiensten verbunden werden und Aktionen für den Nutzer ausführen.
Wird die Kontrollschnittstelle eines solchen Agenten übernommen, kann dessen vorhandene Autorisierung deshalb zur Erweiterung der effektiven Reichweite eines Angreifers werden.
Wardle fasst diesen Effekt in seinem Repository knapp zusammen: Der Zugriff von Muse kann zum Zugriff des Angreifers werden.
Das unterscheidet den Fall von einem gewöhnlichen Konfigurationsfehler in einer Desktop-App. Die kompromittierte Komponente ist selbst ein Ausführungssystem mit bereits erteilten Rechten.
Cloud-Transkription wurde Teil der Trust Boundary
Der Angriffspfad existierte auch deshalb, weil Muse Sprachtranskription über einen externen Endpunkt verarbeitet.
Sobald eine Anwendung Audiodaten an einen Dienst überträgt, wird die Auswahl dieses Dienstes sicherheitsrelevant. Eine veränderbare Endpoint-Konfiguration ist dann keine harmlose Programmeinstellung. Sie entscheidet, welcher Server sensible Eingaben und möglicherweise zugehörige Authentifizierungsdaten erhält.
Für Agenten kommt ein zweiter Schritt hinzu. Manipulierter Input kann nicht nur Daten offenlegen, sondern neue Aktionen auslösen. Ein kompromittierter Eingabekanal wird damit zu einem möglichen Steuerkanal.
Das ist ein Muster, das Entwickler bei Agenten getrennt prüfen müssen: Wer darf den Ursprung von Kontext verändern, welche Authentifizierungsdaten hängen an diesem Datenfluss und welche Tool-Aktionen kann der Agent anschließend ausführen?
Ein Agent sollte seine Berechtigungen nicht an beliebige lokale Eingaben weiterreichen
Der Fall zeigt eine konkrete Grenze für Desktop-Agenten. Die Autorisierung eines Agenten und die Vertrauenswürdigkeit seiner Eingabekanäle dürfen nicht als dieselbe Sache behandelt werden.
Ein Nutzer kann Muse bewusst Zugriff auf eine Ressource geben. Daraus folgt nicht, dass jeder lokale Prozess indirekt denselben Zugriff erhalten sollte, indem er eine interne Konfiguration oder einen Eingabekanal verändert.
Für die Architektur bedeutet das: sicherheitsrelevante Endpoints müssen gegen unautorisierte Änderungen geschützt sein. Eingaben aus unterschiedlichen Quellen brauchen eine nachvollziehbare Herkunft. Besonders privilegierte Tool-Aktionen sollten zusätzlich an eigene Berechtigungsprüfungen gebunden sein, statt allein darauf zu vertrauen, dass der Agent einen gültig wirkenden Prompt erhalten hat.
Meta reagierte nach der öffentlichen Berichterstattung innerhalb weniger Stunden mit einem Hotfix. Offen bleibt, ob weitere interne Muse-Einstellungen ähnliche Grenzen zwischen lokalem Prozess, Cloud-Dienst und Agentenrechten überbrücken. Wardle kündigte an, auf der Security-Konferenz Objective by the Sea weitere Details und weitere Fehler zu zeigen.