Freigeben, nicht verraten: Wie ein KI-Agent sich anmeldet, ohne das Passwort je zu sehen

$ open paper --doi 10.5281/zenodo.23601940

Ein Vorhängeschloss auf Schwarz, gesetzt aus Zeilen einer SHA-256-Hash-Kette in Hellblau und Weiß

TL;DR. Heute haben wir unser erstes Forschungspapier veröffentlicht: „Approve, Don’t Disclose“, 17 Seiten. Es beschreibt den agent authenticator, unser System für Anmeldungen durch KI-Agenten. Der Agent fragt eine Anmeldung an, Sie geben sie am iPhone mit Face ID frei, und das Passwort taucht erst in der ausgehenden Anfrage an die echte Website auf. Es steht nie im Agenten, nie in der Seite und nie auf unserem Server. Der Agent bekommt genau ein Wort zurück: angemeldet.

Das Problem an der Login-Seite

Wer einen KI-Agenten im Browser arbeiten lässt, kennt die Stelle. Belege abholen, Daten aus einem Portal ziehen, ein Ticket anlegen, und dann steht da „Bitte melden Sie sich an“. Bisher gab es zwei schlechte Wege. Entweder Sie geben dem Agenten das Passwort, oder Sie übernehmen selbst. Im ersten Fall liegt das Geheimnis bei einem Programm, das jede Webseite liest, die ihm unterkommt. Eine präparierte Seite kann ihn zu fast allem überreden.

Gestern hat 1Password einen eigenen Weg für Agenten vorgestellt, wir haben darüber geschrieben. Die Richtung stimmt. Wir gehen in unserem Paper von einer härteren Annahme aus: Der Agent selbst ist schon übernommen. Er hat eine Shell, kann Programme starten und den Browser fernsteuern. Trotzdem darf er das Passwort nie zu sehen bekommen.

So läuft eine Anmeldung

Der Agent ruft ein einziges Kommando auf. Alles Weitere passiert zwischen Ihrem Mac, Ihrem iPhone und der Website. So sieht das im Terminal des Agenten aus, Wort für Wort aus unserem Code:

Was der Agent sieht. Mehr bekommt er nicht.

Die Zeilen stammen aus dem Kommandozeilenwerkzeug des Mac-Helfers. Lehnen Sie ab, endet es mit abgelehnt und dem Rückgabewert 2. Banken, Zahlungsdienste und Steuerportale sind gesperrt und liefern 6.

Dahinter läuft eine kurze Kette. Der Helfer auf dem Mac öffnet die Seite in einem eigenen Fenster, macht ein Bildschirmfoto und erzeugt einen Einmal-Schlüssel, der den Secure Enclave des Mac nie verlässt. Die Anfrage unterschreibt er mit seinem Gerätschlüssel und schickt sie über unseren Vermittlungsdienst ans iPhone. Den Dienst behandeln wir im Paper als nicht vertrauenswürdig. Er sieht, für welche Adresse eine Anfrage läuft, aber weder das Bildschirmfoto noch ein Passwort. Ihr iPhone prüft die Unterschrift, zeigt Ihnen das echte Bild der Seite mit der Adresse aus dem Browser, und Sie bestätigen mit Face ID. Erst dann verschlüsselt das iPhone den Zugang mit HPKE genau für diesen Einmal-Schlüssel.

Die App auf dem iPhone, Stand Testversion

  • Anfrage auf dem iPhone: Claude Code möchte sich bei einem Musterportal anmelden. Zu sehen sind ein Bild der echten Anmeldeseite, die geprüfte Adresse und der Knopf Mit Face ID freigebenAnfrageBild der echten Seite, geprüfte Adresse
  • Nach der Freigabe zeigt die App einen Haken und das Wort AngemeldetAngemeldetnach Face ID
  • Startseite der App: Bereit, Mac verbunden, darunter der Verlauf mit angemeldeten und abgelehnten AnfragenVerlaufwer wann was wollte
  • Ansicht Codes: sechsstellige Einmalcodes für drei Dienste mit RestzeitCodesZwei-Faktor gleich mit
  • Ansicht Tresor: gespeicherte Zugänge mit Adresse und Konto, jeder hinter Face IDTresornur auf dem iPhone
Bildschirmfotos aus der Testversion mit Beispieldaten. Die Zugänge liegen nur auf dem iPhone, jeder einzeln hinter Face ID.

Wer sieht das Passwort?

Das ist die eigentliche Frage. Unsere Antwort ist eine kurze Liste, und sie ist mit Absicht kurz.

Wer im Ablauf was zu sehen bekommt

  • Der AgentClaude, Codex …Platzhalter · Status „angemeldet“NIE
  • Skripte der Seiteauch präparierteazena-DcylXWRnhObyaAdZ52YQXQNIE
  • Vermittlungsdienstbruecke.azena.aiAdresse · verschlüsseltes PaketNIE
  • Helfer auf dem MacSecure Enclaveöffnet im Enclave · hält ≤ 90 sKURZ
  • Ihr iPhoneTresorhinter Face ID, genau eine AdresseJA
  • Die echte Websiteder Login-Serverbekommt das Passwort, wie immerJA
