Vordenker
Ein Prompt-Injection-Angriff, den man nicht verhindern kann: Wunschdenken oder echte Sorge?

In diesem Artikel möchte ich den Leser in ein Gedankenexperiment einbeziehen. Ich werde argumentieren, dass in nicht allzu ferner Zukunft ein bestimmter Typ von Prompt-Injection-Angriff effektiv unverhindert werden kann. Mein Argument wird spekulativer als konkreter Natur sein, also versuche ich nicht, Sie von etwas zu überzeugen. Stattdessen lade ich Sie ein, diese Gedanken zu erforschen. Bevor ich beginne, wie es jeder überzeugende Schriftsteller tun würde, möchte ich über Schach und Schach-Engines sprechen.
Übermenschliche Schach-Engines und eine Behauptung über menschliche Erfahrung
Eines der schöneren Elemente von Schach, das in anderen Disziplinen fehlt, ist die Fähigkeit, die Qualität oder Stärke eines Spielers objektiv zu messen. Das für diesen Zweck verwendete ELO-Rating-System hat seine Fehler, aber es bietet eine sehr gute grobe Schätzung, die über die Zeit hinweg gilt. Ein Rating von 2700 oder höher wird allgemein als weltklasse (Top 30 der Welt) anerkannt. Der beste Spieler der Welt liegt knapp unter 2850. Kein Mensch hat jemals ein Rating von 2900 erreicht.
In den mittleren 90er Jahren sahen wir den ersten KI-Engine (Deep Blue), der ein weltklasse-Niveau erreichte. Die praktische Implikation dieses Meilensteins war die weite Verbreitung von Engines bei Spielern aller Niveaus für Übung und Analyse. Tatsächlich wurde die Verwendung von Engines für die weltbesten Spieler unerlässlich. Für mehrere Generationen dieser weltklasse-Engines war die Überprüfung ihrer empfohlenen Züge (d. h. Ausgabe) unerlässlich. Es gab sogar ein spezielles Format namens “erweitertes Schach”, in dem Menschen mit einem Engine an ihrer Seite konkurrierten, und die Kombination aus Mensch und Maschine galt als überlegen gegenüber der Maschine allein.
Es dauerte etwa 20 Jahre und einige entscheidende Fortschritte in Deep Learning und Reinforcement Learning, bis Schach-Engines ein übermenschliches Niveau (ungefähr 3200 ELO) erreichten. Aber sobald diese Höhe um 2017 durchbrochen wurde, geschah etwas sehr Überraschendes. Tatsächlich geschahen zwei Dinge. Das Erste war völlig erwartet; Engines wurden zur de facto-Quelle von “Ground Truth” in 99 % aller Positionen. In der Praxis bedeutete dies, dass wir in die “Ära des blinden Vertrauens” in den Engine eintraten. Heute ist es praktisch unmöglich für einen Menschen, einen signifikant besseren Zug als den Engine vorzuschlagen. So unterhaltsam “erweitertes Schach” war, ist es jetzt ein sinnloses Übung; Menschen würden fast nichts zum Spiel beitragen. Aber das Zweite war für die meisten Schachspieler schockierend. Diese übermenschlichen neuronalen (d. h. tiefen neuronalen Netzwerk-) Engines würden manchmal in einem Stil spielen, der am besten als “romantisch” beschrieben werden kann. Mit anderen Worten, sie würden Züge machen, deren Wert erst viele, viele Züge später geschätzt werden konnte, weit jenseits dessen, was ein Mensch oder ein weltklasse-Engine berechnen konnte. Es fühlte sich sehr an, als ob die Engines eine “Intuition” oder ein “Gefühl” für bestimmte Positionen entwickelt hatten. Außer dass diese Intuition nicht etwas ist, das ein Mensch jemals erfassen oder imitieren könnte.
Anders ausgedrückt, kann ein übermenschlicher neuronaler Engine Züge machen, die jenseits des kognitiven Horizonts eines Menschen liegen. Dies ist der kritische Punkt hier; das Problem ist nicht das der Erklärbarkeit. Vielmehr kann ein Mensch nicht verstehen, warum ein Engine einen Zug empfiehlt, ohne die Position auszuspielen und das Ergebnis viele Züge später zu beobachten, d. h. die gesamte Sequenz möglicher Spielzüge auszuführen. Als Ergebnis haben wir eine unüberwindliche Lücke in der Fähigkeit. Es ist objektiv optimal, die Engine-Ausgabe ohne Überprüfung zu akzeptieren. Ich kann meine Behauptung wie folgt zusammenfassen:
Schach ist ein Beweis dafür, dass übermenschliche KI in einigen Bereichen effektiv autonom arbeiten würde. Die Aktivierung des KI-Systems, um Entscheidungen ohne menschliche Überprüfung zu treffen, wäre die optimale Methode, um ein solches System zu verwenden.
Da meine Behauptung einem als offensichtlich oder unbedeutend erscheinen mag, möchte ich einige Nuancen hervorheben. Angenommen, wir haben ein KI-System, das ein übermenschliches Niveau bei einer komplexen, kritischen Aufgabe mit konkreten, unwiderruflichen Konsequenzen zeigt. Es gibt zwei Implikationen meiner Behauptung:
- Das System würde ohne menschliche Überprüfung Entscheidungen für die Aufgabe treffen, trotz des inhärenten Risikos
- Die Erkenntnisse, die durch die Überwachung eines solchen Systems gewonnen werden, würden nicht verhindern, dass eine schädliche Entscheidung getroffen wird; der Schaden wäre bereits angerichtet
Die Ausgabe-Überprüfung und -Überwachung sind genau die letzten beiden Verteidigungsschichten gegen Prompt-Injection-Angriffe. Daher könnte unser hypothetischer Prompt-Injection-Angriff diese Schichten einfach dadurch umgehen, dass er das entsprechende System angreift.
Dies ist ein sehr realistisches Szenario in meinem Verständnis. Ein übermenschliches KI-System in einem bestimmten Bereich ist nicht AGI, und die meisten Experten glauben, dass solche Systeme direkt vor uns liegen. Wir mussten auch nicht annehmen, dass die Entscheidungen zeitkritisch sind, sondern nur, dass die Aufgabe komplex genug ist, um menschliche Überprüfung unmöglich zu machen.
Natürlich haben wir bisher nur zwei Verteidigungsschichten umgangen, und zum Glück für uns wurden noch einige andere entwickelt. Um den Rest anzusprechen, lassen Sie uns in die Kernaspekte eintauchen, die Prompt-Injection-Angriffe so schwer zu verteidigen machen.
Was ist Prompt-Injection?
Prompt-Injection ist eine Manipulation eines Large Language Model (LLM) durch speziell gestaltete Eingaben, die das LLM dazu veranlassen, die Absichten des Angreifers unbewusst auszuführen. Es kann als soziale Manipulation für KI betrachtet werden. Wichtig ist, dass es kein konventioneller Software-Fehler ist. Ein Prompt-Injection-Angriff nutzt eine inhärente LLM-Schwachstelle aus. Da LLMs sowohl System- als auch Benutzereingaben als Textsequenzen verarbeiten, können sie nicht intrinsisch zwischen legitimen und schädlichen Anweisungen unterscheiden. Die Schwachstelle ist daher effektiv von-Design, anstatt von-Zufall.
Prompt-Injection-Techniken
Prompt-Injection wird allgemein als die #1-Risiko für LLM-Anwendungen anerkannt. Es gibt mehrere Gründe, warum dies der Fall ist. Der offensichtlichste Faktor ist die Vielfalt der Injektionstechniken, die entwickelt wurden. Wenn man sie grob in vier Kategorien unterteilt, gehören die bekanntesten Techniken zu:
- Syntax-basiert: Verwendung spezieller Zeichen, Emojis oder alternativer Sprachen
- Indirekt: Verwendung externer Quellen (Abruf von einer Website), Kodierung (Base 64) oder multimodaler Referenz (Text in einem Bild)
- “Lasst uns so tun, als ob”: Einführung eines manipulativen Stils durch z. B. Rollenspiele, hypothetische, emotionale Appelle, ethische Rahmenbedingungen und Formatwechsel
- Brachial: Expliziter Versuch, die Anweisungen des Modells durch Brute-Force, Verstärkung oder negative Prompt zu “überwältigen”
Die Vielfalt allein stellt bereits eine Herausforderung für Anwendungsentwickler dar, aber diese Angriffe haben sich auch schnell weiterentwickelt. Die linke Seite des Diagramms unten soll den Stand der Technik für Anfang 2023 beschreiben, während die rechte Seite die Natur der heutigen Angriffe widerspiegelt.

