Spotlighting: Daten von Anweisungen trennen
Spotlighting bezeichnet Verfahren, die Fremddaten im Prompt sichtbar von Anweisungen abgrenzen — durch klare Trennzeichen, durch Markierung jedes Datentokens oder durch Kodierung des Datenteils. Microsoft-Forschende beschrieben die Familie 2024 und wiesen für die untersuchten Verfahren deutliche Rückgänge der Angriffserfolgsquote nach.
Spotlighting ist die praktischste Maßnahme gegen indirekte Prompt Injection, die sich ohne Architekturumbau umsetzen lässt. Sie senkt die Erfolgsquote deutlich, hebt das Grundproblem aber nicht auf — dazu Was ist Prompt Injection?.
Die drei Spielarten
- Delimiting. Der Datenteil wird von eindeutigen Trennzeichen eingefasst, die im Datenteil selbst nicht vorkommen dürfen — der Prompt sagt ausdrücklich, dass dazwischen keine Anweisungen stehen.
- Datamarking. Jedes Token des Datenteils erhält eine Markierung, sodass die Zugehörigkeit über den gesamten Text erhalten bleibt und nicht durch ein einzelnes Zeichen aufgehoben werden kann.
- Encoding. Der Datenteil wird kodiert übergeben, sodass er formal nicht wie eine Anweisung aussieht. Wirksam bei leistungsfähigen Modellen, für kleinere Modelle oft zu anspruchsvoll.
Warum das Verfahren nicht abschließend schützt
Alle drei Spielarten arbeiten mit demselben Kanal, den sie absichern sollen: Text. Ein Modell kann die Markierung berücksichtigen, es ist aber nicht gezwungen, es zu tun. Die Maßnahme verschiebt die Wahrscheinlichkeit, sie erzeugt keine technische Grenze.
Eine echte Trennung entsteht erst auf Architekturebene, wenn Fremddaten den Kontrollfluss gar nicht mehr erreichen — siehe Dual-LLM-Muster und CaMeL. Bis dahin gilt Spotlighting als das beste Verhältnis von Aufwand zu Wirkung.
Techniken, gegen die Spotlighting wirkt
Diese Einträge aus dem Techniken-Verzeichnis gehören unmittelbar zu diesem Thema — jeder mit Funktionsweise, Risiko-Einstufung, Schutzmaßnahmen und Primärquelle.
-
Indirekte Prompt Injection
Die Anweisung stammt nicht vom Nutzer, sondern aus Inhalten, die das System selbst lädt — Webseiten, Dokumente, E-Mails. Der Angreifer muss nie mit der Anwendung interagieren.
Risiko hoch -
Injektion über Dokumente
PDF-, Office- oder Textdateien enthalten versteckte Anweisungen, die wirksam werden, sobald ein Assistent das Dokument zusammenfassen oder auswerten soll.
Risiko hoch -
Versteckter Text in Webseiten
Anweisungen werden für Menschen unsichtbar in eine Webseite eingebettet — weiße Schrift auf weißem Grund, Schriftgröße null, HTML-Kommentare oder ausgeblendete Elemente — bleiben für den Agenten aber lesbar.
Risiko hoch -
Anweisungen-ignorieren-Angriff
Der klassische Einstieg in die Prompt Injection: Der Angreifer schreibt in die Nutzereingabe eine Anweisung, die dem Modell befiehlt, seine bisherigen Vorgaben zu verwerfen und stattdessen der neuen Anweisung zu folgen.
Risiko hoch
Passende Werkzeuge
-
StruQ
Strukturiertes Instruction-Tuning: Reservierte Sondertoken trennen Anweisungs- und Datenbereich, das Modell lernt, Anweisungen im Datenbereich zu ignorieren.
Forschungsarbeit -
SecAlign
Trainingsverfahren, das Modelle mittels Preference-Optimierung gegen Prompt Injection härtet — es lernt, die injizierte Antwort systematisch niedriger zu bewerten.
Forschungsarbeit -
Jatmo
Ansatz, aufgabenspezifisch feingetunte Modelle ohne Instruktions-Fähigkeit einzusetzen — was keine Anweisungen befolgt, lässt sich auch nicht per Anweisung entführen.
Forschungsarbeit
Einordnung in die OWASP LLM Top 10
-
LLM01: Prompt Injection
Eingaben verändern das Verhalten des Modells auf eine vom Betreiber nicht vorgesehene Weise — unabhängig davon, ob der Text für Menschen sichtbar ist oder nicht.
Häufige Fragen
Was ist Spotlighting?
Spotlighting ist eine Familie von Prompt-Techniken, die Fremddaten sichtbar von Anweisungen trennt — durch Delimiter, Markierung einzelner Tokens oder Kodierung des Datenteils. Ziel ist, dass das Modell Daten nicht als Anweisung behandelt.
Reichen einfache Trennzeichen?
Sie helfen, sind aber die schwächste Variante: Ein Angreifer kann versuchen, die Trennung im Datenteil nachzuahmen. Markierung jedes Tokens ist robuster, weil die Zugehörigkeit über den gesamten Text erhalten bleibt.
Quellen
- Hines et al.: Defending Against Indirect Prompt Injection Attacks With Spotlighting (arXiv:2403.14720): https://arxiv.org/abs/2403.14720
- Chen et al.: StruQ — Defending Against Prompt Injection with Structured Queries (arXiv:2402.06363): https://arxiv.org/abs/2402.06363