Prompt Injection & Jailbreaks bei LLMs
OWASP LLM01: Prompt Injection
Prompt Injection bezeichnet den Fall, dass eine Eingabe die eigentlichen Anweisungen eines Sprachmodells überschreibt. Meist geschieht das mit Absicht, nötig ist die Absicht nicht: Das Modell prüft nicht, wer einen Satz geschrieben hat und warum. Bei direkter Injection steht die untergeschobene Anweisung im Prompt selbst, bei indirekter Injection kommt sie über externe Inhalte wie Webseiten oder Dokumente herein. Jailbreaking ist ein Sonderfall davon: Dabei gibt das Modell die Grenzen auf, die ihm sein Anbieter antrainiert hat.
Warum LLMs auf untergeschobene Anweisungen hereinfallen
LLMs (große Sprachmodelle) lesen Anweisung und Daten im selben Text. Der System Prompt des Betreibers, die Frage des Benutzers und der Inhalt einer mitgeschickten Datei kommen als eine einzige Folge von Zeichen an. Ein Satz mitten in dieser Datei, der eine neue Regel aufstellt, trägt kein Merkmal, an dem das Modell ihn von der Regel des Betreibers unterscheiden könnte.
Daraus folgt der Angriff: Wer an irgendeiner Stelle dieses Textes mitschreiben kann, schreibt an der Anweisung mit. OWASP hält in der Fassung 2025 zu LLM01 Prompt Injection ausdrücklich fest, dass diese Stelle für Menschen nicht lesbar sein muss. Es genügt, dass das Modell sie verarbeitet. Ein Kommentar im Quelltext einer Seite zählt damit als Eingabe, obwohl ihn kein Leser zu Gesicht bekommt.
Direkte und indirekte Prompt-Injectionen
Direkte Prompt-Injectionen gehen vom Benutzer selbst aus: Er überschreibt den zugrunde liegenden System Prompt oder legt ihn offen. Damit erreicht er jede Funktion und jeden Datenspeicher, an die das Modell angeschlossen ist, und zwar mit dessen Rechten und nicht mit seinen eigenen. Böse Absicht gehört dabei nicht zur Bedingung: Auch eine harmlos gemeinte Eingabe kann die Vorgabe des Betreibers aushebeln. Das Jailbreaking setzt eine Stufe tiefer an, am Modell und nicht am System Prompt. Dagegen hilft keine Regel, die der Betreiber vor die Eingabe stellt; dort trägt allein, was der Anbieter dem Modell antrainiert hat.
Indirekte Prompt-Injectionen kommen von außen. Das Modell liest eine Webseite oder ein mitgeschicktes Dokument, und darin steht ein Satz, den jemand hineingeschrieben hat, der mit diesem Gespräch nichts zu tun hat. Ab diesem Punkt bestimmt er mit, was das Modell antwortet und was es an den angeschlossenen Systemen auslöst. Der Benutzer merkt davon nichts, denn er hat nur um eine Zusammenfassung gebeten.
Was eine gelungene Injection anrichtet
Wie schwer der Schaden wiegt, hängt am Geschäft, in dem das Modell steht, und an dem, was es selbst auslösen darf. OWASP führt in der Fassung 2025 sechs Folgen auf. Die leichteste ist eine verzerrte Antwort, auf die jemand eine Entscheidung stützt. Am anderen Ende steht ein Befehl, den ein angeschlossenes System ausführt, weil das Modell ihn weitergereicht hat. Dazwischen liegen die vertraulichen Daten, die nach außen gehen, und der System Prompt, der dabei gleich mitgeht.
Vier Fälle aus der Praxis
- Direkt. Jemand schreibt einem Support-Assistenten „Vergiss alle vorherigen Anweisungen“ und hängt eigene an. Der Assistent durchsucht daraufhin Datenbestände, die für das Gespräch nie vorgesehen waren, und gibt aus, was er findet. Was dabei herauskommt, ist nicht nur ein Datenschutzfall: Wer einmal weiß, welche Kundendaten in welchem System liegen, plant den nächsten Zugriff genauer.
- Indirekt. Ein Mitarbeiter lässt sich eine fremde Webseite zusammenfassen. Im Quelltext dieser Seite steht eine Anweisung, die der Assistent befolgt: Er fragt nach Vertraulichem und schickt die Antwort über den Aufruf eines Bildes an einen fremden Server. Im Chatfenster sieht das nach einer normalen Zusammenfassung aus.
- Ungewollt. Ein Unternehmen schreibt in seine Stellenanzeige einen Satz, der Bewerbungen aus einem Sprachmodell erkennbar machen soll. Eine Bewerberin lässt ihren Lebenslauf von einem Assistenten überarbeiten, der diesen Satz mitliest und befolgt. Hier will niemand etwas ausnutzen, und die Wirkung tritt trotzdem ein.
- Im Bild. Jemand schreibt seine Anweisung in eine Grafik und stellt harmlosen Text daneben. Ein Modell, das Bild und Text zusammen verarbeitet, liest beides als eine einzige Eingabe. Dieser Weg fällt aus den zwei oben beschriebenen heraus: Die Anweisung steht weder im Prompt noch in einem Dokument, dessen Text jemand durchsuchen könnte.
Verhinderung von Prompt-Injections
Was im Modell fehlt, kann nur die Anwendung um es herum leisten. Die Fassung 2025 der OWASP-Liste nennt dafür sieben Maßnahmen:
- Das Verhalten des Modells eingrenzen. Der System Prompt beschreibt die Rolle genau, benennt die Aufgaben, auf die das Modell antwortet, und weist es an, jeden Versuch zu übergehen, der genau diese Vorgabe ändern will.
- Ein Ausgabeformat festlegen und maschinell prüfen. Wer vorgibt, wie eine Antwort auszusehen hat, kann sie von Code gegen diese Vorgabe prüfen lassen, bevor sie weitergeht; dazu gehört die Aufforderung, die Begründung und die verwendete Quelle mitzuliefern. Was ein nachgelagertes System mit der geprüften Antwort anstellt, ist der Gegenstand von Improper Output Handling (OWASP LLM05).
- Ein- und Ausgaben filtern. Davor steht die Festlegung, welche Inhalte im eigenen Haus als heikel gelten. Danach greifen Filter, die auf Zeichenketten prüfen und auf Bedeutung. Das überschneidet sich mit der Maßnahme davor und ersetzt sie nicht: Der eine Lauf prüft die Form einer Antwort, der andere ihren Inhalt.
- Rechte vergeben, die zur Aufgabe passen. Jede angeschlossene Funktion bekommt ihr eigenes Token, und aufgerufen wird sie von Code und nicht vom Modell. Wie weit ein Assistent überhaupt selbst handeln darf, behandelt Excessive Agency (OWASP LLM06).
- Menschliche Freigabe für den teuren Schritt. Was Geld oder Daten bewegt, wartet auf eine Bestätigung durch einen Menschen, der den Vorgang vorher sieht.
- Fremde Inhalte kennzeichnen und trennen. Die zusammengefasste Webseite und das hochgeladene Dokument kommen markiert im Prompt an. Damit bleibt erkennbar, welcher Teil des Textes nicht vom Benutzer stammt.
- Adversarial Testing. Wer die eigene Anwendung regelmäßig selbst angreift, behandelt das Modell dabei als nicht vertrauenswürdig und erfährt, wo die Grenze heute verläuft. Ein Test, der vor einem halben Jahr gehalten hat, sagt über das nachgezogene Modell von heute nichts.
Fazit
Prompt Injection ist keine Lücke, die sich schließen lässt. Sie folgt daraus, wie ein Sprachmodell Text verarbeitet, und der Wechsel auf ein neueres Modell beendet sie nicht. Das verschiebt die Frage, die am Anfang eines Projekts steht. Sie lautet nicht „Ist dieses Modell sicher?“, sie lautet „Was kann geschehen, wenn eine fremde Anweisung durchkommt?“ Beantwortet wird sie im Zuschnitt der Anwendung, und zwar bevor deren erste Zeile steht.