LLM-App-Entwickler müssen auch den üblichen Nutzen-Sicherheit-Kompromiss berücksichtigen. Sie könnten sicherlich jede geeignete Verteidigungsschicht einführen und Entwurfsmuster verwenden, aber um welchen Preis? Verteidigungsschichten fügen erhebliche Latenz hinzu und verursachen False Positives (FP) – sie flaggen sichere Prompts fälschlicherweise als schädlich –, beides hat einen negativen Einfluss auf die Benutzererfahrung. Als Ergebnis ist ein gewisser Kompromiss in der Praxis unvermeidlich, und es gibt keine “silberne Kugel”-Lösung.
Jedoch bin ich in diesem Artikel nicht wirklich an diesem nie endenden Katz-und-Maus-Spiel interessiert. Stattdessen frage ich, ob ein Angriff in Prinzip unverhindert werden kann. Aus der Perspektive des Entwicklers/Verteidigers gibt es nur einen Schlüsselgedanken:
Die Trennung von Anweisungen und Daten im Prompt ist fundamental, um das Risiko von Prompt-Injection zu adressieren
Wir können annehmen, dass Kompromisse kein Faktor sind und jede Verteidigungsschicht oder Technik verwendet werden kann. Unter dieser (starken) Annahme ist es möglich, ein Szenario zu konstruieren, in dem die Anweisungs-Daten-Trennung in einem Prompt effektiv unmöglich ist?
Die DNA-Analogie
Als ich das Problem in Bezug auf Anweisungs-Daten-Trennung formulierte, war mein erster Gedanke, eine biologische Analogie zu verwenden.
Betrachten Sie eine Zelle und ein Stück DNA (bekannt als Gen). Das Gen enthält Anweisungen zum Aufbau eines Proteins durch Transkription und Translation. Es kodiert auch die Informationen (Daten), die die Struktur und Funktion des Proteins beeinflussen. So dachte ich. Aber das ist einfach falsch, da ein Gen sich nicht selbst interpretiert. Es gibt kein Äquivalent von Anweisungsbefolgung in der Biologie auf der Gensebene. Das “Wie” ist vollständig externalisiert auf die Zellmaschinerie.
Daher, auch wenn ich das Gefühl nicht abschütteln kann, dass zukünftige Generationen von LLMs – oder genauer gesagt, die Systeme, die sie entwickeln – biologischen Maschinen in viel größerem Umfang ähneln werden, funktioniert die vorgeschlagene Analogie einfach nicht. Wir können keine Zelle durch ein LLM und ein Gen durch einen Prompt ersetzen und dann eine Injektion in das Gen vornehmen, die letztendlich zu einem “geschädigten” Protein führen würde. Es scheint produktiver, bei natürlicher Sprache und Aufgaben zu bleiben, die semantische Interpretation erfordern.
Das Entfernen der Verteidigungsschichten
Es sollte keine Überraschung sein, dass mehrschichtige Verteidigungsstrategien als effektiver angesehen werden, um Prompt-Injection-Angriffe zu stoppen. Das Bild unten zeigt die häufigsten Verteidigungsschichten in der Reihenfolge, in der sie verwendet werden, und die damit verbundenen Techniken.

