Improper Output Handling

Angriffsfläche
  • Ausgabe / Aktion

Vom Modell erzeugte Inhalte werden nachgelagert weitergereicht — an eine Shell, eine Abfrage, einen Browser, ein Terminal, eine Deployment-Pipeline, einen anderen Agenten —, ohne dass sie validiert oder kodiert werden, sodass der Text des Modells zu einem Ausführungspfad wird.

Was es ist

Fehlerhafte Ausgabeverarbeitung ist eine Lücke zwischen dem, was ein Modell erzeugt, und dem, was ein nachgelagertes System damit macht: Wird die Ausgabe nicht ausreichend validiert, bereinigt oder kodiert, bevor sie eine Shell, eine Datenbank, einen Browser, ein Terminal oder einen anderen Agenten erreicht, wird generierter Text zu einem Ausführungspfad. Da der Prompt die Ausgabe formt, kontrolliert ein Angreifer, der die Eingabe kontrolliert, indirekt auch, was ausgeführt wird. Das Modell ist ein nicht vertrauenswürdiger Vermittler, kein Client, dessen Text man standardmäßig vertrauen darf.

Die Abgrenzung zu den Nachbarn ist scharf: Dieser Eintrag betrifft die unsichere Verwendung von Ausgaben, Misinformation (LLM07) falsche Ausgaben, Prompt Injection (LLM01) die Validierung von Eingaben. 2026 fiel er vom fünften auf den zehnten Platz, obwohl sein Umfang wuchs. Er umfasst jetzt unsicheren Code, den Assistenten in großer Menge erzeugen und ohne Review ausliefern, Steuerzeichen, die ein Terminal oder Log-Viewer interpretiert, und Chat-Anwendungen, die alles abrufen, worauf ein Markdown-Bild in der Ausgabe verweist.

Das Risiko verstärkt sich in einem agentischen System, in dem die Ausgabe eines Agenten routinemäßig zur Eingabe eines anderen wird. Ein nachgelagerter Agent, der dem generierten Text eines Peers so vertraut wie seinem eigenen Reasoning, übernimmt jede unvalidierte Payload des vorgelagerten Agenten, ohne Aufzeichnung darüber, woher sie stammt.

Arten

Code- und Befehls-Injektion
Generierter Text erreicht eine Shell oder eine Funktion wie exec oder eval, oder generierter Code wird ohne Review kompiliert und ausgerollt.
Markup- und Skript-Injektion
Generiertes JavaScript oder Markdown wird ohne Bereinigung gerendert und erzeugt Cross-Site-Scripting — oder eine automatisch geladene Bild-URL exfiltriert Gesprächsdaten.
Abfrage- und Pfad-Injektion
Ein generiertes SQL-Fragment oder ein Dateipfad wird ohne Parametrisierung oder Bereinigung verwendet und verlässt so seinen vorgesehenen Bereich.
Steuerzeichen-Injektion
ANSI-Escape-Sequenzen in einer Ausgabe, die in ein Terminal, einen Log-Viewer oder eine IDE geschrieben wird, ermöglichen optische Täuschung oder das Kapern der Zwischenablage.

Angriffsszenarien

In einem Multi-Agenten-System

Ein von einem Agenten erzeugtes SQL-Fragment wird direkt in eine Live-Abfrage eingefügt, und ein eingeschleustes Zeichen lässt die Abfrage über die eigenen Datensätze des Aufrufers hinaus lesen.

Unvalidierte privilegierte Erweiterung

Ein Allzweck-Modell gibt seine Antwort ohne Ausgabevalidierung direkt an eine privilegierte Erweiterung weiter, und die Erweiterung handelt auf Basis von Inhalten, die sie als nicht vertrauenswürdig hätte behandeln müssen.

Exfiltration über den Zusammenfasser

Ein Agent, der Webseiten zusammenfasst, verarbeitet eine in der Seite versteckte Anweisung, kodiert vertrauliche Gesprächsinhalte und sendet sie an einen Server des Angreifers.

Destruktives generiertes SQL

Eine Chat-Funktion lässt Nutzer eine Datenbankabfrage in natürlicher Sprache anfordern. Das SQL des Modells läuft ohne Prüfung, und eine destruktive Anfrage löscht Produktionstabellen.

Automatisch ausgerollter generierter Code

Eine Anwendung kompiliert vom Modell erzeugten Code und rollt ihn ohne Review oder Sicherheitstests aus. Der unsichere Code erreicht die Produktion und wird ausgenutzt.

Abwehrmaßnahmen

Modellausgabe als nicht vertrauenswürdige Eingabe behandeln
Jede Modellantwort nach dem Zero-Trust-Prinzip validieren, bevor sie eine Backend-Funktion erreicht, im Einklang mit Output Validation / Schema Enforcement.
Ausgabe für ihr Ziel kodieren
Für das Ziel kodieren, das die Ausgabe erreicht, parametrisierte Abfragen verwenden, Steuerzeichen vor dem Schreiben in Terminals und Logs entfernen und das automatische Laden von Bildern und Link-Vorschauen abschalten.
Ausführbares sandboxen und prüfen
Generierten Code oder generierte Befehle innerhalb von Sandbox Execution isoliert vom Host ausführen und generierten Code nie ohne Review und Sicherheitstests ausrollen.
Ausgehende Muster protokollieren und überwachen
Der Audit Trail hält fest, was das System verlassen hat, und macht so aus einem einzelnen Exploit-Versuch ein erkennbares Muster.

Sicherheit

Wohin als Nächstes

Suche

Patterns, Frameworks und Seiten durchsuchen.