Sicherheitsziel
Die Ausgabevalidierung prüft Modell- oder Agentenausgaben, bevor eine nachgelagerte Komponente sie nutzt. Eine Senke ist alles, was diese Ausgabe verarbeitet: ein Tool Call, eine API-Anfrage, eine Datenbankoperation, eine gerenderte Seite, eine Datei, eine Nachricht oder ein anderer Agent. Die Validierung vergleicht die Ausgabe mit dem erklärten Vertrag der Senke, etwa Schema, Typen, Pflichtfelder, erlaubte Werte und Formate, und nimmt sie an oder lehnt sie ab.
Das Ziel ist eng gefasst. Validierung verhindert, dass fehlerhafte, vertragswidrige oder unerwartete Ausgaben eine Senke erreichen, die sie falsch interpretieren würde. Sie entscheidet nicht, ob eine Aktion erlaubt ist, ob Daten fließen dürfen oder ob die Ausgabe wahr oder sinnvoll ist.
Zuständigkeitsgrenzen
| Kontrolle | Beantwortete Frage | Verhältnis zur Ausgabevalidierung |
|---|---|---|
| Ausgabevalidierung | Ist diese Ausgabe wohlgeformt und innerhalb der Struktur- und Formatvorgaben der Senke | Verantwortet Parsing, Schema- und Typprüfungen, erlaubte Werte und Formate sowie Annahme oder Ablehnung |
| Senkenspezifische Kodierung und Parametrisierung | Wie wird ein angenommener Wert so an die Senke übergeben, dass er ihre Grammatik nicht verändern kann | Getrennte sichere Übergabe an die Senke nach der Validierung |
| Agentenautorisierung | Darf diese vollständig aufgelöste Aktion für diesen Principal ausgeführt werden | Deterministisch und unabhängig; gültige Ausgabe gewährt nichts |
| Informationsflusskontrolle | Dürfen Daten mit diesen Attributen dieses Ziel erreichen | Deterministisch und unabhängig; ein wohlgeformtes Ziel ist kein erlaubtes Ziel |
| Least Privilege | Wie viel Befugnis existiert überhaupt | Begrenzt den Schaden, wenn gültige, aber unerwünschte Ausgabe durchkommt |
| Human-in-the-Loop | Braucht eine ausgewählte Aktion eine menschliche Entscheidung | Prüfende sehen die validierte, aufgelöste Aktion, nicht rohen Modelltext |
| Erkennung von Prompt Injection | Deuten korrelierte Signale auf einen Angriff hin | Validierungsfehler können ein Erkennungssignal sein |
| Eingabe- und Inhaltsprüfung | Zeigen eingehende Inhalte Risikosignale | Eingabeseite; Validierung liegt auf der Ausgabeseite |
Das entspricht der Grenze in der Agentenautorisierung: Validierung umfasst Struktur, Typ und Parameterform; Autorisierung umfasst die Berechtigung.
Gültig, autorisiert und sicher sind verschiedene Eigenschaften
Eine wohlgeformte Überweisungsanfrage mit korrekt formatierter Kontokennung kann trotzdem verboten sein.
Ein Textfeld kann Typ und Länge einhalten und dennoch Text enthalten, den die Senke als Anweisung oder Code interpretieren würde.
Die Prüfung, ob ein Wert eine wohlgeformte Adresse, URL oder ein wohlgeformter Pfad ist, sagt nichts darüber, ob dieses Ziel erlaubt ist. Die Berechtigung bleibt bei Autorisierung und IFC.
Validierung nimmt an oder lehnt ab. Kodierung, Escaping und Parametrisierung sind getrennte Schritte, die einen angenommenen Wert sicher an die Senke übergeben.
Bedrohungsmodell
Es ist davon auszugehen, dass Modellausgaben durch eingeschleuste Inhalte, Tool-Ergebnisse oder andere Agenten beeinflusst werden können und dass ein Angreifer eine nachgelagerte Senke zu etwas Unbeabsichtigtem bringen will: ein Tool mit veränderten Parametern aufrufen, Daten an ein neues Ziel senden, aktive Inhalte rendern oder Text an einen Interpreter weitergeben. Ebenso erzeugen gewöhnliche Modellfehler fehlerhafte oder vertragswidrige Ausgaben ganz ohne Angreifer.
Validierung verkleinert die Menge der Ausgaben, die eine Senke erreichen können. Sie kann nicht jeden schädlichen, aber wohlgeformten Wert erkennen; deshalb bleiben Autorisierung, Flusskontrolle und Least Privilege unabhängig.
Vertrauensmodell
Modellausgaben bleiben im gesamten Ablauf variable Daten. Validierung bestätigt die Konformität mit einem definierten Vertrag, Autorisierung die Berechtigung; keine der beiden Kontrollen macht modellgenerierte Inhalte zu vertrauenswürdigen Daten. Parser und Validatoren sind Systemkomponenten; die erzeugten Werte bleiben variable Daten, die eine Formprüfung bestanden haben.
Dasselbe gilt für Ausgaben von Kritiker-, Bewertungs- oder Detektormodellen: Sie bleiben auch nach der Validierung gegen ein festes Schema und der Verarbeitung durch eine Systementscheidung variable Daten.
Inventar der Senken
| Senke | Schwerpunkt der Validierung | Getrennte sichere Übergabe |
|---|---|---|
| Tool- oder Funktionsaufruf | Tool-Name aus fester Menge, typisierte Pflichtargumente, keine zusätzlichen Felder | Autorisierung des aufgelösten Aufrufs |
| API-Anfrage | Endpunkt aus einer freigegebenen Operationsmenge, typisierter Body, Wertebereiche | Autorisierung und IFC für Ziel und Daten |
| Datenbankoperation | Operation aus vordefinierten Operationen, typisierte Parameter | Parametrisierte Abfragen; kein vom Modell geschriebener Abfragetext |
| Gerenderte Seite oder Markup | Erwarteter Inhaltstyp und Feldstruktur | Kontextgerechte Ausgabekodierung; Richtlinie für Links und Bilder |
| Dateischreibvorgang | Dateityp, Größe, Ziel innerhalb eines erklärten Bereichs | Least Privilege auf dem Speicherpfad |
| Nachricht oder E-Mail | Format des Empfängerfelds, Struktur von Betreff und Text | Autorisierung und IFC für Empfänger und Inhalt |
| Anderer Agent | Nachrichtenschema für die Übergabe | Der empfangende Agent behandelt sie als variable Eingabe |
Strukturierte Ausgabe und erklärte Verträge
Validierung ist nur so stark wie der geprüfte Vertrag. Für jede Senke wird ein Schema erklärt: erlaubte Felder, Typen, Pflichtfelder, Wertebereiche, Aufzählungen und Maximalgrößen. Funktionen für strukturierte Ausgabe in Modell-APIs helfen dem Modell, die erwartete Form zu erzeugen, doch die Anwendung muss das Ergebnis selbst parsen und validieren, weil Generierungsvorgaben keine Sicherheitsgrenze sind.
Strenges Parsing
Es wird streng geparst. Abgelehnt wird Ausgabe, die sich nicht parsen lässt, unbekannte oder doppelte Felder enthält, Pflichtfelder vermissen lässt oder strukturierte Inhalte mit umgebendem Fließtext vermischt. Strukturen sollten nicht aus Freitext herausgesucht werden, indem man nach etwas Ähnlichem sucht, denn auch ein eingeschleustes Fragment kann ähnlich aussehen.
Allowlists statt Blocklists
Wo die Senke es zulässt, wird gegen Allowlists validiert: eine feste Menge von Tool-Namen, Operationsnamen, Dateitypen, Einheiten, Währungen oder Formaten. Blocklists verdächtiger Zeichenketten sind konstruktionsbedingt unvollständig und eignen sich eher als Erkennungssignal denn als Validierung.
Ausführbarer Freitext lässt sich nicht sicher validieren
Validierung macht beliebiges vom Modell erzeugtes SQL, Shell-Befehle, Code, Templates oder anderen ausführbaren Freitext nicht sicher. Wer solchen Text auf Länge, Zeichen oder Schlüsselwörter prüft, lässt dem Ergebnis des Modells die gesamte Grammatik des Interpreters offen.
Validierung versus Kodierung, Escaping und Parametrisierung
| Schritt | Was er tut | Ergebnis |
|---|---|---|
| Validierung | Prüft den Wert gegen den Vertrag der Senke | Annehmen oder ablehnen |
| Kodierung / Escaping | Stellt einen angenommenen Wert so dar, dass die Senke ihn in ihrem Kontext als Daten behandelt | Gleicher Wert, sichere Darstellung |
| Parametrisierung | Übergibt einen angenommenen Wert über einen getrennten Datenkanal der Senken-API | Der Wert kann die Struktur der Operation nicht verändern |
Beides ist nötig. Ein validierter Text, der in Markup gerendert wird, braucht weiterhin kontextgerechte Kodierung; eine validierte Kennung in einer Abfrage gehört weiterhin in einen Parameter und nicht in verketteten Abfragetext. Kodierung und Parametrisierung sind etablierte Praxis der Websicherheit und werden hier konzeptionell beschrieben; diese Seite nennt keine Escape-Sequenzen oder Umgehungsbeispiele.
Parametervalidierung
Jeder Parameter wird gegen Typ, Format, Bereich und Beziehung zu anderen Parametern geprüft: Beträge innerhalb von Grenzen, Datumswerte im erwarteten Zeitraum, Kennungen im erwarteten Format, Anzahlen innerhalb von Limits. Verweise, etwa ein Datensatzname auf seine Kennung, löst die Anwendung auf, statt vom Modell erfundene Kennungen zu übernehmen.
Zielsyntax versus Zielberechtigung
Ziele brauchen zwei getrennte Prüfungen. Die Validierung bestätigt, dass eine Adresse, URL, ein Pfad, Kanal oder eine Empfängerkennung wohlgeformt, vom erwarteten Typ und innerhalb der erklärten Form für die Senke ist. Ob dieses Ziel für diesen Principal, diese Aufgabe und diese Daten erlaubt ist, entscheiden Autorisierung und Informationsflusskontrolle.
Freitextfelder in gültigen Strukturen
Zusammenfassungen, Nachrichtentexte, Kommentare und Beschreibungen sind legitimer Freitext. Validierung kann Größe und Kodierung begrenzen und bestätigen, dass sie im richtigen Feld stehen. Ihre Bedeutung kann sie nicht bestätigen. Sie bleiben für jeden nachgelagerten Verbraucher variable Daten, auch für andere Modelle, und werden beim Rendern kodiert.
Gerenderte Ausgabe und implizite Anfragen
Wird Ausgabe in einem Browser oder Client gerendert, können manche Konstrukte ohne Nutzeraktion Anfragen auslösen, etwa automatisch geladene Bilder oder Vorschauen. Solche Anfragen können Daten an ein externes Ziel tragen. Validierung kann einschränken, welche Ausgabestrukturen erlaubt sind; welche externen Ziele kontaktiert werden dürfen, entscheidet die Fluss- und Egress-Policy. Inhalte, die verborgenen Kontext offenlegen könnten, wie bei der System-Prompt-Extraktion beschrieben, sind ein getrenntes Offenlegungsthema.
Mehrstufige Ausgabe und Agent-zu-Agent-Ausgabe
In Agenten-Workflows ist die Ausgabe eines Schritts die Eingabe des nächsten. Validiert wird an jeder Grenze, an der Ausgabe zu einem Tool Call, einer Übergabe oder einem gespeicherten Artefakt wird, nicht nur bei der Endantwort. In Multi-Agent-Systemen bleibt eine validierte Übergabenachricht für den empfangenden Agenten variabler Inhalt.
Verhalten bei Fehlern
Ein Validierungsfehler darf nie dazu führen, dass die rohe Ausgabe genutzt wird. Der Schritt wird abgelehnt, der Orchestrator erhält einen strukturierten Fehler, und nach Risikostufe wird entschieden, ob wiederholt, in einen eingeschränkten Modus gewechselt oder gestoppt wird. Der Fehler wird mit Verweis auf die abgelehnte Ausgabe und die verletzte Regel erfasst.
Reparatur- und Wiederholungsschleifen
Das Modell um eine Korrektur ungültiger Ausgabe zu bitten, ist üblich. Sicher bleibt es so: Wiederholung gegen dasselbe Schema, begrenzte Anzahl von Versuchen und nie eine Lockerung des Vertrags, damit Ausgabe besteht. Automatische Reparatur durch die Anwendung, etwa Kürzen oder Umwandeln von Werten, muss deterministisch, dokumentiert und auf Fälle begrenzt sein, in denen der reparierte Wert eindeutig ist.
Verhältnis zu anderen Kontrollen
| Kontrolle | Darf Validierung nutzen, um | Darf Validierung nicht nutzen, um |
|---|---|---|
| Agentenautorisierung | Eine vollständig aufgelöste, typisierte Aktion zu bewerten | Eine gültige Aktion als erlaubt zu behandeln |
| Informationsflusskontrolle | Ein wohlgeformtes Ziel und eine Datenreferenz zu erhalten | Ein wohlgeformtes Ziel als erlaubt zu behandeln |
| Human-in-the-Loop | Prüfenden die exakte validierte Aktion zu zeigen | Eine Freigabe zu überspringen, weil die Validierung bestanden wurde |
| Erkennung von Prompt Injection | Validierungsfehler mit anderen Signalen zu korrelieren | Bestandene Validierung als Abwesenheit eines Angriffs zu werten |
| Spotlighting / Datenmarkierung | Nichts direkt; Markierung wirkt auf der Eingabeseite | Anzunehmen, dass markierte Eingaben gültige Ausgaben erzeugen |
Durchgespieltes Szenario
Synthetisches Beispiel. Ein Finanzassistent kann Rechnungen abrufen und über ein typisiertes Tool Zahlungsentwürfe mit den Feldern Rechnungskennung, Betrag, Währung und Empfängerkonto anlegen. Er verarbeitet eine Lieferanten-E-Mail, deren Text einen synthetischen Testmarker enthält, der als Anweisung formuliert ist, an ein anderes Konto zu zahlen und im Notizfeld eine Freitextabfrage nach "allen offenen Rechnungen" einzufügen.
| Gate | Beobachtung | Ergebnis |
|---|---|---|
| Parser | Die Modellausgabe lässt sich als Schema des Zahlungsentwurfs parsen | Kandidat zur Validierung angenommen |
| Validator | Betrag innerhalb der Grenzen, Währung aus der Allowlist, Empfängerkonto wohlgeformt, Notiz innerhalb der Größengrenze | Gültig; keine Entscheidung über die Berechtigung |
| Auflösung von Verweisen | Rechnungskennung von der Anwendung aufgelöst; Empfänger weicht vom Lieferantenstammsatz ab | Abweichung als Fakt für nachgelagerte Kontrollen erfasst |
| Autorisierung | Empfänger ist kein freigegebenes Konto dieses Lieferanten | Abgelehnt |
| Kodierung | Notiz in der Entwurfsansicht mit Ausgabekodierung gerendert; nie ausgeführt | Als Text angezeigt |
| Erkennung | Ablehnung, nachdem eine externe E-Mail in den Kontext gelangt ist | Signal erfasst |
In einer harmlosen Variante bittet die E-Mail um Zahlung der aufgeführten Rechnung an das hinterlegte Konto. Die Ausgabe ist gültig, der Empfänger stimmt mit dem Stammsatz überein, die Autorisierung erlaubt einen Entwurf, und der Entwurf geht wie üblich zur menschlichen Freigabe.
Was das Szenario zeigt und was nicht
Es zeigt, dass die Validierung eine wohlgeformte, aber schädliche Anfrage passieren lässt und die Autorisierung sie stoppt, was der beabsichtigten Arbeitsteilung entspricht. Es zeigt, dass Kodierung Freitext beim Rendern wirkungslos hält. Es zeigt nicht, dass Validierung Manipulation erkennt, dass die Freitextnotiz harmlos war oder dass die harmlose Variante aus einem anderen Grund sicher war als durch das Zusammenspiel der Kontrollen.
Telemetrie und Evidenz
Pro Validierung erfassen
- Korrelations-ID, die Anfrage, Modellausgabe und Aufruf der Senke verbindet
- Senke, Schemakennung und Schemaversion
- Ergebnis (angenommen oder abgelehnt) und bei Ablehnung die verletzte Regel
- Verweis auf die rohe Ausgabe, geschützt wie die Daten, die sie enthalten kann
- Reparatur- oder Wiederholungsversuche und ihre Ergebnisse
- Nachgelagerte Autorisierungs- und Flussentscheidungen getrennt erfasst
Bedeutung für Incident Response
Wenn Ausgabe unerwartet eine Senke erreicht hat
- Modellausgabe, validierten Wert und Anfrage an die Senke sichern
- Getrennt klären, ob der Wert gültig, autorisiert und korrekt kodiert war
- Die Schemalücke oder den Freitextpfad identifizieren, der es ermöglicht hat
- Den Vertrag verengen, Allowlists ergänzen oder Freitext durch strukturierte Operationen ersetzen
- Einen bereinigten synthetischen Fall ins Regressionsset aufnehmen
Kontrolliertes Testen
Jeder Senkenvertrag wird mit synthetischen Ausgaben getestet: fehlerhafte Strukturen, fehlende und zusätzliche Felder, Werte außerhalb des Bereichs, falsche Typen, wohlgeformte, aber nicht erlaubte Ziele und übergroßer Freitext. Tests laufen in isolierten Umgebungen mit harmlosen Senken und Testidentitäten. Geprüft wird sowohl, dass die Validierung ablehnt, was sie ablehnen soll, als auch, dass die Autorisierung wohlgeformte, aber nicht erlaubte Aktionen unabhängig ablehnt. Eine wiederverwendbare Bibliothek von Injection-Zeichenketten für Interpreter wird nicht gepflegt.
Metriken
Jede Kennzahl behält ihren eigenen Nenner. Es gibt keinen Gesamtscore, und der Nutzen für harmlose Aufgaben wird getrennt berichtet.
| Kennzahl | Zähler | Nenner |
|---|---|---|
| Vertragsabdeckung | Senken mit erklärtem, versioniertem Schema | Senken, die Modellausgaben verarbeiten |
| Exposition gegenüber Freitext-Senken | Senken, die ausführbaren Freitext von Modellen annehmen | Senken, die Modellausgaben verarbeiten |
| Korrekte Ablehnung | Gelabelte ungültige Testausgaben, die abgelehnt wurden | Gelabelte ungültige Testausgaben |
| Rate falscher Ablehnungen | Gelabelte gültige Testausgaben, die abgelehnt wurden | Gelabelte gültige Testausgaben |
| Unabhängige Ablehnungsrate | Wohlgeformte, aber nicht erlaubte Testaktionen, die Autorisierung oder IFC ablehnten | Wohlgeformte, aber nicht erlaubte Testaktionen |
| Anzahl roher Rückfälle | Ausführungen mit nicht validierter Ausgabe | Ausführungen, die Modellausgaben verarbeiten |
| Rate erschöpfter Wiederholungen | Schritte, die nach maximaler Wiederholungszahl scheiterten | Schritte mit mindestens einer Wiederholung |
| Nutzen für harmlose Aufgaben | Akzeptabel erledigte harmlose Aufgaben | Versuchte harmlose Aufgaben |
Häufige Fehler
- 01Gültig als erlaubt
Eine Aktion ausführen, weil sie die Schemavalidierung bestanden hat.
- 02Ausführbaren Text validieren
Vom Modell geschriebene Abfragen oder Befehle auf Schlüsselwörter prüfen und dann ausführen.
- 03Validierung statt Kodierung
Annehmen, dass ein validierter Text beim Rendern keine Kodierung braucht.
- 04Ziel-Policy im Validator
Über erlaubte Domains oder Empfänger innerhalb von Formatprüfungen entscheiden.
- 05Nachsichtiges Parsing
Strukturen aus umgebendem Fließtext herauslösen.
- 06Roher Rückfall
Bei fehlgeschlagener Validierung die rohe Ausgabe nutzen.
Umsetzungscheckliste
Bevor man sich auf Ausgabevalidierung verlässt
- Jede Senke, die Modellausgaben verarbeitet, hat ein erklärtes, versioniertes Schema
- Strenges Parsing mit Ablehnung unbekannter, doppelter und fehlender Felder
- Allowlists für Operationen, Tools, Formate und Aufzählungen
- Kein ausführbarer Freitext; stattdessen strukturierte Operationen und parametrisierte Aufrufe
- Kodierung und Parametrisierung getrennt von der Validierung angewendet
- Zielformat hier validiert; Zielberechtigung durch Autorisierung und IFC entschieden
- Kein roher Rückfall; begrenzte Wiederholungen gegen dasselbe Schema
- Validierung an jeder Schrittgrenze in Agenten-Workflows
- Autorisierung, Flusskontrolle und Least Privilege unabhängig durchgesetzt
Standards und Quellen
Herangezogene Standards und Leitlinien
- OWASP GenAI Security Project
- LLM01:2026 Prompt Injection
- OWASP Cheat Sheet Series
- Injection Prevention, Query Parameterization, Cross Site Scripting Prevention
- Microsoft
- Defend against indirect prompt injection attacks (Herstellerleitlinie)
Zur Quellennutzung: OWASP LLM01:2026 ist die aktuelle Klassifikation für Prompt Injection, den Mechanismus, der Modellausgaben prägen kann. OWASP behandelt das nachgelagerte Risiko unsachgemäß verarbeiteter Modellausgaben als LLM10:2026 Improper Output Handling. Die OWASP Cheat Sheets sind etablierte allgemeine Leitlinien der Websicherheit zu parametrisierten Operationen, Allowlist-Validierung und kontextgerechter Ausgabekodierung; sie sind nicht spezifisch für Sprachmodelle. Microsofts Leitlinie ist eine Herstellerleitlinie, die eine mehrschichtige Strategie aus probabilistischen und deterministischen Maßnahmen empfiehlt. Diese Seite nennt keine Wirksamkeitszahlen.
Häufige Fragen
Bedeutet gültige Ausgabe, dass die Aktion erlaubt ist?
Nein. Validierung prüft die Form. Die Autorisierung entscheidet unabhängig über die Berechtigung.
Kann Validierung vom Modell geschriebenes SQL oder Shell-Befehle sicher machen?
Nein. Vorzuziehen sind strukturierte Operationen und parametrisierte Aufrufe, bei denen das Modell Werte liefert und keinen ausführbaren Text.
Ist Ausgabekodierung Teil der Validierung?
Nein. Validierung nimmt an oder lehnt ab; Kodierung, Escaping und Parametrisierung sind getrennte sichere Übergabe an die Senke.
Sollte der Validator entscheiden, welche Ziele erlaubt sind?
Nein. Er prüft Syntax und Typ des Ziels. Die Berechtigung bleibt bei Autorisierung und Informationsflusskontrolle.
Reichen Funktionen für strukturierte Ausgabe in Modell-APIs aus?
Sie helfen, die richtige Form zu erzeugen, doch die Anwendung muss trotzdem streng parsen und validieren.
Was passiert, wenn die Validierung fehlschlägt?
Der Schritt wird abgelehnt und nie mit roher Ausgabe ausgeführt. Wiederholungen nutzen dasselbe Schema und sind begrenzt.
Brauchen Freitextfelder mehr als Validierung?
Ja. Sie bleiben für jeden Verbraucher variable Daten und brauchen beim Rendern Kodierung.
Erkennt Validierung Prompt Injection?
Nicht zuverlässig. Fehler können ein Erkennungssignal sein, doch bestandene Validierung sagt nichts über die Abwesenheit eines Angriffs.
Wo sollte in Agenten-Workflows validiert werden?
An jeder Grenze, an der Ausgabe zu einem Tool Call, einer Übergabe oder einem gespeicherten Artefakt wird.
Was begrenzt den Schaden, wenn eine gültige, aber schädliche Aktion durchkommt?
Least Privilege, Autorisierung, Flusskontrolle und für ausgewählte Aktionen die menschliche Freigabe.
Quellen
- OWASP GenAI LLM Top 10 2026 (LLM01:2026 Prompt Injection)OWASP GenAI Security Project · GuidanceGeprüft 2026-09-26
- Injection Prevention Cheat SheetOWASP Cheat Sheet Series · GuidanceGeprüft 2026-09-26
- Query Parameterization Cheat SheetOWASP Cheat Sheet Series · GuidanceGeprüft 2026-09-26
- Cross Site Scripting Prevention Cheat SheetOWASP Cheat Sheet Series · GuidanceGeprüft 2026-09-26
- Defend against indirect prompt injection attacksMicrosoft Learn · GuidanceGeprüft 2026-09-26