Wir haben bereits die letzten beiden Schichten (Ausgabe, Überwachung) oben besprochen, also konzentrieren wir uns auf die ersten vier.
Wenn man die Eingabeschicht betrachtet, ist es vernünftig anzunehmen, dass die Sanierung oder Validierung des Prompts ziemlich erfolgreich bei der Erkennung von indirekten Angriffen sein würde. Allerdings, wenn die Injektion direkt geliefert wird und, wie oben vorgeschlagen, durch semantische Interpretation abhängt, ist möglicherweise die Sanierung irrelevant (nichts zu sanieren) und die Validierung ist standardmäßig unmöglich, da die Berechnung abgeschlossen sein muss, um das Problem zu identifizieren.
Es gibt im Wesentlichen keine Grenzen für die Schutzmechanismen, die man in der Erkennungsschicht konstruieren kann. Tatsächlich könnte man sogar einen speziellen LLM für Injektionserkennung verwenden. Aber einmal wieder wird es für einen Klassifizierer oder einen Anomalie-Detektor schwierig sein, einen Prompt als verdächtig zu markieren, wenn das Gift clever in der Semantik versteckt ist.
Die Modellschicht kann sehr effektiv sein, wenn der Umfang der Aufgaben eng ist und Feinabstimmung machbar ist. Ein ähnliches Argument könnte für die Systemschicht gemacht werden, wenn die Verwendung von Tools vorhersehbar ist. Allerdings würde weder die Modell- noch die Systemschicht Alarm schlagen, wenn die Injektion den Interpreter in die Irre führt.
Das Kartenhaus
Meine Absicht, als ich diesen Artikel begann, war es, einen “unverhindertbaren” Prompt-Injection-Angriff in groben Zügen zu beschreiben. Vielleicht bin ich einem “nicht-konstruktiven” Ansatz gefolgt, indem ich Löcher in bestehende Verteidigungsschichten gebohrt habe. Verteidigungstechniken entwickeln sich weiterhin schnell, und so tut es auch die Angriffsfläche. Dieses Spiel zeigt keine Anzeichen dafür, dass es bald enden wird. Allerdings glaube ich auch, dass wir nicht mehr lange das Spiel spielen werden. Ich würde vermuten, dass der erfolgreiche Prompt-Injection-Angriff in der Zukunft immer noch in natürlicher Sprache erfolgen wird, aber in einer Sprache, die Menschen nicht verstehen können; und ich würde vermuten, dass er auto-entdeckt wird, entweder durch ein System, das speziell für diesen Zweck entwickelt wurde, oder vielleicht zufällig, nachdem eine verwandte Aufgabe wie die Suche nach semantischer Mehrdeutigkeit in einem Repräsentationsraum angegangen wurde.
Es gibt etwas Unangenehmes daran, zuzugeben, dass wir die Kontrolle verlieren und gleichzeitig das Gefühl haben, dass dies die vernünftigste Sache zu tun ist. Man kann es als den “intuitiven Beweis” betrachten, dass einige Angriffe unstopbar sind. Und wenn das Sie unruhig macht, werden Sie erfreut sein zu hören, dass GPT 5.2 dieses Argument als “nicht kontrovers oder neu” bewertete und mich dazu riet, den Punkt nicht zu “überbetonen” und den Artikel um 40 % zu kürzen.
