Was ist Tool-Output-Injection?
Tool-Output-Injection ist indirekte Prompt Injection über die Daten, die ein Tool an das Modell zurückliefert. Träger können ein Browser- oder Fetch-Tool, ein Connector, ein Retriever, ein API-Wrapper, ein Plugin, ein Datenbank-Client, ein interner Service-Adapter oder ein weiterer Agent sein, der als Tool aufgerufen wird. Der beeinflussende Inhalt erreicht das AI-System auf der Antwortseite eines Tool-Aufrufs, also nachdem die Anwendung den Aufruf bereits als zulässig bewertet hat.
Die aufrufende Komponente kann dabei völlig legitim sein: authentifiziert, signiert, intern betrieben und korrekt implementiert. Das sagt etwas über Transport und Betreiber aus. Über die Autorität des transportierten Inhalts sagt es nichts, denn dieser Inhalt stammt in der Regel aus einem externen oder teilweise angreiferbeeinflussten System.
Modellbeeinflussung ist außerdem nicht automatisch eine Sicherheitsauswirkung. Ein Tool-Ergebnis kann einen Plan, eine Zusammenfassung oder einen vorgeschlagenen Folgeaufruf verändern, ohne dass etwas sicherheitsrelevant passiert. Eine echte Auswirkung braucht zusätzlich erreichbare Daten oder Fähigkeiten und eine fehlende, zu weite oder versagende deterministische Kontrolle.
Vertrauenswürdiges Tool versus vertrauenswürdiger Inhalt
| Eigenschaft | Was sie belegt | Was sie nicht belegt |
|---|---|---|
| Tool-Identität und Signatur | Welche Komponente den Aufruf ausgeführt hat | Dass der zurückgelieferte Inhalt autoritativ ist |
| Transportsicherheit | Integrität und Vertraulichkeit auf dem Weg | Integrität der Bedeutung an der Quelle |
| Erfolgreicher Statuscode | Dass die Anfrage definitionsgemäß abgeschlossen wurde | Dass die Nutzlast harmlos oder zutreffend ist |
| Schema-Gültigkeit | Dass die Struktur erwartbar und parsebar ist | Dass Feldtexte keine anweisungsartige Semantik enthalten |
| Interner Betrieb | Wer den Dienst betreibt | Wer den einzelnen Datensatz oder das Feld geschrieben hat |
| Aufrufautorisierung | Dass die Anfrage erlaubt war | Dass die Antwort spätere Aktionen steuern darf |
Viele produktive Tools wirken als Multiplexer: eine vertrauenswürdige Schnittstelle vor vielen Inhaltsautoren. Ein CRM-Tool liefert Notizen von Kundinnen und Kunden, ein Ticket-Tool liefert Text von Meldenden, ein Browser-Tool liefert Seiten beliebiger Herkunft. Die Vertrauensentscheidung gehört deshalb zum Inhalt und zu seiner Provenienz, nicht zur Komponente.
Umfang und verwandte Angriffsklassen
| Klasse | Bestimmender Mechanismus | Primäre Grenze |
|---|---|---|
| Tool-Output-Injection | Von einem Tool zurückgelieferter Inhalt beeinflusst Modell, Plan oder Folgeaktion | Ergebnisprovenienz, Kontextaufbau und Aktionsautorisierung |
| Direkte Prompt Injection | Die Nutzereingabe selbst konkurriert mit Anwendungsanweisungen | Eingabeverarbeitung und Anwendungsautorität |
| Website-, E-Mail-, Dokument-, Such- und RAG-Injection | Eine bestimmte externe Quellklasse wird modellsichtbar | Abruf- und Transformationspfad dieser Quelle |
| Tool Description oder Tool Registration Poisoning | Der Tool-Katalog selbst enthält manipulativen Text | Registry-Integrität und Tool-Onboarding |
| Tool-Selection-Manipulation | Die Auswahl des genutzten Tools wird gesteuert | Tool-Retrieval, Ranking und Auswahlrichtlinie |
| Kompromittiertes Tool oder MCP-Server | Die Komponente selbst ist unterwandert | Supply Chain, Deployment und Komponentenintegrität |
| Improper Output Handling | Nachgelagerte Systeme verarbeiten Modell- oder Tool-Ausgaben unsicher | Encoding, Sanitisierung und Sink-Sicherheit |
| Code- oder Command-Injection | Daten werden in einem Interpreter zu ausführbaren Anweisungen | Parsing, Ausführung und Laufzeitisolation |
Tool Description oder Tool Registration Poisoning, auf dieser Website als MCP-Tool-Metadaten-Injection behandelt, wirkt vor jedem Aufruf auf den Katalog; Tool-Output-Injection beginnt nach dem Aufruf.
In realen Vorfällen treten diese Klassen kombiniert auf. Eine über ein Browser-Tool erreichte manipulierte Seite ist zugleich Website Prompt Injection und Tool-Output-Injection; derselbe Inhalt wird nach Indexierung zu RAG Prompt Injection. Dieser Artikel behandelt das gemeinsame Primitive: den Moment, in dem von einem Tool gelieferte Daten in den Modellkontext gelangen und den nächsten Schritt beeinflussen können.
Tool-Selection-Manipulation bleibt bewusst außen vor. Forschung zu dieser Klasse, etwa ToolHijacker, zielt auf die Tool-Bibliothek und den Auswahlschritt vor dem Aufruf. Tool-Output-Injection beginnt nach dem Aufruf und betrifft die Antwort.
Die Tool-Aufruf-Pipeline
Tool, Parser und Policy sind Systemkomponenten unter Kontrolle des Betreibers. Die durchfließenden Daten sind standardmäßig untrusted. Eine Provenienz- und Vertrauensentscheidung kann ändern, wie ein Ergebnis gekennzeichnet, aufbewahrt und bewertet wird, macht aber aus externem oder nutzerbeeinflusstem Inhalt niemals eine autorisierte Anweisung: bekannte Provenienz ist keine Instruktionsautorität, und ein vertrauenswürdiger Verarbeiter ist keine vertrauenswürdige Nutzlast. Deployments unterscheiden sich: manche Agenten rufen ein einziges lesendes Tool auf, andere verketten Abruf, Transformation und mutierende Tools über viele Schritte.
Flächen von Tool-Ergebnissen
Seitentext, Titel, Metadaten und Linkziele beliebiger Herkunft.
Titel, Snippets, Beschreibungen und Ergebnis-URLs, ausgewählt von einem externen Anbieter.
Nachrichtentexte, Einladungen, Notizen und Kontaktfelder externer Parteien.
Meldetexte, Kommentare und Änderungsbeschreibungen aus großen Beitragendengruppen.
Text aus Extraktion, Konvertierung oder OCR über hochgeladene oder gespeicherte Dateien.
Gespeicherte Felder, deren ursprüngliche Autoren oft nicht die abfragende Anwendung sind.
Namen, Beschreibungen, Kommentare, Labels und Freitextattribute in gültigen Strukturen.
Meldungen, die häufig ohne Provenienz und ohne Kürzung in den Kontext übernommen werden.
Einträge mit extern gelieferten Werten wie User Agents, Pfaden oder Nutzlastfragmenten.
Verdichtete Sichten eines früheren Schritts, die die ursprüngliche Quellidentität verlieren können.
Ausgaben eines Sub-Agenten oder verketteten Tools, die bereits externen Inhalt enthielten.
All diese Inhalte können vollkommen legitim sein. Relevant sind sie hier, weil an diesen Stellen die Worte externer Autoren in einer systemartigen Hülle ankommen.
Daten versus Instruktionsautorität
Sprache in einem Tool-Ergebnis ist Evidenz über ein externes System. Ein Satz, der wie eine Anweisung klingt, bleibt zunächst Dateninhalt: Er kann beschreiben, was eine Kundin wünscht, was eine Seite behauptet oder was ein Datensatz enthält. Ihn als Workflow-Anweisung zu behandeln, ist eine Designentscheidung der Anwendung und fast immer die falsche.
Ergebnisbestandteile brauchen getrennte Behandlung, und strukturierte Ausgabe ist nicht dasselbe wie vertrauenswürdige Ausgabe. Ein JSON-Dokument, das gegen ein Schema validiert, liefert strukturelle Sicherheit über Form und Typen, kann aber in Freitextfeldern weiterhin extern verfassten Inhalt tragen; Schemagültigkeit sagt nichts über semantische oder Instruktionsvertrauenswürdigkeit aus. Innerhalb einer Antwort sollten vom System erzeugte Kontrollmetadaten wie Status, Identifikatoren und Typen getrennt in Kontext und Policy einfließen von Nutzlasttext, den eine externe Partei geschrieben hat. Strukturierte Felder, Identifikatoren, Statuscodes, Header und Freitextwerte haben unterschiedliche Vertrauenseigenschaften und sollten nicht vor dem Kontextaufbau zu einem undifferenzierten Textblock verschmelzen.
Anfrageseite versus Antwortseite
Aufrufautorisierung und Ergebnisbehandlung beantworten verschiedene Fragen. Die Aufrufautorisierung fragt, ob diese initiierende Identität in dieser Aufgabe dieses Tool mit diesen Argumenten gegen dieses Ziel aufrufen darf. Die Ergebnisbehandlung fragt, wie die zurückgelieferten Daten in den Kontext gelangen dürfen, welche Teile erhalten bleiben, welche Provenienz sie tragen und was sie beeinflussen dürfen.
Der Agent darf Ticket 4711 im Auftrag der initiierenden Support-Person lesen.
Das Ticket-Tool liefert die gespeicherte Beschreibung exakt so, wie eine externe meldende Person sie verfasst hat.
Ob diese Beschreibung die Aufgabe neu definieren, ein neues Tool wählen oder ein neues Ziel benennen darf, ist eine Entscheidung der Antwortseite.
Inhalt bleibt zugeordnete Daten; nur Anwendung und Policy bestimmen Ziel und Fähigkeitsrahmen.
Die Vermischung beider Ebenen erzeugt einen häufigen Architekturfehler: Weil der Aufruf die Autorisierung passiert hat, gilt alles Zurückgelieferte als Teil des genehmigten Workflows.
Provenienz, Transformation und modellsichtbare Repräsentation
Zwischen externem System und Modell liegt meist eine Kette von Transformationen, und jeder Schritt kann Quellidentität verlieren:
Der Ursprung, der den Inhalt hält oder erzeugt hat, samt eigener Beitragender.
Tool-Name, Version, initiierende Identität, Argumente, Ziel oder Ressource und Request-ID.
Status, Header, Body und Zeitstempel, als Hash oder Beweismittel aufbewahrt, soweit zulässig und praktikabel.
Die tatsächlich gelesene Ressource, wenn sie von der angefragten abweicht.
Komponente und Version, die die Antwort in Anwendungsobjekte überführt hat.
Der tatsächlich übernommene Ausschnitt, präzise genug identifiziert für spätere Prüfung.
Bereinigung, Kürzung und Verdichtung, die jeweils Zuordnung entfernen können.
Der exakte Text im Kontext, auf den das Modell überhaupt reagieren kann.
Provenienz muss all das überstehen. Eine Zusammenfassung, die nicht mehr nennt, aus welchem Datensatz, welcher URL oder welchem Feld sie stammt, lässt sich nicht prüfen, und eine prüfende Person kann Anwendungsaussage und Fremdsatz nicht mehr unterscheiden.
Untersuchungsgegenstand ist die modellsichtbare Repräsentation. Sie ist gegenüber der Rohantwort oft kürzer, umsortiert und umformatiert. Telemetrie, die nur die Rohnutzlast speichert, kann deshalb nicht erklären, was den Plan tatsächlich beeinflusst hat.
Mehrstufige und agentische Verstärkung
Ein einzelnes Ergebnis richtet selten allein Schaden an. Das Risiko wächst, wenn das Ergebnis den nächsten Schritt formt: eine weitere Suche, ein weiteres Tool, einen anderen Host, einen Dateipfad, einen Empfänger, einen Endpunkt oder eine Mutation. Das ist der Cross-Tool-Einfluss: Ergebnis A darf legitim beeinflussen, welches Tool B gegen welchen Host, welchen Empfänger oder welchen Pfad aufgerufen wird, aber es darf niemals selbst Tool-Berechtigung, Ziel-Freigabe oder Datenautorität erzeugen. In mehrstufigen Agenten wird Ausgabe zu Eingabe, und mit jedem Sprung kann die Beeinflussung weiterwirken, während die Zuordnung verblasst.
Eine Universalannahme über die Rechte eines Agenten ist nicht gerechtfertigt. Viele Deployments dürfen ausschließlich lesen. Andere dürfen Datensätze schreiben, Nachrichten senden, externe Endpunkte aufrufen oder Code ausführen. Jede dieser Fähigkeiten ist ein eigenes Gate, und jede Cross-Tool-Kante ist ein neues Autorisierungsgate: Dass Tool A vertrauenswürdig war oder sein Aufruf autorisiert wurde, überträgt keine Autorität auf Tool B oder dessen Parameter. Jedes Gate sollte gegen die aktuellen Parameter geprüft werden und nicht gegen die ursprüngliche Aufgabenfreigabe.
Offensive Perspektive für autorisierte Prüfungen
Für autorisierte Tests ist nicht die Frage entscheidend, ob ein Modell beeinflussbar ist. Das ist es meist. Entscheidend ist, welcher realistische Pfad von einer legitim kontrollierbaren Quelle zu einer sicherheitsrelevanten Wirkung führt und welches Gate ihn zuerst stoppt.
Ein Feld, Datensatz, eine Seite, Nachricht oder ein Ticket, das im Auftragsrahmen verändert werden darf.
Eine normale Aufgabe, die das Tool genau diese Quelle lesen lässt, kein manuell platzierter Kontexteintrag.
Ob Parsing, Feldauswahl, Normalisierung und Kürzung die relevante Passage erhalten.
Ob die Passage modellsichtbar wird und mit welcher Zuordnung und Struktur.
Welche weiteren Tools, Ziele, Datenklassen und Mutationen im Workflow existieren.
Welche dieser Folgeaktionen für die initiierende Identität deterministisch erlaubt sind.
Berichtet wird das tiefste tatsächlich beobachtete Gate. Ein beeinflusster Plan, der die Autorisierung nie passiert hat, ist ein Beeinflussungsbefund und keine unautorisierte Aktion. Diese Präzision macht das Ergebnis erst verwertbar. Die Seite beschreibt Barrieren und Messung; sie liefert keine wiederverwendbaren Injection-Strings, keine Verschleierung und keine Exfiltrationsprozedur.
Die Erfolgskette der Tool-Output-Injection
| Gate | Frage | Evidenz |
|---|---|---|
| Quellkontrolle | Lassen sich die Quelldaten überhaupt beeinflussen? | Schreibpfad, Berechtigungen und Review der Ursprungsdaten |
| Tool-Erreichbarkeit | Führt eine normale Aufgabe dazu, dass das Tool diese Quelle liest? | Aufgaben-Traces und Tool-Call-Logs |
| Abruf | Liefert der Aufruf das relevante Material zurück? | Rohantwort und Auswahlaufzeichnungen |
| Parsing-Überleben | Überstehen die relevanten Felder Adapter und Normalisierung? | Parser-Version und ausgewählte Passagen |
| Kontextaufnahme | Wird der Inhalt modellsichtbar und wie zugeordnet? | Exakter Snapshot des Modellkontexts |
| Planbeeinflussung | Ändern sich Plan, Zusammenfassung oder Tool-Wahl? | Plan- und Vorschlagsdiffs gegen einen Kontrolllauf |
| Fähigkeit | Existiert die benötigte Fähigkeit in diesem Deployment? | Tool-Inventar und vergebene Scopes |
| Policy | Stoppt deterministische Autorisierung die Aktion? | Policy-Entscheidungen und Freigabebindungen |
| Wirkung | Ist tatsächlich eine sicherheitsrelevante Wirkung eingetreten? | Ausgeführte Nebenwirkungen und Datenflussnachweise |
Konkurrierende Randbedingungen
Gründe, warum eine Kette abbricht
- Die Quelle ist über kein tatsächlich genutztes Tool erreichbar.
- Das Tool wird für die geprüften Aufgaben nie ausgewählt.
- Ergebnisfilterung oder Feldauswahl entfernt den relevanten Text.
- Normalisierung oder Kürzung entfernt die Passage vor dem Kontextaufbau.
- Die Zuordnung bleibt erhalten, der Inhalt erscheint also als externe Daten.
- Die vorgeschlagene Folgefähigkeit existiert im Deployment nicht.
- Ziel, Empfänger oder Datenklasse werden per Policy verweigert.
- Die Freigabe ist an die exakte Aktion gebunden und deckt die geänderte nicht ab.
- Egress-Kontrollen blockieren den vorgeschlagenen ausgehenden Pfad.
- Menschliche Prüfung oder Drift-Erkennung bemerkt die Abweichung vor der Ausführung.
Diese Randbedingungen sind zugleich die Entwurfsziele. Jede deterministische Schranke unterbricht die Kette. Je nachdem, an welcher Stelle sie hält, reicht das Ergebnis von gar keiner Modellexposition bis zu beobachtbarer Beeinflussung ohne sicherheitsrelevante Wirkung.
Offensive Review-Fragen
Welche externen Systeme darf der Agent lesen und wer darf dort Inhalte schreiben?
Welche Aufrufe erfolgen ohne Mensch in der Schleife und unter welcher Identität?
Welche Felder bleiben erhalten, wie wird normalisiert und ist die Zuordnung für Modell und Prüfende sichtbar?
Darf zurückgelieferter Text Tool-Wahl, Argumente, Hosts, Pfade oder Empfänger beeinflussen?
Sind Lesen, Schreiben, Senden, Ausführen und externe Aufrufe eigene Fähigkeiten mit eigenen Gates?
Sind ausgehende Hosts, Empfänger und Endpunkte unabhängig von der Modellausgabe freigegeben?
Hält der Agent dauerhaft verfügbare Secrets oder aufgabenbezogene, kurzlebige Fähigkeiten?
Deckt eine Freigabe die exakte Aktion, Parameter und das Ziel ab und wird sie bei Änderung neu bewertet?
Welche Zusammenfassungen, Caches, Memory-Einträge oder Indizes behalten das Ergebnis nach der Aufgabe?
Lassen sich Aufnahme, Beeinflussung, Vorschlag, Autorisierung und Ausführung nachträglich unterscheiden?
Beispielszenario: begrenzte Fallprüfung im Support
Ein Support-Agent-Workflow soll einen synthetischen Kundendatensatz zusammenfassen und einen nächsten Schritt vorschlagen. Ein kundenbeschreibbares Feld in den Testdaten enthält anweisungsartigen Text, der ein sachfremdes Ziel formuliert und ein anderes internes Tool sowie eine externe Empfängeradresse benennt.
Synthetischen Datensatz SUP-1042 zusammenfassen und einen nächsten Schritt für die Support-Person vorschlagen.
Autorisierter Lesezugriff auf SUP-1042 unter den Berechtigungen der Support-Person.
Der Datensatz wird getreu zurückgeliefert, einschließlich des kundenbeschriebenen Feldes.
Der Plan driftet: Das Modell schlägt vor, einen sachfremden Datenbestand zu lesen und eine Nachricht an eine externe Adresse zu senden.
Deterministische Autorisierung verweigert die sachfremde Datenklasse und den nicht freigegebenen Empfänger. Es verlässt keine Nachricht die Umgebung.
Erfasst als Modellbeeinflussung mit blockiertem Vorschlag, nicht als Kompromittierung oder Datenabfluss.
Das Szenario nutzt synthetische Daten, begrenzte Berechtigungen und umkehrbare Effekte. Sein Wert liegt darin, zu zeigen, welches Gate gehalten hat: Der Agent wurde beeinflusst, der Vorschlag war beobachtbar, und die deterministische Schicht außerhalb des Modells hat entschieden.
Fähigkeiten und Autorisierungsgrenzen
Ein Vorschlag ist eine Anfrage, keine Erlaubnis. Jede der folgenden Handlungen ist eine eigene Fähigkeit mit eigener Entscheidung: einen Datensatz lesen, eine Folgesuche ausführen, eine URL abrufen, eine Datei öffnen, eine Nachricht senden, einen Datensatz aktualisieren, ein Ticket anlegen, einen ausgehenden Netzaufruf tätigen und Code ausführen.
- 01Initiierende Identität
Jede Aktion gegen die aktuellen Rechte der startenden Person oder des startenden Dienstes prüfen, nicht gegen die maximale Reichweite des Agenten.
- 02Aufgabenbezogene Fähigkeit
Kurzlebige, eng begrenzte Fähigkeiten für die konkrete Aufgabe vergeben statt dauerhaft verfügbarer Zugriffe.
- 03Ziel und Datenklasse
Getrennt entscheiden, welche Ressourcen gelesen werden dürfen und welche Empfänger, Hosts oder Endpunkte Daten erhalten dürfen.
- 04Bindung an die exakte Aktion
Freigabe und Autorisierung an eine unveränderliche oder eindeutig identifizierbare Aktion, Ressource, ein Ziel, Parameter und Zustand binden, niemals pauschal an den Workflow.
- 05Neuautorisierung bei Änderung
Ändern sich relevante Parameter oder der zugrunde liegende Zustand zwischen Vorschlag und Ausführung, erneut autorisieren; eine pauschale Workflow-Freigabe ersetzt das nicht und schließt TOCTOU-Lücken.
- 06Trennung der Wirkungen
Vorschlagen, Lesen, Schreiben, Senden und Ausführen als unabhängig vergebbare Rechte führen.
Informationsfluss und Egress
Tool-Ergebnisse sind doppelt flussrelevant: Sie können sensible Daten enthalten und zugleich neue Ziele dafür vorschlagen. Ein Workflow, der vertrauliche Datensätze liest und beliebige ausgehende Endpunkte aufrufen darf, vereint beide Hälften eines Exfiltrationspfads in einem Agenten.
Flusskontrollen
- Ausgehende Ziele, Empfänger und Endpunkte unabhängig von der Modellausgabe freigeben.
- Daten klassifizieren und die Bewegung sensibler Klassen per Policy verbieten, nicht per Prompt.
- Provenienz mit dem Inhalt mitführen, damit Flussentscheidungen Herkunft und Ziel berücksichtigen.
- Dauerhaft im Agentenkontext verfügbare Secrets vermeiden und vermittelte, eng begrenzte Zugangsdaten bevorzugen.
- Zurückgelieferte und gespeicherte Felder minimieren, damit weniger sensible Daten überhaupt erreichbar sind.
- Versuchte und abgelehnte Flüsse als Sicherheitsereignisse protokollieren, nicht nur erfolgreiche.
Erkennung, Telemetrie und ihre Grenzen
- 01Initiierung
Initiierende Identität, Session, Aufgaben-ID und das formulierte Ziel.
- 02Vorschlag
Der vorgeschlagene Tool-Aufruf mit Tool-Name, Version, Argumenten und Ziel oder Ressource.
- 03Aufrufentscheidung
Ob der Aufruf autorisiert oder verweigert wurde, unter welcher Policy-Version und auf welcher Grundlage.
- 04Antwortbeleg
Status, Zeitstempel, Antwort-Hash oder aufbewahrte Nutzlast, soweit zulässig, sowie die finale Ressource bei Weiterleitung.
- 05Transformation
Versionen von Parser, Adapter und Normalizer sowie die exakt ausgewählten Felder und Passagen.
- 06Modellsichtbarer Kontext
Der genaue Text im Kontext mit Provenienz und Zuordnung je Passage.
- 07Planübergang
Der aktualisierte Plan und der daraus abgeleitete nächste Tool- oder Aktionsvorschlag.
- 08Freigabe
Welche Freigabe wann von wem erteilt wurde und an welche exakte Aktion und Parameter sie gebunden war.
- 09Ausgeführte Wirkung
Die tatsächlich eingetretene Nebenwirkung samt geschriebener, gesendeter oder übertragener Daten.
Nützliche Signale
- Aufgabendrift zwischen formuliertem Ziel und aktuellem Plan.
- Tool-Ketten-Drift hin zu Tools ohne Bezug zur Aufgabe.
- Autoritätsmissverhältnis, wenn externer Text als Anweisung behandelt wird.
- Erstmalig auftretende Ziele, Empfänger oder Endpunkte in diesem Workflow.
- Ausweitung des Umfangs in Argumenten, Pfaden oder Datensatzmengen.
- Abweichung zwischen Vorschlag und Ausführung nach der Freigabe.
- Wiederholtes Tool-Durchlaufen oder ungewöhnliche Verkettungstiefe.
- Unerwartete Bewegung einer sensiblen Datenklasse.
Prompt-Injection-Klassifikatoren, Ergebnis-Scanner und Heuristiken sind wertvolle Signale und können Annotate-and-Block-Kontrollen stützen, sie sind aber probabilistisch. Sie erzeugen falsch positive und falsch negative Befunde und dürfen weder alleinige Autorisierungskontrolle noch Beweis für die Unbedenklichkeit eines Ergebnisses sein. Auch Telemetrie belegt Abfolge und Korrelation, nicht die interne Kausalität im Modell.
Prävention und sichere Architektur
- Tool-Ergebnis
- Flach in den Kontext
- Modell entscheidet Folgeaktion
- Breite Dauerrechte
- Wirkung
Vertrauen folgt der Komponente, Zuordnung geht verloren, und faktisch wählt das Modell Fähigkeiten aus.
- Tool-Ergebnis
- Feldauswahl mit Provenienz
- Zugeordneter Kontext
- Modell schlägt vor
- Deterministische Policy
- Gebundene Freigabe
- Wirkung
Inhalt bleibt zugeordnete Daten, und jede Wirkung passiert eine Entscheidung außerhalb des Modells.
- 01Standardmäßig untrusted
Jedes Tool-Ergebnis als nicht vertrauenswürdig behandeln, solange keine eigene, explizite Provenienz- und Vertrauensentscheidung vorliegt.
- 02Provenienz und Feldgrenzen erhalten
Quellidentität, Feldgrenzen und Struktur sichtbar halten, statt alles zu einem Textblock zu verschmelzen.
- 03Zurückgelieferten Inhalt minimieren
Nur benötigte Felder auswählen, Größen begrenzen und keine vollständigen Nutzlasten in den Kontext kippen.
- 04Schema-bewusstes Parsing
Struktur und Typen validieren, dabei klar benennen, dass Schema-Gültigkeit kein semantisches Vertrauen ist.
- 05Kanäle trennen
Datenkanäle in der Prompt-Architektur von Anweisungs- und Konfigurationskanälen getrennt halten.
- 06Deterministische Autorisierung
Aktionen, Ressourcen und Ziele außerhalb des Modells in Code und Policy entscheiden.
- 07Least Privilege und aufgabenbezogene Tools
Nur die für eine Aufgabe nötigen Tools bereitstellen, mit engstem Umfang und kürzester Lebensdauer.
- 08Egress einschränken
Ausgehende Ziele und Datenklassen unabhängig von der Modellausgabe begrenzen.
- 09Freigabe an die exakte Aktion
Menschliche Freigaben an geprüfte Aktion, Parameter und Ziel binden und bei Änderung neu prüfen.
- 10Isolation
Ausführung und Dateiverarbeitung in Sandboxes ohne im Agentenkontext dauerhaft verfügbare Secrets und ohne sensiblen lokalen Zustand betreiben.
- 11Minimierung sensibler Daten
Sensible Werte redigieren oder zurückhalten, wo die Aufgabe sie nicht benötigt.
- 12Erkennung als Signal
Scanning und Anomalieerkennung zur Ereignisbildung nutzen, nie als Ersatz für Autorisierung.
- 13Abgeleiteten Zustand invalidieren
Lineage führen, damit Zusammenfassungen, Memory, Caches und Indizes gezielt invalidiert und neu aufgebaut werden können.
Persistenz und abgeleitete Artefakte
Tool-Ergebnisse enden oft nicht mit der Aufgabe. Sie fließen in Gesprächszusammenfassungen, Agent-Memory, Caches, Vektorindizes, erzeugte Tickets, Notizen und Berichte. Diese abgeleiteten Artefakte können den Quelldatensatz überdauern und in späteren Aufgaben, auch für andere Personen, ohne ursprüngliche Zuordnung wieder auftauchen.
Anforderungen an den Lebenszyklus
- Lineage von Quelle und Feld bis zu jedem abgeleiteten Artefakt aufzeichnen.
- Nicht annehmen, dass das Löschen der Quelle Zusammenfassungen, Caches, Embeddings oder Memory-Einträge entfernt.
- Gezielte Invalidierung und Neuaufbau aus geprüftem Zustand unterstützen.
- Memory und Caches nach Möglichkeit auf die initiierende Identität und die Aufgabe begrenzen, die sie erzeugt haben.
- Provenienz erneut anheften, wenn abgeleiteter Inhalt später wiederverwendet wird.
Incident Response
Checkliste für Tool-Output-Injection-Vorfälle
- Autonome Tool-Ausführung und ausgehende Aktionen pausieren, Zustand und Logs erhalten.
- Initiierende Identität, Session, Aufgabe und vollständige Tool-Call-Sequenz erfassen.
- Anfrage, Antwortbelege, Parser-Versionen, ausgewählte Passagen und exakten Modellkontext sichern.
- Pläne, Vorschläge, Policy-Entscheidungen, Freigaben und ausgeführte Wirkungen sichern.
- Folgeaufrufe, Mutationen, Nachrichten und ausgehende Verbindungen nachverfolgen.
- Beeinflussung, Vorschlag, Ausführung und bestätigte Datenexposition unterscheiden.
- Zugangsdaten nur rotieren, wenn Belege für Exposition, Nutzung oder Kontrollverlust vorliegen.
- Abgeleitete Zusammenfassungen, Caches, Memory- und Indexeinträge identifizieren und invalidieren.
- Den betroffenen Quelldatensatz korrigieren oder isolieren, ohne Beweismittel zu zerstören.
- Das versagte Gate mit synthetischem Inhalt und begrenzten Rechten erneut prüfen, bevor Automatisierung wieder anläuft.
Kontrollierte Sicherheitstests und Metriken
Getestet wird mit synthetischen Daten, begrenzten Berechtigungen und umkehrbaren Effekten in einer Umgebung, die die reale Tool-Topologie abbildet. Jedes Gate wird getrennt mit explizitem Nenner berichtet und nicht zu einer Gesamtzahl verrechnet, weil ein Summenwert verdeckt, welche Kontrolle tatsächlich gehalten hat.
| Metrik | Nenner | Was sie misst |
|---|---|---|
| Source Reachability Rate | Platzierte synthetische Quellen | Wie oft eine kontrollierte Quelle bei realistischen Aufgaben von einem Tool gelesen wird |
| Tool Result Inclusion Rate | Abgerufene Ergebnisse | Wie oft die relevante Passage modellsichtbar wird |
| Injection Influence Rate | Aufgenommene Ergebnisse | Wie oft sich Plan, Zusammenfassung oder Tool-Wahl gegenüber einem Kontrolllauf ändert |
| Follow-on Tool Proposal Rate | Beeinflusste Läufe | Wie oft ein weiterer Tool-Aufruf vorgeschlagen wird |
| Unauthorized Action Proposal Rate | Beeinflusste Läufe | Wie oft die vorgeschlagene Aktion den Aufgabenrahmen überschreiten würde |
| Policy Bypass Rate | Unautorisierte Vorschläge | Wie oft deterministische Kontrollen sie nicht gestoppt haben |
| Unauthorized Action Rate | Alle Testläufe | Wie oft eine Aktion außerhalb des Rahmens tatsächlich ausgeführt wurde |
| Data Exfiltration Success Rate | Versuchte ausgehende Flüsse | Wie oft synthetisch markierte Daten ein kontrolliertes unautorisiertes Ziel erreichten |
| Detection Recall | Bekannt injizierte Läufe | Anteil der vom Monitoring erkannten injizierten Läufe |
| False-Positive Rate | Saubere Läufe | Anteil unbedenklicher Läufe, die fälschlich gemeldet wurden |
| Containment Rate | Beeinflusste Fälle mit verfügbarem verbotenem Wirkungs- oder Aktionspfad | Anteil, der vor einer sicherheitsrelevanten Wirkung blockiert oder eingedämmt wurde |
Das Lab zur Tool-Output-Injection ist eine kontrollierte Simulation, um diese Grenzen zu üben: ein vertrauenswürdiges Tool mit nicht vertrauenswürdigem Inhalt, antwortseitige Ergebnisbehandlung sowie die Autorisierung von Folge-Tools, Zielen und Aktionen. Es nutzt nur fiktive Daten und enthält keine Payloads.
Ob eine erfolgreiche Beeinflussung für die nutzende Person sichtbar gewesen wäre, ist eine legitime zusätzliche Forschungsdimension. Neuere Arbeiten zu Tool-nutzenden Agenten zerlegen Angriffserfolg in verdeckte und offene Ergebnisse und argumentieren, dass die Sichtbarkeit im Antworttext das praktische Risiko verändert. Das gehört als attribuierte Nuance in den Bericht, nicht als Hauptmetrik.
Häufige Missverständnisse
Aussagen, die einer Prüfung nicht standhalten
- Das Tool ist vertrauenswürdig, also ist die Ausgabe vertrauenswürdig.
- Gültiges JSON bedeutet unbedenkliche Semantik.
- Die API hat 200 geliefert, also ist der Inhalt autoritativ.
- Das Modell hat ein freigegebenes Tool aufgerufen, also sind alle Folgeaktionen autorisiert.
- Der Scanner hat nichts gefunden, also ist das Ergebnis sicher.
- Jede Modellabweichung bedeutet Kompromittierung.
- Interne Systeme können keine extern verfassten Inhalte transportieren.
- Eine Zusammenfassung ist sicherer als das Rohergebnis, auch ohne Provenienz.
- Eine Freigabe zu Aufgabenbeginn deckt später geänderte Aktionen ab.
Standards und Forschungskontext
Geprüfte Standards, Leitlinien und Forschung
- OWASP GenAI Security Project
- LLM01:2026 Prompt Injection
- NIST
- NIST AI 100-2e2025, Glossar: indirect prompt injection, Glossar: resource control
- Microsoft
- Defend against indirect prompt injection attacks, Input, Context, and Retrieval Hygiene, Foundry Intervention Points, Agent Framework Agent Safety
- Forschung
- Greshake et al. 2023, AttriGuard 2026, Tool Result Parsing 2026, Covert und Overt Success 2026, ToolHijacker 2025
OWASP LLM01:2026 behandelt indirekte Injection über externe Quellen, die eine Anwendung verarbeitet. NIST definiert indirect prompt injection als Prompt Injection über resource control und definiert resource control gesondert als Kontrolle externer Ressourcen, die zur Inferenzzeit konsumiert werden. Beide beschreiben Mechanismus, nicht garantierte Auswirkung.
Die Zero-Trust- und Retrieval-Hygiene-Leitlinien von Microsoft empfehlen, externe Daten und Daten im Modellkontext als nicht vertrauenswürdig zu behandeln und Provenienz sowie Berechtigungen bei jedem Lesen und Schreiben zu erhalten. Microsoft Foundry dokumentiert Tool Response als Interventionspunkt, derzeit in der Preview, an dem die vollständige von einem Tool zurückgegebene Nutzlast auf indirekte Angriffe geprüft werden kann, bevor sie in den Agent-Speicher gelangt oder an die nutzende Person zurückgeht; die Interventionspunkte für Tool-Aufruf und Tool-Antwort gelten nur für die dort als unterstützt dokumentierten Tool-Pfade und nicht als allgemeine Eigenschaft von Foundry. Die Sicherheitsleitlinie des Microsoft Agent Framework behandelt Inhalte der Rolle Tool ausdrücklich als nicht vertrauenswürdig, weil von Tools gelieferte Daten aus externen oder nutzerbeeinflussten Quellen stammen können. Das sind Produktfähigkeiten und Empfehlungen und werden hier auch so benannt, nicht als universelle Eigenschaften.
Greshake et al. berichten die praktische Umsetzbarkeit indirekter Prompt Injection gegen reale LLM-integrierte Anwendungen. Neuere Arbeiten adressieren gezielt die Tool-Grenze: AttriGuard beschreibt adversariale Anweisungen in nicht vertrauenswürdigen Tool-Ausgaben und schlägt eine Laufzeitverteidigung über kausale Attribution von Tool-Aufrufen vor; eine Arbeit von 2026 schlägt Abwehr indirekter Prompt Injection über Tool Result Parsing vor; eine Studie von 2026 zerlegt Angriffserfolg aus Nutzersicht in verdeckte und offene Ergebnisse. ToolHijacker betrifft einen anderen Schritt, nämlich die Manipulation der Tool-Auswahl über die Tool-Bibliothek, und wird hier nur zur Abgrenzung genannt. Keine dieser Arbeiten wird hier als Angriffsprozedur reproduziert.
Häufige Fragen
Ist die Ausgabe sicher, wenn das Tool intern und authentifiziert ist?
Nein. Authentifizierung identifiziert die Komponente, nicht die Autorenschaft der gelieferten Daten. Interne Systeme speichern regelmäßig Texte von Kundinnen, Partnern oder externen Systemen.
Löst Schema-Validierung das Problem?
Nein. Schema-Validierung bestätigt Struktur und Typen. Anweisungsartige Sprache passt problemlos in ein gültiges Textfeld, strukturelle Gültigkeit sagt also nichts über Semantik.
Ist Tool-Output-Injection dasselbe wie Tool-Selection-Manipulation?
Nein. Tool-Selection-Manipulation zielt darauf, welches Tool gewählt wird, meist über die Tool-Bibliothek oder deren Beschreibungen. Tool-Output-Injection betrifft den Inhalt, der nach einem Aufruf zurückkommt.
Ist ein veränderter Modellplan bereits ein Vorfall?
Nicht zwingend. Die Einstufung hängt von der Richtlinie der Organisation ab, und manche Organisationen werten bereits die Modellbeeinflussung als Sicherheitsereignis oder Befund. Ein veränderter Plan belegt für sich genommen jedoch weder eine Kompromittierung noch eine unautorisierte Aktion oder einen Datenabfluss. Berichtet werden das tiefste tatsächlich beobachtete Gate und die tatsächlich eingetretene Wirkung.
Kann ein Prompt-Injection-Klassifikator Aktionen autorisieren?
Nein. Klassifikatoren sind probabilistische Signale mit falsch positiven und falsch negativen Befunden. Autorisierung muss deterministisch außerhalb des Modells erfolgen und an die exakte Aktion gebunden sein.
Wie sollten Fehler- und Logtexte behandelt werden?
Wie jedes andere Tool-Ergebnis: zugeordnet, minimiert und nicht vertrauenswürdig. Diagnosetext enthält häufig extern gelieferte Werte und wird oft ungeprüft in den Kontext übernommen.
Was gilt für Ergebnisse eines anderen Agenten?
Sie zählen als Tool-Ergebnisse. Ein Sub-Agent kann externen Inhalt verarbeitet haben, seine Ausgabe erbt diese Exposition und braucht Provenienz statt automatischem Vertrauen.
Ist das Problem erledigt, wenn der betroffene Datensatz gelöscht wird?
Nicht zwingend. Zusammenfassungen, Caches, Memory-Einträge und Indizes können fortbestehen, deshalb braucht es Lineage und gezielte Invalidierung.
Welche Kontrollen zählen in der Praxis am meisten?
Provenienzerhaltender Kontextaufbau, minimierte Rückgabefelder, aufgabenbezogene Tools mit Least Privilege, deterministische Ziel- und Aktionspolicy sowie an die exakte Aktion gebundene Freigaben.
Wie sollte das getestet werden?
Mit synthetischen Daten, begrenzten Berechtigungen und umkehrbaren Effekten, wobei jedes Gate getrennt mit explizitem Nenner gemessen wird statt über eine einzelne Erfolgszahl.
Quellen
- LLM01:2026 Prompt InjectionOWASP GenAI Security Project · GuidanceGeprüft 2026-09-20
- Adversarial Machine Learning: A Taxonomy and Terminology of Attacks and Mitigations, NIST AI 100-2e2025NIST · Standard · 2025-03Geprüft 2026-09-20
- indirect prompt injectionNIST Glossary · Technical documentationGeprüft 2026-09-20
- resource controlNIST Glossary · Technical documentationGeprüft 2026-09-20
- Defend against indirect prompt injection attacksMicrosoft Learn · GuidanceGeprüft 2026-09-20
- Input, Context, and Retrieval HygieneMicrosoft Learn · GuidanceGeprüft 2026-09-20
- Intervention points concepts (Microsoft Foundry)Microsoft Learn · Technical documentationGeprüft 2026-09-20
- Agent safety (Microsoft Agent Framework)Microsoft Learn · Technical documentationGeprüft 2026-09-20
- Not what you've signed up for: Compromising Real-World LLM-Integrated Applications with Indirect Prompt InjectionKai Greshake et al. · Research publication · 2023Geprüft 2026-09-20
- AttriGuard: Defeating Indirect Prompt Injection in LLM Agents via Causal Attribution of Tool InvocationsarXiv · Research paper · 2026-03Geprüft 2026-09-20
- Defense Against Indirect Prompt Injection via Tool Result ParsingarXiv · Research paper · 2026-01Geprüft 2026-09-20
- Will the User Ever Know? Covert Indirect Prompt Injection Attacks on Tool-Using LLM AgentsarXiv · Research paper · 2026-08Geprüft 2026-09-20
- Prompt Injection Attack to Tool Selection in LLM AgentsarXiv · Research paper · 2025-04Geprüft 2026-09-20