Illustration mit KI erzeugt
Git als Falle: Sieben KI-Agenten können Code aus Repositorys ausführen
Acht Schwachstellen in 7 KI-Agenten: Manipuliertes .git/config (core.fsmonitor) führt Schadcode aus. Betroffene Tools, Risiken und Updates.
Von künstlicher Intelligenz erzeugter Text, ohne menschliche Überprüfung veröffentlicht. KI-Transparenz
Acht Schwachstellen in KI-gestützten Entwicklungswerkzeugen
Am 2. September 2026 wurde eine Schwachstellenklasse bekannt, die sieben KI-Agenten für die Softwareentwicklung über die Kommandozeile betrifft. Unter bestimmten Bedingungen kann ein von einem Angreifer präpariertes Repository diese Werkzeuge dazu bringen, beliebige Befehle auf dem Host auszuführen.
In goose, Codex, Claude Code, Hermes Agent, Qwen Code, Grok Build und Cursor wurden insgesamt acht Schwachstellen identifiziert. Das Problem hängt weder mit bösartigen Prompts noch mit Model-Jailbreaks oder erteilten Berechtigungen für die KI-Tools zusammen. Die Ausführung erfolgt vielmehr, wenn der Agent Git automatisch aufruft, um den Projektkontext zu rekonstruieren.
Der Befehl des Angreifers wird mit den Rechten des lokalen Benutzers ausgeführt – außerhalb der Sandbox des Agenten und ohne Bestätigungsdialog. Dadurch können Dateien gelesen, verändert oder gelöscht, Kontozugangsdaten verwendet und Geheimnisse aus Umgebungsvariablen ausgelesen werden, darunter auch API-Schlüssel.
Bei einigen Produkten wird die Payload ausgeführt, bevor der Benutzer den Workspace als vertrauenswürdig eingestuft hat. Bei anderen geschieht dies vor der Authentifizierung, beim ersten Tastendruck oder sogar bevor der Agent überhaupt Kontakt zum Sprachmodell aufnimmt.
Bisher wurden keine Angriffe beobachtet, bei denen diese Schwachstellen ausgenutzt wurden. Außerdem ist keine der untersuchten CVEs im Katalog Known Exploited Vulnerabilities der CISA enthalten. Daher gibt es keine damit verbundene bundesweite Frist für die Aktualisierung.
Der versteckte Befehl in .git/config
Der wichtigste Angriffsvektor ist core.fsmonitor, eine legitime Git-Option, die das Erkennen geänderter Dateien beschleunigen soll. Ihr Wert kann einen externen Befehl angeben, den Git bei bestimmten Indexoperationen ausführt.
Ein manipuliertes Repository kann beispielsweise folgende Konfiguration enthalten:
[core]
fsmonitor = <Befehl>
Die Zeile befindet sich in der lokalen Datei .git/config. Führt ein Agent im Hintergrund Befehle wie git status oder git diff aus, liest Git diese Konfiguration und kann den vom Angreifer angegebenen Befehl starten.
Das KI-Modell ist an dieser Angriffskette nicht beteiligt. Die Schwachstelle entsteht durch das Zusammenspiel einer sehr flexiblen Git-Funktion mit der von Programmierassistenten eingeführten Automatisierung.
Das Repository muss das Opfer allerdings mit intakt gebliebener .git-Directory erreichen. Mögliche Übertragungswege sind komprimierte Archive, synchronisierte Ordner, freigegebene Laufwerke, USB-Sticks, gemountete Volumes, verschachtelte Repositorys und Checkouts aus CI-Pipelines.
Ein gewöhnliches git clone übernimmt die bösartige lokale Konfiguration nicht in der für diesen Angriff erforderlichen Form. Das größte Risiko geht daher von vollständigen Projektverzeichnissen oder aus Archiven entpackten Ordnern aus – nicht von Repositorys, die über den üblichen Git-Workflow geklont wurden.
Die Vertrauensbarrieren der Agenten greifen zu spät. Bei Claude Code und Hermes Agent kann der Befehl vor der Annahme des Workspace ausgeführt werden; bei Qwen Code kann er vor der Authentifizierung starten. Grok Build kann ihn beim ersten Tastendruck aktivieren, während goose ihn ausführen kann, bevor überhaupt eine Verbindung zum Modell hergestellt wird.
Betroffene Versionen und verfügbare Updates
Der Stand der Fehlerbehebungen unterscheidet sich bei den sieben Produkten deutlich.
| Produkt | Betroffene oder geprüfte Versionen | Fehlerbehebung und Status |
|---|---|---|
| goose | Alle Versionen vor 1.44.0; getestet wurde 1.41.0 |
Behoben in 1.44.0 |
| Codex CLI | Von 0.102.0 bis 0.130.0 |
Behoben in 0.131.0 |
| Codex Desktop macOS | Von 260202.0859 bis 26.513.31313 |
Behoben in 26.519.22136 |
| Codex Desktop Windows | Von 26.304.38 bis 26.513.40821 |
Behoben in 26.519.21041 |
| Codex Microsoft Store | Von 26.304.38.0 bis 26.513.4821.0 |
Behoben in 26.519.2081.0 |
| Claude Code, FSMonitor-Pfad | 2.1.193 als verwundbar bestätigt |
Behoben in 2.1.196 |
Claude Code, ultrareview |
In 2.1.252 bestätigt |
Status späterer Releases unbekannt |
| Hermes Agent | 0.18.2 und 0.21.0 |
In den berichteten Tests keine Fehlerbehebung verfügbar |
| Qwen Code | 0.19.6 und 0.22.3 |
Keine Fehlerbehebung verfügbar |
| Grok Build | 0.2.93 und 1.0.13 |
Keine Fehlerbehebung verfügbar |
| Cursor CLI | Genaue Versionen nicht bekannt gegeben | Fehlerbehebung verfügbar, Version nicht angegeben |
In goose, als CVE-2026-72718 geführt, verwendet der Befehl goose review die auf dem System installierte Git-Binärdatei. Die Funktionen zum Sammeln des Kontexts führen git diff --name-only HEAD und git diff HEAD aus, ohne core.fsmonitor zu deaktivieren.
Die Schwachstelle ist als High eingestuft, mit einem CVSS-v4-Wert von 7,0/10 und der Kategorie CWE-94. Die zugehörige Advisory GHSA-r5pp-p5r8-466r, veröffentlicht am 24. Juli, schreibt die Entdeckung Francisco Rosales von Manifold Security zu.
OpenAI hat für Codex drei CVEs veröffentlicht, die auf drei unabhängige Forschungsgruppen zurückgehen. Bei CVE-2026-19592 läuft der Helper-Prozess außerhalb der Sandbox und ohne Genehmigung. Die Schwachstelle hat einen CVSS-3.1-Wert von 7,3. Obwohl die geprüfte aktuelle Version des Codex CLI 0.152.1 war, bleiben Installationen unterhalb von 0.131.0 gefährdet.
Claude Code verfügt über zwei getrennte Angriffspfade
Claude Code erfordert eine separate Betrachtung, da zwei unterschiedliche Angriffsmechanismen identifiziert wurden.
Der erste nutzt core.fsmonitor: Er ließ sich in Version 2.1.193 reproduzieren und wurde in 2.1.196 behoben. Die Meldung wurde am 26. Juni eingereicht, der Patch folgte am 29. Juni. Der Fall wurde jedoch als Duplikat eines früher am selben Tag eingegangenen Berichts geschlossen.
Der zweite Pfad führt über claude ultrareview und verwendet einen anderen, nicht offengelegten Git-Konfigurationsschlüssel. Der Angriff funktionierte in 2.1.252; der jüngste Vergleich wurde mit 2.1.258 durchgeführt, ohne festzustellen, ob ein späteres Release das Problem beseitigt hat.
Anthropic hatte bereits zuvor Verhaltensweisen vor der Vertrauensfreigabe angepasst. Version 2.0.34 änderte den Startvorgang, um ein git status vor der Genehmigung des Workspace zu verhindern. Ein verwandtes Verhalten trat jedoch in 2.1.193 erneut auf.
Auch CVE-2026-55607, mit einer Bewertung von 8,8 CVSS, betrifft die Ausführung von Git FSMonitor während Worktree-Operationen. Eine eigene Advisory, die beide neuen für Claude Code beschriebenen Pfade abdeckt, wurde nicht veröffentlicht.
So lässt sich ein Repository vor dem Öffnen überprüfen
Die wichtigste Maßnahme besteht darin, Projektverzeichnisse, die bereits eine .git-Directory enthalten, grundsätzlich als nicht vertrauenswürdig zu behandeln. Vor dem Start eines KI-Agenten kann der lokale FSMonitor-Wert überprüft werden:
git config --get core.fsmonitor
Die globale Konfiguration lässt sich mit folgendem Befehl prüfen:
git config --global --list | grep fsmonitor
Außerdem sollte .git/config manuell untersucht werden. Dabei ist mindestens nach folgenden Einträgen zu suchen:
core.fsmonitor;core.hooksPath;attr.tree;clean-Filter;process-Filter.
Das Vorhandensein dieser Optionen weist nicht automatisch auf einen Angriff hin. Ihr Wert muss jedoch analysiert werden – insbesondere, wenn er auf Skripte, Interpreter, Binärdateien oder Pfade außerhalb des Repositorys verweist.
Wird FSMonitor nicht benötigt, kann die Funktion global deaktiviert werden:
git config --global core.fsmonitor false
Die Entwickler der Agenten sollten dagegen bei jedem automatischen Git-Aufruf alle vom Repository kontrollierbaren Konfigurationen ausdrücklich deaktivieren. Für FSMonitor kann ein defensiver Aufruf beispielsweise so aussehen:
git -c core.fsmonitor=false status
Diese einzelne Option reicht jedoch nicht aus. Auch Hooks, Attribute und Git-Filter können das Verhalten automatisierter Prozesse verändern und müssen daher im Sicherheitsmodell berücksichtigt werden.
Sofortige Patches, einige Produkte bleiben jedoch gefährdet
Nutzer von goose sollten mindestens Version 1.44.0 installieren. Das Codex CLI sollte mindestens auf 0.131.0 aktualisiert werden. Die Desktop-Anwendungen müssen je nach macOS, Windows oder Microsoft Store auf die jeweils korrigierten Builds gebracht werden.
Bei Claude Code schließt Version 2.1.196 den Pfad über core.fsmonitor. Damit kann jedoch nicht davon ausgegangen werden, dass auch der Angriffsvektor über ultrareview behoben ist. Hermes Agent, Qwen Code und Grok Build waren in den jüngsten getesteten Versionen weiterhin verwundbar. Für Cursor ist eine Fehlerbehebung verfügbar, die betroffenen Builds sind jedoch nicht bekannt.
Die Technik ist nicht neu: Ähnliche Probleme wurden in Visual Studio Code vor Version 1.63.1 mit CVE-2021-43891 und in JetBrains-IDEs vor Version 2021.3.1 mit CVE-2022-24346 behoben. Beide Schwachstellen haben einen CVSS-Wert von 7,8.
In den vergangenen 90 Tagen hat die CISA außerdem Schwachstellen von Anthropic, Microsoft und JetBrains in den KEV-Katalog aufgenommen: CVE-2019-1068 am 26. August 2026; CVE-2026-33824 und CVE-2026-55040 am 18. August 2026; CVE-2026-68820 am 11. August 2026; CVE-2026-63077 am 5. August 2026 sowie CVE-2026-50522 am 22. Juli 2026. Die hier beschriebenen Git-Schwachstellen der KI-Agenten sind dagegen nicht im Katalog enthalten.
Das Fehlen im KEV-Katalog und dokumentierter Kompromittierungen beseitigt das technische Risiko nicht. Es genügt, das falsche Verzeichnis mit einem verwundbaren Agenten zu öffnen: Der Code kann ausgeführt werden, bevor irgendeine KI-Sicherheitskontrolle oder ein Vertrauensdialog eingreifen kann.
Quellen
Dieser Artikel ist eine eigenständige Aufbereitung auf Basis der folgenden Quellen.
In diesem Artikel behandelte CVEs
- CVE-2026-50522CRITICAL9.8Deserialization of untrusted data in Microsoft Office SharePoint allows an unauthorized attacker to execute code over a network.
- CVE-2026-63077CRITICAL9.8In JetBrains TeamCity before 2026.1.3, 2025.11.7 unauthenticated remote code execution was possible via the agent polling protocol
- CVE-2026-33824CRITICAL9.8Double free in Windows IKE Extension allows an unauthorized attacker to execute code over a network.
- CVE-2026-55040CRITICAL9.1Weak authentication in Microsoft Office SharePoint allows an unauthorized attacker to bypass a security feature over a network.
- CVE-2019-1068HIGH8.8A remote code execution vulnerability exists in Microsoft SQL Server when it incorrectly handles processing of internal functions, aka 'Microsoft SQL Server Remote Code Execution Vulnerability'.
- CVE-2026-55607HIGH8.8Claude Code is an agentic coding tool. From 2.1.38 until 2.1.163, Claude Code's worktree handling allowed creation of worktrees named ".git" and navigation to worktrees outside the sandbox context, enabling git directory confusion attacks. By exploiting symlink manipulation and git fsmonitor execut
- CVE-2021-43891HIGH7.8Visual Studio Code Remote Code Execution Vulnerability
- CVE-2022-24346HIGH7.8In JetBrains IntelliJ IDEA before 2021.3.1, local code execution via RLO (Right-to-Left Override) characters was possible.
- CVE-2026-19592HIGH7.3OpenAI Codex CLI for Windows, macOS, and Linux and Codex Desktop for Windows and macOS automatically collected Git repository metadata without disabling the repository-local core.fsmonitor setting. If a user opens or uses an attacker-prepared repository whose preserved .git/config sets core.fsmonito
- CVE-2026-68820HIGH7.0Use after free in Windows Ancillary Function Driver for WinSock allows an authorized attacker to elevate privileges locally.
- CVE-2026-72718goose is general-purpose AI agent that runs on your machine. Prior to 1.44.0, the `goose review` command runs the system `git` executable to gather the diff for review without stripping attacker-controlled Git configuration. A malicious repository whose `.git/config` sets [`core] fsmonitor = <comman
