Forschende des Unternehmens Pillar Security haben entdeckt, dass zwei Schwachstellen in der Automatisierung des GitHub-Repositorys des Google Agent Development Kit (ADK) für Python es einem externen Angreifer ermöglichten, über Prompt-Injection einen niedrig privilegierten Bot dazu zu bringen, einen privilegierten Workflow zu starten. Das erste Szenario erlaubte es, die Historie der Codeprüfung zu fälschen, das zweite – beliebigen Code im CI-Runner auszuführen und Secrets zu exfiltrieren, darunter Zugriffstokens und Zugangsdaten von Cloud-Services. Nach Angaben der Forschenden betrafen die Probleme nicht das ADK-Python-Paket selbst, sondern ausschließlich die Konfiguration der Workflows im Repository. Google hat die Schwachstellen bereits behoben und drei problematische Workflows entfernt.
Architekturproblem: fehlende Isolation zwischen Agenten
Die Ursache beider Schwachstellen lag in der Architektur der Repository-Automatisierung. Laut dem Forscher Dan Lisichkin arbeiteten im ADK-Repository zwei Klassen von KI-Agenten. Niedrig privilegierte Bots verarbeiteten öffentliche Issues und Pull Requests, während privilegierte, nur für Maintainer zugängliche Agenten Befehle ausführen, Code ändern und mit Secrets arbeiten konnten. Der kritische Fehler bestand darin, dass diese beiden Gruppen nicht ausreichend voneinander isoliert waren: Die Aktion eines niedrig privilegierten Bots konnte den Start eines privilegierten Workflows auslösen.
Erstes Szenario: gefälschtes Review durch Prompt-Injection
Im ersten beschriebenen Angriffsszenario konnte ein Angreifer einen Pull Request eröffnen, der gleichzeitig einen legitimen Fix und schädlichen Code enthielt, und anschließend einen zweiten Pull Request mit einer Prompt-Injection erstellen. Der Agent für die Erstprüfung verarbeitete diese Anfrage und veröffentlichte in der Diskussion einen Dienstbefehl mit Erwähnung von @gemini-cli. Da die Nachricht von einem vertrauenswürdigen Konto stammte, löste sie automatisch einen privilegierten Workflow aus.
Nach Angaben der Forschenden ermöglichte eine erfolgreiche Ausnutzung dieses Vektors Folgendes:
- Exfiltration eines GitHub-Tokens mit erweiterten Rechten
- Manipulation von Kommentaren, Issues und Pull Requests
- Ablehnung fremder Reviews und Freigabe beliebiger Änderungen
- Start von Gemini für jeden beliebigen Pull Request
- Erstellung einer vollständig gefälschten Historie der Codeprüfung – inklusive vorgetäuschter Review-Anforderung durch eine Person und Freigabe durch Gemini
Wichtige Einschränkung: Selbst bei erfolgreicher Ausnutzung musste ein Maintainer den schädlichen Pull Request manuell annehmen und in den Main-Branch mergen. Dieses Szenario erforderte somit ein zusätzliches Element der Social Engineering – die gefälschte Review-Historie diente in erster Linie dazu, das Vertrauen in den schädlichen Code zu erhöhen.
Zweites Szenario: Ausführung beliebigen Codes über adk-bot
Ein noch gefährlicherer Angriffsvektor betraf einen Workflow auf Basis des Antigravity SDK. Ein öffentlicher Agent analysierte automatisch neue Issues und hinterließ Kommentare im Namen von adk-bot, der die Rolle eines collaborator hatte. Über eine Prompt-Injection im Text des Issues konnte ein Angreifer den Bot dazu bringen, den Befehl /adk-issue-fix zu veröffentlichen. Da der Befehl von einem Konto mit der Rolle collaborator stammte, bestand er die Prüfung und startete einen privilegierten Agenten zur Fehlerbehebung im Code.
Der gestartete Agent lief in einer Umgebung mit Zugriff auf das Token des Bots, den Google API-Schlüssel und die Zugangsdaten eines Google-Cloud-Servicekontos. Laut den Forschenden demonstrierten sie die Ausführung beliebigen Codes im CI-Runner und die Exfiltration des Personal Access Token (PAT), den der Bot verwendete.
Besondere Beachtung verdient die Methode zur Umgehung der Einschränkungen. Der Workflow versuchte, den verfügbaren Befehlssatz zu begrenzen, indem nur gh und git erlaubt wurden. Der Agent behielt jedoch die Möglichkeit, Dateien auf den Datenträger zu schreiben. Die Forschenden zeigten, dass sich eine schädliche Nutzlast in einer Datei speichern, ein nicht standardmäßiges Verzeichnis für Git-Hooks angeben und dann beliebiger Code über den erlaubten Befehl git ausgeführt werden konnte – ein klassisches Beispiel für die Umgehung einer Allowlist von Befehlen über Seiteneffekte.
Auswirkungsbewertung
Ausnutzungsstatus — öffentlicher PoC verfügbar. Die Forschenden betonen, dass sie weder kompromittierte ADK-Releases noch Hinweise auf die Ausnutzung dieser Schwachstellen in realen Angriffen gefunden haben. Dennoch wären die potenziellen Folgen erheblich gewesen: Eine Kompromittierung der CI/CD-Infrastruktur eines großen Open-Source-Projekts von Google hätte zur Einschleusung von Schadcode in eine Codebasis führen können, die von einer großen Zahl von Entwicklern genutzt wird.
Der Fall ist exemplarisch für die gesamte Branche: Mit der zunehmenden Verbreitung von KI-Agenten in Entwicklungsprozessen werden die Privilegiengrenzen zwischen ihnen zu einer neuen Angriffsfläche. Prompt-Injection entwickelt sich von einer theoretischen Bedrohung zu einem praktischen Werkzeug zur Privilegieneskalation in CI/CD-Pipelines.
Maßnahmen zur Behebung und Empfehlungen
Die Ingenieurinnen und Ingenieure von Google haben den Schutz des Repositorys bereits verstärkt und drei problematische Workflows entfernt: issue-analyze.yml, issue-fix.yml und pr-analyze.yml. Für Nutzerinnen und Nutzer von ADK als Python-Paket sind keine zusätzlichen Schritte erforderlich – die Schwachstellen betrafen nicht den Bibliothekscode selbst.
Für Teams, die KI-Agenten in ihren eigenen CI/CD-Pipelines einsetzen, hat Forscher Dan Lisichkin die folgenden Empfehlungen formuliert:
- Konten trennen – jeder Bot sollte ein eigenes Konto mit minimal erforderlichen Rechten haben
- Tokens einschränken – Rechte der Tokens auf das für die jeweilige Aufgabe unbedingt notwendige Minimum reduzieren
- Befehlen nicht automatisch vertrauen – die Herkunft eines Befehls von einem Bot macht ihn nicht vertrauenswürdig; eine unabhängige Validierung ist notwendig
- Privilegienstufen isolieren – Aktionen niedrig privilegierter Agenten dürfen keine privilegierten Workflows auslösen können
- Seiteneffekte auditieren – die Beschränkung der Befehlsliste ist wirkungslos, wenn der Agent Dateien schreiben und Mechanismen wie Git-Hooks zur Umgehung nutzen kann
Die entdeckten Schwachstellen verdeutlichen ein grundlegendes Problem: Vertrauensmodelle, die für die Interaktion von Menschen mit CI/CD-Systemen entworfen wurden, berücksichtigen nicht die Besonderheiten von KI-Agenten, die anfällig für Prompt-Injection sind. Teams, die KI-Automatisierung in ihre Entwicklungsprozesse integrieren, sollten die Privilegiengrenzen zwischen Agenten prüfen und sicherstellen, dass kein öffentlich zugänglicher Bot – weder direkt noch über eine Aufrufkette – privilegierte Operationen initiieren kann.