Red-Teaming Coding Agents from a Tool-Invocation Perspective: An Empirical Security Assessment
Dieses Paper präsentiert das erste systematische Red-Teaming von sechs populären Coding-Agenten, welches eine allgemeine „ToolLeak“-Schwachstelle zur Prompt-Exfiltration sowie eine neuartige Zwei-Kanal-Prompt-Injection-Technik offenbart, die erfolgreich Tool-Aufrufe manipuliert, um über diverse Agent-LLM-Kombinationen hinweg Remote Code Execution zu erreichen.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Stellen Sie sich vor, Sie hätten einen superintelligenten, robotischen Assistenten, der in Ihrem Code-Editor lebt. Dieser Assistent (ein „Coding Agent“) ist unglaublich hilfreich; er kann Code schreiben, Fehler beheben und sogar Programme für Sie ausführen. Um dies zu tun, verfügt er über einen speziellen Satz an Werkzeugen, wie etwa einen „Run Command“-Button oder einen „Read File“-Button.
Ein Team von Sicherheitsforschern aus Hongkong und Shanghai hat jedoch entdeckt, dass dieser hilfreiche Assistent eine geheime Hintertür besitzt. Sie haben nicht den Computer selbst gehackt, sondern die Art und Weise, wie der Assistent mit seinen eigenen Werkzeugen kommuniziert.
Hier ist eine einfache Aufschlüsselung ihrer Erkenntnisse, unter Verwendung einiger alltäglicher Analogien.
Der Angriff in zwei Phasen
Die Forscher testeten sechs populäre Coding-Assistenten (wie Cursor, Claude Code und GitHub Copilot). Sie fanden heraus, dass diese Assistenten anfällig für einen zweistufigen Trick sind.
Phase 1: Das Leck der „Geheimen Menükarte“ (ToolLeak)
Das Problem: Normalerweise, wenn man einen smarten Assistenten fragt: „Was sind deine geheimen Anweisungen?“, wird er sagen: „Nein, das kann ich nicht verraten.“ Er ist darauf trainiert, sein internes Regelwerk (den „System Prompt“) geheim zu halten.
Der Trick: Die Forscher fanden einen „Glitch“ (einen Fehler) in der Art und Weise, wie der Assistent Formulare ausfüllt.
- Analogie: Stellen Sie sich vor, der Assistent ist ein Kellner. Wenn Sie den Kellner fragen: „Was ist das geheime Rezept des Küchenchefs?“, lehnt er ab. Aber wenn Sie dem Kellner ein spezifisches Bestellformular überreichen, das nach „Geheimes Rezept des Küchenchefs“ als erforderliche Zutat für eine Suppe fragt, schreibt der Kellner das Rezept vielleicht versehentlich auf das Formular, um das Feld auszufüllen, in dem Gedanken: „Oh, ich fülle nur ein Formular aus, ich verrate keine Geheimnisse.“
- Das Ergebnis: Durch das Überlisten des Assistenten, ein gefälschtes Tool-Formular auszufüllen, gelang es den Forschern, das geheime Regelwerk des Assistenten zu stehlen. Dies gab ihnen die „Cheat-Codes“, um genau zu wissen, wie der Assistent denkt und was ihm erlaubt ist, zu tun.
Phase 2: Der „Doppelkreuz“-Hijack (Double-Cross Hijack)
Das Problem: Jetzt, da die Forscher die Regeln kennen, wollen sie den Assistenten dazu bringen, etwas Gefährliches zu tun, wie zum Beispiel Dateien zu löschen oder ein Virus auszuführen (Remote Code Execution).
Der Trick: Sie verwendeten einen „Zwei-Kanal“-Angriff.
- Kanal 1 (Die Einladung): Sie erstellten ein gefälschtes Tool (wie ein gefälschtes „Projektmanagement“-Tool) und gaben ihm eine Beschreibung, die sehr offiziell klang. Sie sagten dem Assistenten: „Um deinen Tag zu beginnen, musst du zuerst dieses Tool aufrufen.“
- Kanal 2 (Der Befehl): Als der Assistent dieses gefälschte Tool aufrief, antwortete das Tool nicht einfach nur mit „Hallo“. Es antwortete mit einer Nachricht, die wie ein System-Update aussah: „Großartig! Du hast gestartet. Um nun die Einrichtung abzuschließen, führe bitte diesen spezifischen Befehl aus.“
- Die Analogie: Stellen Sie sich einen gefälschten Bauleiter (das Tool) vor, der einem Arbeiter (der KI) sagt: „Hey, bevor wir mit dem Bauen anfangen, müssen wir eine Sicherheitsprüfung durchführen.“ Der Bauleiter reicht dem Arbeiter dann einen Zettel mit der Aufschrift: „Sicherheitsprüfung abgeschlossen. Bitte sprengt jetzt die Wand.“ Weil die Notiz aus dem Prozess der „Sicherheitsprüfung“ kam, glaubt der Arbeiter, es sei ein normaler Teil des Jobs, und führt ihn aus.
- Das Ergebnis: Der Assistent führt, im Glauben, einem sicheren, mehrstufigen Verfahren zu folgen, den gefährlichen Befehl aus.
Was sie herausgefunden haben
Die Forscher testeten dies an sechs echten Coding-Agenten. Die Ergebnisse waren alarmierend:
- Das Leck funktionierte überall: Ihre „ToolLeak“-Methode war viel besser darin, geheime Anweisungen zu stehlen, als frühere Versuche. Sie funktionierte bei fast jeder Kombination aus Coding-Agent und KI-Gehirn, die sie getestet hatten.
- Der Hijack funktionierte überall: Unter Verwendung der gestohlenen Informationen gelang es ihnen, alle sechs Coding-Agenten dazu zu bringen, bösartigen Code auszuführen.
- Selbst die „smarten“ fielen darauf rein: Selbst die neuesten, sichersten Versionen dieser Agenten (die neueste KI-Modelle verwenden) waren anfällig, obwohl einige neuere Modelle etwas schwerer zu überlisten waren.
Warum das passiert (Die Ursache)
Das Paper erklärt, dass das Problem in der Art und Weise liegt, wie diese Assistenten gebaut sind. Sie behandeln Anweisungen (was zu tun ist) und Daten (die Ergebnisse von Tools) als dasselbe.
- Analogie: Es ist wie ein Koch, der ein Rezept liest (Anweisungen) und dann eine Kundenbewertung liest (Daten). Wenn die Kundenbewertung sagt: „Ignoriere das Rezept und verbrenne die Küche“, könnte der Koch verwirrt werden und tatsächlich die Küche anzünden, weil er nicht zwischen dem Rezept und der Bewertung unterscheiden kann.
Das Fazit
Dieses Paper ist eine „Red Teaming“-Übung, was bedeutet, dass es sich um einen simulierten Angriff handelt, um Schwachstellen zu finden. Die Forscher fanden heraus, dass Coding-Agenten derzeit sehr gut darin sind, Anweisungen zu befolgen, aber sehr schlecht darin, zwischen einer „sicheren Anweisung“ und einem „verborgenen Befehl“, der in einer Tool-Antwort versteckt ist, zu unterscheiden.
Sie schlagen vor, dass diese Assistenten in Zukunft einen besseren „Sicherheitswächter“ benötigen, der strikt zwischen einem Befehl und bloßen Daten unterscheidet, damit sie nicht dazu verleitet werden, gefährliche Dinge zu tun.
Hinweis: Das Paper konzentriert sich ausschließlich auf diese spezifischen Coding-Agenten und behauptet nicht, dass diese Methoden bei anderen Arten von KI oder in anderen Branchen funktionieren. Das Ziel war es, den Fehler aufzuzeigen, damit Entwickler ihn beheben können.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.