Zusammengefasst aus dem Paper. Der Mac-Helfer löscht den Einmal-Schlüssel nach dem Öffnen und hält den Klartext höchstens 90 Sekunden im Speicher.

Der Trick unter der Seite

Am schwierigsten ist der letzte Meter. Ein Passwort, das im Formular steht, kann jedes Skript der Seite lesen. Deshalb tippt unsere Chrome-Erweiterung gar nicht das Passwort ein, sondern einen zufälligen Platzhalter. Erst wenn der Browser das Formular abschickt, hält die Erweiterung die Anfrage über die Debugger-Schnittstelle von Chrome kurz an und tauscht den Platzhalter im Inhalt gegen das echte Passwort. Das passiert unterhalb der Seite. Weder Seitenskripte noch der Agent kommen dort heran.

Gleiches Formular, zwei Ebenen

Das echte Passwort ist hier geschwärzt. Erfüllt eine Anfrage eine der Regeln nicht, wird nichts getauscht und die Anmeldung schlägt fehl.

Die Idee mit dem Platzhalter ist nicht neu. Forschende haben sie 2024 für Passwortmanager gezeigt, mit einem umgebauten Firefox, und Vorarbeiten reichen bis 2014 zurück. Neu ist bei uns dreierlei: Wir gehen davon aus, dass der Agent selbst angreift, wir brauchen keinen umgebauten Browser, und das Passwort liegt nicht im Browser, sondern wird für jede Anmeldung einzeln vom iPhone freigegeben. Unser erster Labortest ging übrigens schief. In sechs von neun Arten, ein Formular zu verschicken, klappte der Tausch. In den anderen drei veränderte die Kodierung den Platzhalter, so dass er nicht mehr erkannt wurde. Daraus sind die Regeln oben entstanden.

Gemessen, nicht geschätzt

Für die Tests haben wir der Anmeldeseite Spionageskripte untergeschoben. Sie lasen alle fünf Millisekunden jedes Eingabefeld aus und hängten sich an alle Wege, auf denen eine Seite Daten verschicken kann. In jedem Lauf bekam der Testdienst das echte Passwort, und kein einziges Spionageskript hat es gesehen.

Systemtests in Sekunden

Alle acht Tests bestanden. Hellblau: echter Helfer mit lokalem Vermittlungsdienst und simuliertem iPhone. Weiß: zusätzlich in einem echten Chrome mit der Erweiterung. Kryptografie gemessen auf einem Apple M4 Max, jeweils der Median.

Die Kryptografie kostet also rund 15 Millisekunden. Die Zeit, die wirklich zählt, ist Ihr Blick aufs iPhone.

Ehrlich: was noch fehlt

Bevor etwas davon in den App Store geht, haben wir es prüfen lassen. Claude Mythos 5.1 hat Code, Spezifikation und den laufenden Vermittlungsdienst aus Sicht eines Verteidigers gelesen. Ergebnis: 25 Funde, davon 2 kritisch und 5 hoch. Die wichtigsten stehen im Paper, mit dem, was wir daraus gelernt haben. Zum Beispiel darf Face ID erst nach einem bewussten Tippen starten, nicht automatisch. Die App läuft deshalb bei uns im internen Test, echte Passwörter kommen erst hinein, wenn die Funde behoben sind.

Für die seltenen, folgenreichen Schritte haben wir eine zweite Stufe entworfen. Das Koppeln eines neuen Mac, das Anlegen von Zugängen und die Wiederherstellung auf einem neuen iPhone bestätigen Sie dann zusätzlich mit einem Hardware-Schlüssel wie dem YubiKey. Die Sicherung des Tresors kann nur dieser Schlüssel öffnen.

Der Agent bekommt die Tür, nicht den Schlüssel. Und den Schlüssel gibt es nur nach Ihrem Ja.

Was Sie jetzt tun sollten

  1. Keine Passwörter in Agenten. Nicht im Chat, nicht in Notizen, die ein Agent liest, nicht in Browserprofilen, die er fernsteuert.
  2. Aufschreiben, wo Ihre Agenten heute an Logins scheitern. Das ist die Liste, an der sich jede Lösung messen lassen muss.
  3. Banken, Zahlungen und Steuer bleiben Handarbeit. Wir sperren diese Kategorien im System mit Absicht, und das empfehlen wir auch Ihnen.
  4. Das Paper lesen. Es ist frei verfügbar und unter CC BY 4.0 lizenziert, mit allen Abläufen als Grafik.

Wenn Sie den agent authenticator mit Ihren eigenen Agenten ausprobieren wollen, sobald die Testphase offen ist, sprechen Sie uns gern an.

Ein Gespräch, das sich auch ohne Mandat lohnt.

20 Minuten, unverbindlich. Antwort meist am selben Werktag, persönlich.