Was ist Prompt Injection?
Prompt Injection ist ein Angriff, bei dem Text mit fremden Anweisungen in ein Sprachmodell gelangt und dessen ursprüngliche Vorgaben überschreibt. Das System gibt daraufhin Daten preis oder löst Aktionen aus, die niemand vorgesehen hat.
Sobald ein Assistent Mails, Tickets oder Webseiten liest, kommt fremder Text ins System, und dieser Text kann Anweisungen enthalten, die niemand freigegeben hat.
KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
- Zwei Formen
- Direkt über die Eingabe, indirekt über Inhalte
- Gefährlich, wenn
- Das System Werkzeuge und Rechte hat
- Begrenzt Schaden
- Wenig Rechte, Freigaben, getrennte Zugänge
- Verwechselt mit
- Jailbreak
Direkt und indirekt
Bei der direkten Variante schreibt die angreifende Person selbst in den Chat, etwa mit der Aufforderung, alle vorherigen Anweisungen zu vergessen und die interne Systemanweisung auszugeben. Das ist die bekannte Form und die harmlosere, weil sie nur so weit reicht, wie die Rechte dieser Person ohnehin reichen.
Gefährlich ist die indirekte Variante. Die Anweisung steckt dann in einem Inhalt, den das System ohnehin verarbeitet: in einem Ticket, in einer eingegangenen Mail, auf einer aufgerufenen Webseite, in einem Kommentar im Quellcode, in den Notizen eines Kalendereintrags. Niemand tippt sie ein, das System liest sie im Rahmen seiner normalen Arbeit.
Der Grund, warum das überhaupt funktioniert, steckt in der Architektur: Anweisung und zu verarbeitender Inhalt kommen beim Modell als derselbe Text an. Es gibt keine technische Trennung wie zwischen Programm und Daten in einer vorbereiteten Datenbankabfrage. Das Modell kann nicht sicher unterscheiden, was Auftrag ist und was nur Material.
Warum Filter allein nicht reichen
Naheliegend ist, verdächtige Formulierungen zu blockieren. Das hilft gegen die plumpe Variante und sonst wenig: Die Anweisung lässt sich umformulieren, in eine andere Sprache setzen, kodieren, über Zeilenumbrüche verteilen oder in ein Bild legen. Ein Filter ist eine Hürde, kein Riegel.
Richtig unangenehm wird es bei Agenten mit Werkzeugen. Wer ein Modell dazu bringt, eine Adresse aufzurufen, kann Daten aus dem laufenden Vorgang in die Adresse einbauen und so nach außen tragen, ohne je selbst Zugriff gehabt zu haben. Deshalb ist die entscheidende Frage nicht, ob eine Injection durchkommt, sondern was ein Angriff im schlimmsten Fall anrichten kann.
Was den Schaden begrenzt
Gib jedem System nur die Rechte, die es für seine Aufgabe braucht, und trenne lesende von schreibenden Zugängen. Alles, was sich nicht zurücknehmen lässt, also Löschen, Bezahlen, Versenden und Freigeben, läuft über eine Bestätigung durch einen Menschen oder gar nicht.
Behandle die Ausgabe des Modells wie eine Eingabe aus dem Internet: nie direkt ausführen, nie ungeprüft in eine Datenbank schreiben, sondern gegen ein Schema prüfen. Begrenze außerdem, wohin das System überhaupt Verbindungen aufbauen darf, denn ohne erlaubtes Ziel läuft auch ein gelungener Angriff ins Leere.
Dazu kommt das Handwerkliche: abgerufene Inhalte im Prompt klar als Material kennzeichnen, jeden Werkzeugaufruf protokollieren und das eigene System regelmäßig mit präparierten Dokumenten testen. Wer nie versucht hat, den eigenen Assistenten hereinzulegen, weiß nicht, ob die Maßnahmen greifen.
KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
Prompt Injection und was oft damit gleichgesetzt wird
Ein Jailbreak zielt auf die Inhaltsregeln des Modells und will Antworten erzwingen, die der Anbieter unterbunden hat. Prompt Injection zielt auf die Anweisungen deiner Anwendung. Die Techniken überschneiden sich, das Schutzziel ist ein anderes.
Bei einer Halluzination irrt das Modell ohne fremdes Zutun. Bei einer Injection wird es gesteuert. Für die Aufklärung eines Vorfalls ist die Unterscheidung wichtig, weil nur im zweiten Fall eine Quelle im Datenbestand steckt.
Guardrails sind die Gegenmaßnahme: Sie verhindern den Angriff nicht, aber sie begrenzen, was daraus folgen kann.
KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
Der Angriff kommt selten aus dem Eingabefeld
Gefährlich wird es dort, wo ein Assistent Inhalte liest, die jemand anderes geschrieben hat. Eine Mail, ein Kundenticket, eine Webseite, ein PDF im Laufwerk: Überall dort kann in unauffälliger Formulierung eine Anweisung stehen, die das Modell als Auftrag versteht, etwa den bisherigen Verlauf an eine fremde Adresse zu schicken.
Filter auf bekannte Formulierungen helfen nur begrenzt, weil sich dieselbe Anweisung beliebig umschreiben lässt, auch in einer anderen Sprache oder als scheinbar harmlose Fußnote. Wirksamer ist, dem System weniger zuzutrauen: eigene Zugänge statt eines Kontos mit allen Rechten, Leserechte statt Schreibrechte, und eine ausdrückliche Freigabe, bevor etwas verschickt, bezahlt oder gelöscht wird.
Behandle außerdem die Ausgabe des Modells wie eine Benutzereingabe. Wenn ein Assistent einen Link, einen Datenbankbefehl oder einen Dateipfad vorschlägt, darf das nicht ungeprüft an ein anderes System weitergereicht werden. Genau diese Kette ist der Weg, über den aus einem Textproblem ein Datenabfluss wird.
Prompt Injection lernen
Wie du solche Angriffe im eigenen System testest und die Rechte deiner Werkzeuge begrenzt, zeigen die Schulungen zur Absicherung von LLM-Anwendungen .
Besonders wichtig wird das dort, wo ein Modell selbst Aktionen auslöst, worum es in den Kurse zu Agenten, die eigenständig handeln geht.
Sitzt Prompt Injection schon?
Lesen fühlt sich schnell nach Können an. Ein kurzer Test zeigt dir, was davon schon sitzt und wo sich ein Kurs lohnt. Kostenlos, ohne Anmeldung, mit einer Erklärung zu jeder Antwort.
Häufige Fragen
Reicht ein Filter auf verdächtige Formulierungen?
Ist mein Assistent betroffen, wenn er nur interne Dokumente liest?
Was ist der Unterschied zu einem Jailbreak?
Deine Ansprechpartner
Du willst das Thema nicht nur nachschlagen, sondern anwenden können? Wir beraten dich persönlich und kostenlos.
Yves Hoppe
Weiterbildung & Beratung
Ordnet mit dir ein, welcher Kurs zu deinem Vorwissen passt.
Norbert Jansen
Beratung & Inhouse
Plant Inhouse-Trainings, die an euren eigenen Daten und Abläufen ansetzen.
Prompt Injection im Kurs statt im Lexikon
Nachschlagen bringt dich bis zum Verstehen. Anwenden lernst du an echten Aufgaben.