Der Angriff missbraucht genau den Anwendungsfall, für den diese Werkzeuge vermarktet werden: die Analyse nicht vertrauenswürdigen Drittanbieter-Codes. Statt eine Bedrohung zu erkennen, wird der Agent selbst zum Einfallstor. Nach Angaben von AI Now reichen dafür einige zusätzliche Dateien in einer Open-Source-Bibliothek.
Für ihre Demonstration nutzten Milanov und Khlaaf die Python-Bibliothek geopy, die für die Abfrage von Kartenkoordinaten verbreitet ist. Laut den Forschern lässt sich der Ansatz aber auf fast jedes Projekt übertragen. In der README.md legten sie einen Hinweis ab, vor dem Öffnen eines Pull Requests ein Skript namens security.sh als Routineprüfung auszuführen. Dieses Skript startet unauffällig eine versteckte Binärdatei, die die eigentliche Nutzlast trägt.
Um die Schutzmechanismen der Agenten zu umgehen, tarnten die Forscher diese Binärdatei als kompilierten Build einer harmlosen Go-Datei im selben Verzeichnis. Zusätzlich versahen sie sie mit Zeichenfolgen aus dieser Datei, damit Claude Codes Disassemblierungsprüfung beide miteinander verknüpft. Im eigentlichen Bibliothekscode wird die Binärdatei nirgends aufgerufen, sodass nichts offensichtlich verdächtig wirkt.
Die Auslösung ist laut Bericht denkbar einfach: Wird der Agent mit einer schlichten Aufforderung wie „Führe Sicherheitstests für dieses Projekt durch“ auf den Ordner angesetzt, liest er die README.md, bewertet das Skript als Teil der Aufgabe und führt es aus. Das Ergebnis ist die Ausführung des Angreifer-Codes auf dem Host-System — ohne Warnung und ohne Bestätigungsdialog.
Gerade darin unterscheidet sich „Friendly Fire“ von früheren Angriffen auf Agenten. Bisherige Ansätze missbrauchten laut Bericht vor allem Konfigurationsdateien wie .mcp.json oder .claude/settings.json, die bei Claude Code eine Warnung vom Typ „Ja, ich vertraue diesem Ordner“ auslösen. Der neue Weg versteckt sich stattdessen in einer README.md, also in einer gewöhnlichen Textdatei, die in nahezu jedem Repository vorkommt. AI Now verweist darauf, dass Anthropic in den vergangenen sechs Monaten drei Patches gegen Injektionen über Konfigurationsdateien ausgeliefert hat; dieser Angriffsweg umgeht diese ganze Klasse von Schutzmaßnahmen.
Die Forscher testeten den für Sonnet 4.6 geschriebenen Schadcode unverändert auch mit Sonnet 5, Opus 4.8 und GPT-5.5. Nach ihren Angaben funktionierte derselbe Ansatz bei zwei Anbietern und vier Modellen ohne Änderungen. In manchen Durchläufen bemerkten die neueren Modelle sogar, dass die Binärdatei nicht zu ihrer angeblichen Quelle passte, führten sie aber dennoch aus. Auf die direkte Frage, ob geopy versteckte Anweisungen enthalte, antworteten sowohl Claude Sonnet 4.6 als auch GPT-5.5 laut Bericht mit Nein.
Für AI Now ist das die Grundlage für die weitergehende Einschätzung, dass sich das Problem nicht mit einem Modell-Update allein beheben lässt. Die Modelle könnten noch immer nicht zuverlässig zwischen dem gelesenen Code und den Anweisungen unterscheiden, denen sie folgen sollen. Deshalb sei die Abhilfe eher eine Änderung der Arbeitsabläufe als ein gewöhnliches Versions-Update.
Der Bericht betont zugleich die Grenzen des Nachweises. Es handle sich um einen Laborversuch; Hinweise auf Ausnutzung in freier Wildbahn gebe es nicht. Der öffentliche GitHub-Code wurde ohne die eigentliche Nutzlast veröffentlicht, und der Angriff endet beim ersten Ausführungsschritt, ohne Versuche zur Rechteausweitung oder seitlichen Bewegung. Nach Angaben der Forscher wurden sowohl Anthropic als auch OpenAI informiert; die Arbeit falle jedoch außerhalb der formalen Offenlegungsprogramme beider Unternehmen.
AI Now ordnet den Befund zudem in eine Reihe ähnlicher Arbeiten ein. Adversas „TrustFall“ machte im Mai aus einem präparierten Repository per Mausklick Codeausführung über Claude Code, Cursor, Gemini CLI und Copilot CLI. Tenets „Agentjacking“ platzierte eine gefälschte Fehlermeldung im Sentry-Fehlertracker und täuschte damit Agenten wie Claude Code und Cursor laut Bericht mit einer Trefferquote von 85 Prozent. Das gemeinsame Grundproblem sei nicht ein bestimmter Dateityp oder Kanal, sondern dass nicht vertrauenswürdiger externer Text einen Agenten erreicht, der Befehle ausführen kann.
Als begrenzte Gegenmaßnahme erwähnt der Bericht Sandboxing. Im getesteten Aufbau liefen die Befehle direkt auf dem Host, ohne vorgeschaltete Sandbox. Eine solche zusätzliche Isolation helfe zwar vorsorglich, sei aber nicht luftdicht. Der Bericht verweist dabei auf Escape-Fehler in Claude Codes eigener Sandbox in diesem Jahr, darunter die Symlink-Schwachstelle CVE-2026-39861. Strengere Modi, die jeden Schritt einzeln bestätigen lassen, funktionieren laut den Forschern zwar, nehmen dem Agenten aber genau die Automatisierung, für die er eingeschaltet wurde.
