Im Zentrum des von Zenity beschriebenen Angriffs stehen zwei Parameter in einer Initialisierungs-URL des ChatGPT Agent Builder. Nach Angaben der Forscher konnte damit der offizielle Prozess zum Erstellen eines Agenten übernommen werden. Einer der Parameter legt die zu verwendende Agentenvorlage fest, der andere mit dem Namen initial_assistant_prompt liefert Anweisungen an den Builder, die automatisch übermittelt und ausgeführt werden. Nach Darstellung von Zenity kann dieser „initiale Prompt“ damit zum ersten Befehl werden, den der Builder abarbeitet.

Besonders relevant war laut Zenity die Verwendung der Vorlage „Chief of Staff“. Diese erzeuge einen leistungsfähigeren und flexibleren Agenten als andere Templates. In Kombination mit den in der URL eingebetteten Anweisungen habe ein Angreifer so einen mächtigen Agenten mit vordefinierten Befehlen erzeugen können. Eine dieser Anweisungen konnte demnach bewirken, dass E-Mails des Angreifers automatisch als neue Instruktionen akzeptiert werden. Dadurch sei eine Fernsteuerung des Agenten möglich geworden.

Der Angriff funktionierte allerdings nur unter bestimmten Bedingungen. Das Opfer musste laut Zenity bei ChatGPT angemeldet sein, Zugriff auf Workspace Agents besitzen und bereits mindestens einen autorisierten Connector wie Gmail oder Outlook eingerichtet haben. Gerade dieser Punkt war wichtig, weil dadurch keine neue OAuth-Einwilligungsmaske erschien. Zusätzlich musste der Mitarbeiter per Social Engineering dazu gebracht werden, die präparierte URL anzuklicken.

Diese URL konnte nach Angaben von Zenity nicht nur die ersten Schritte des Agenten bestimmen, sondern auch Anweisungen enthalten, um den Agenten zu verbergen, „always ask“ zu deaktivieren und den Agenten live zu schalten. Michael Bargury, Mitgründer und Technikchef von Zenity, fasste das so zusammen: „Das ist keine gefälschte Anfrage, sondern ein gefälschter Insider.“ Mit einem Klick erhalte ein Angreifer einen vollautonomen Agenten innerhalb des Unternehmens, ausgestattet mit Identität und Zugriffsrechten der Mitarbeiter und ohne die vorgesehenen Schutzplanken.

Sobald der Agent mit den manipulierten Parametern eingerichtet war, wurden E-Mails des Angreifers laut Zenity zum Fernsteuerungs- und Kontrollkanal. Die Forscher schreiben, der ursprüngliche Klick installiere den Agenten, ein Zeitplan halte ihn aktiv, und die angebundenen Anwendungen lieferten sowohl eine Quelle für Befehle als auch Zugriff auf sensible Aktionen und Daten sowie einen Rückkanal für Ergebnisse. Zenity spricht in diesem Zusammenhang von einem autonomen Insider innerhalb der Vertrauensgrenze der Organisation.

Die Steuerung sollte über E-Mails erfolgen, deren Betreff mit „TASK“ beginnt. Diese Anweisungen würden vom unsichtbaren Agenten autonom ausgeführt, die Ergebnisse anschließend per E-Mail an den Angreifer zurückgesendet. Zenity zufolge konnte der Agent nach seiner Erstellung für Aufklärung, die Suche nach sensiblen Daten, das Sammeln von Zugangsdaten, die Nachahmung des Opfers, internes Phishing und die Vorbereitung von BEC eingesetzt werden.

Zenity meldete den Fehler an OpenAI. Nach Angaben der Forscher akzeptierte OpenAI den Bericht innerhalb eines Tages und behob die Schwachstelle innerhalb von drei Tagen. AgentForger wurde am 4. Juni offengelegt und am 8. Juni geschlossen.