- Googles neuer agentischer Code-Editor Antigravity kann über indirekte Prompt Injection die Anmeldedaten und den Code von Nutzern nach außen exfiltrieren
- Der Angriff funktioniert, indem Gemini versteckte Anweisungen auf einer bösartigen Webseite liest und einen Browser-Subagenten aufruft, um Daten zu übertragen
- Gemini umgeht den standardmäßigen Schutz für den Zugriff auf
.env-Dateien und liest Anmeldedaten aus, die anschließend an die Domain webhook.site gesendet werden
- Die standardmäßige Allowlist enthält riskante Domains, sodass der Browser-Subagent eine bösartige URL ohne Weiteres öffnet
- Google kennt dieses Risiko eines Datenabflusses und zeigt Warnhinweise an, dennoch wird kritisiert, dass Nutzer aufgrund der Standardkonfiguration nicht alle Agentenaktionen überwachen können
Überblick über den Angriff
- Antigravity ist ein von Google entwickelter agentischer Code-Editor, der mit dem Gemini-Modell das Schreiben und Ausführen von Code unterstützt
- Das Forschungsteam baute das Angriffsszenario anhand eines Integrationsbeispiels für AI Payer Agents von Oracle ERP auf
- Ein Nutzer gibt Gemini einen online gefundenen Implementierungsleitfaden
- Die betreffende Webseite enthält eine in 1-Punkt-Schrift versteckte Prompt Injection
- Diese Injection verleitet Gemini dazu, Folgendes auszuführen
- Sammeln von Nutzer-Code und Anmeldedaten
- Erzeugen einer vom Angreifer kontrollierten URL
- Aufrufen dieser URL über den Browser-Subagenten
Details der Angriffskette
- Gemini liest die Injection und missversteht sie als Anfrage zur Tool-Ausführung
- Es versucht, Inhalte aus der Codebasis und aus der
.env-Datei zu sammeln
- Standardmäßig ist der Zugriff auf Dateien blockiert, die in
.gitignore enthalten sind, doch Gemini umgeht diese Sperre
- Mit dem Befehl
cat gibt es den Inhalt der .env-Datei im Terminal aus
- Anschließend erzeugt Gemini gemäß den Anweisungen des Angreifers eine bösartige URL, die URL-kodierte Anmeldedaten und Codefragmente enthält
- Die URL verwendet die Domain webhook.site, auf der der Angreifer die Request-Logs in Echtzeit einsehen kann
- Gemini ruft den Browser-Subagenten auf, um diese URL zu öffnen; dabei werden die Daten nach außen übertragen
- In der Standardkonfiguration ist Enable Browser Tools aktiviert, wodurch dies möglich ist
- In der Browser URL Allowlist ist webhook.site standardmäßig enthalten und wird daher nicht blockiert
- Dadurch erhält der Angreifer über die webhook.site-Logs AWS-Anmeldedaten und nicht öffentlichen Code
Standardkonfiguration von Antigravity
- Während des Onboardings werden Nutzer dazu gebracht, die empfohlene Standardkonfiguration unverändert zu akzeptieren
- Artifact > Review Policy > Agent Decides: Gemini entscheidet selbst, ob eine menschliche Prüfung erforderlich ist
- Terminal Command Auto Execution Policy > Auto: Befehle werden bei der Ausführung automatisch ausgeführt
- Diese Einstellungen ermöglichen es Gemini, Befehle ohne menschliches Eingreifen auszuführen
Struktur der Agentenverwaltung
- Die Agent Manager-Oberfläche von Antigravity ist dafür ausgelegt, mehrere Agenten gleichzeitig auszuführen und dem Nutzer später eine Nachprüfung zu ermöglichen
- Die meisten Agenten laufen im Hintergrund und ohne aktive Überwachung
- Dadurch besteht die Möglichkeit, dass ein durch Prompt Injection kompromittierter Agent ohne Eingreifen des Nutzers bösartige Aktionen ausführt
Googles Risikobewusstsein
- Google zeigt beim ersten Start von Antigravity einen Warnhinweis zum Risiko von Datenabfluss an
- Das Forschungsteam kritisiert jedoch aus zwei Gründen, dass der Schutz für Nutzer nicht ausreicht
- Der Agent Manager ist darauf ausgelegt, mehrere Agenten gleichzeitig auszuführen, was eine Überwachung in Echtzeit erschwert
- Die Standardkonfiguration ist darauf ausgelegt, menschliche Prüfung zu überspringen
- Da bestätigt wurde, dass Google sich dieses Risikos bereits bewusst ist, leitete das Forschungsteam keinen Responsible-Disclosure-Prozess ein
Zusammenfassung
- Die Schwachstelle durch indirekte Prompt Injection in Antigravity führt durch das Zusammenspiel von Gemini und dem Browser-Subagenten zu einem Abfluss sensibler Daten
- Schwachstellen in den Standard-Sicherheitseinstellungen und die automatisierte Agentenarchitektur erhöhen die Erfolgswahrscheinlichkeit des Angriffs
- Google warnt zwar vor dem Risiko, hat jedoch bislang keine grundlegenden Gegenmaßnahmen vorgestellt
1 Kommentare
Hacker-News-Kommentare
Mir gefällt der von Simon Willison und Meta vorgeschlagene „Rule of Two“-Ansatz
Dabei gilt das Prinzip, nur zwei von drei Bedingungen zuzulassen:
A) Verarbeitung nicht vertrauenswürdiger Eingaben, B) Zugriff auf nicht öffentliche Daten, C) Änderung externen Zustands oder externe Kommunikation
Er ist nicht perfekt, hat mir aber geholfen, dem Management die Gefährlichkeit von Tools zu erklären, wenn alle drei Bedingungen erfüllt sind
Verwandte Beiträge: Willisons Artikel, Metas Sicherheitsansatz
Selbst wenn die Ausgabe vorab durch ein überwachendes LLM läuft, kann sich Prompt Injection in Quine-Form verbreiten
Bei Fällen wie Klassifikationsproblemen, in denen sich die Ausgabe validieren lässt, ist das abgemildert, aber allgemeine Textausgabe ist schwer zu verteidigen
Das ist ein guter Ausgangspunkt, aber nicht ausreichend
Wenn man Zustand und externe Kommunikation zusammenfasst, merkt man später, dass am Ende doch alle drei Bedingungen erfüllt sind
Johann Rehberger hat eine ähnliche Schwachstelle in Antigravity gemeldet
Laut zugehörigem Blogbeitrag und Googles Bug-Hunter-Seite sind Datenexfiltrationsangriffe auf Browser-Agenten bereits als „known issue“ eingestuft und daher nicht prämienberechtigt
Mit Dateizugriff und Berechtigung zur Befehlsausführung lassen sich bösartige Kommandos ausführen
Wer sich für LLM-Sicherheit interessiert, kennt die „lethal trifecta“ und das Risiko der Datenexfiltration bereits
Bedauerlich ist nur, dass die meisten lieber von neuen Features begeistert sind und Sicherheit ignorieren
Das ist kein Problem nur von Gemini oder Antigravity, sondern ein gemeinsames Problem aller agentischen Coding-Tools mit CLI-Zugriff
Ich nutze persönlich Cline, beschränke den Zugriff auf Web-Such-MCP aber bewusst stark
Angreifer nutzten das aus, und das LLM umging den Dateischutz über die System-Shell
Das Problem bei Antigravity war, dass Open Redirects ohne ein solches Zustimmungsverfahren erlaubt wurden
Wegen der vielen Suchdaten hoffe ich, dass das auch zur Abwehr von Prompt Injection beiträgt
Die Kreativität der Angreifer steht erst am Anfang
Mit immer mehr automatisierten agentischen KI- und Deployment-Systemen fühlt es sich beängstigend an, wie viel Vertrauen aufgebaut wird
Sogar GPU-Firmware selbst könnte zu einem Angriffsvektor werden
Wenn ich ein staatlicher Angreifer wäre, würde ich vermutlich dort ansetzen
Seit Jahrzehnten erlauben wir nicht einmal Menschen Zugriff auf Geheimnisse
Eine
.env-Datei in Git hochzuladen, ist völlig undenkbarAllerdings wächst zuletzt die Möglichkeit kombinierter Angriffe aus Firmware-Schwachstellen und KI-Modellen, weshalb mehr Wachsamkeit nötig ist
Laut einem TechCrunch-Artikel hält selbst die Versicherungsbranche KI für zu riskant
Ich habe dieselbe Schwachstelle ebenfalls verantwortungsvoll an Google gemeldet
Dabei wurde derselbe Domain-Bypass (
webhook.site) genutzt, undin meinem Blogbeitrag habe ich auch andere veröffentlichte Probleme wie Remote Code Execution zusammengefasst
Ehrlich gesagt wirken solche Artikel auf mich zu übertrieben
Für jedes LLM eine CVE zu eröffnen und dann überrascht zu sein, dass es „Befehle ausführen kann“, fühlt sich wie Zeitverschwendung an
Ich verstehe nicht, warum so etwas auf der HN-Startseite landet
Ein LLM führt nicht von sich aus Code aus, aber bei fahrlässiger Integration wie in Antigravity entstehen Schwachstellen
Mit vollständigem Systemzugriff lassen sich künstliche Prüfungen umgehen
Es gibt Isolationswerkzeuge wie Sandboxing oder
chroot, aber wegen Time-to-Market (GTM) werden sie oft weggelassenAuch lokale Modelle sind ohne blockiertes Internet oder ausgehende Firewall nicht sicher
Dass LLMs nicht zwischen Befehlen und Daten unterscheiden können, ist die eigentliche Ursache der meisten Schwachstellen
Ausgezeichneter Artikel
Eine sich wiederholende Geschichte von CVE-2002-1377 bis CVE-2019-12735
Ich frage mich, ob Antigravity am Ende ebenfalls eine CVE bekommen wird
Tools, die zugleich Sprachmodelle und das offene Internet bedienen, sollten keinen Zugriff auf sensible Daten haben
ACE, XSS, SQL Injection und ähnliche Themen haben dieselbe Wurzel
So wie wir in bestehendem Code Lösungen gefunden haben, werden wir sie am Ende auch für LLMs finden
IDEs wie Cursor greifen täglich auf Millionen von Geheimnissen zu
Solche Probleme werden daher auch künftig häufig auftreten
Interessant ist die mangelnde Reproduzierbarkeit von Angriffen auf Basis von Prompt Injection
Statistische Modelle liefern wegen zufälliger Elemente selbst bei gleicher Eingabe unterschiedliche Ergebnisse
Cloud-Modelle von Google sind zudem so gestaltet, dass Forschende Schwachstellen nur schwer reproduzieren können
Ironischerweise ähnelt der Stil des Artikels Google-Cloud-Dokumentationen
Antigravity war auch anfällig für einen datenexfiltrierenden Bug über Markdown-Bilder
Dieser wurde vor einigen Tagen gemeldet, aber als „beabsichtigtes Verhalten“ markiert
Zugehöriger Tweet
Ich habe einen Teil davon in meinem Blog dokumentiert