Threat
Memory and Context Poisoning
Memory and Context Poisoning bei KI-Agenten beschreibt, wie falsche oder manipulative Inhalte in Arbeitskontext, Session-Summaries oder Langzeit-Memory gelangen und spätere Antworten, Entscheidungen und Tool-Aktionen beeinflussen. Die Seite erklärt Definition, Abgrenzung, Detection und konkrete Gegenmassnahmen.
Schnellantwort
- Was betroffen ist
- Betroffen sind KI-Agenten mit wiederverwendetem Kontext, also Langzeit-Memory, Session-Summaries, RAG, Planner-State, Nutzerprofilen und geteilten Notizen zwischen Agenten oder Workflows.
- Warum es gefährlich ist
- Vergifteter Kontext wirkt über die aktuelle Anfrage hinaus. Dadurch werden spätere Antworten, Entscheidungen, Empfehlungen und Tool-Aktionen auf einer falschen Grundlage ausgeführt.
- Wie es passiert
- Typische Eintrittspfade sind indirekte Prompt Injection über Webseiten, E-Mails, Dokumente, Kalenderinhalte, Dateinamen, RAG-Quellen oder unkontrollierte Memory-Writes und Summaries.
- Wie man es reduziert
- Wirksam sind strikte Trennung von Daten und Instruktionen, validierte Memory-Writes, Provenance und TTL für gespeicherte Einträge, tenant-scharfe Isolation, Least Privilege und gute Telemetrie für Retrieval, Memory und Tool-Nutzung.
Was ist Memory and Context Poisoning bei KI-Agenten?
Memory and Context Poisoning beschreibt einen Laufzeit- und State-Integrity-Fehler in agentischen Systemen. Ein Agent übernimmt Inhalte aus untrusted Quellen in seinen Arbeitskontext oder in persistenten Speicher und behandelt sie später wie vertrauenswürdige Information. Genau diese Persistenz unterscheidet den Threat von rein transienten Fehlsteuerungen.
Für agentische Systeme ist das besonders kritisch, weil sie nicht nur antworten, sondern mehrstufig handeln: Sie lesen externe Inhalte, verdichten Historien, schreiben Memory, priorisieren nächste Schritte und nutzen Tools. Sobald der Zustand kippt, wird aus einer einmaligen Manipulation ein wiederkehrender Fehler in späteren Runs.
In der Praxis kann der vergiftete Zustand an mehreren Stellen entstehen:
- im aktuellen Session-Kontext
- in automatischen Session-Summaries
- in Langzeit-Memory oder “saved info”
- in RAG-Indizes oder Retrieval-Caches
- in Planner-Artefakten, Notizen oder Shared Context
Besonders kritisch ist das in Unternehmen, weil Agenten heute nicht nur antworten, sondern mit Tools arbeiten, Entscheidungen vorbereiten und Aktionen auslösen. Sobald der gespeicherte Zustand korrupt ist, startet jeder spätere Workflow mit einer manipulierten Ausgangslage. Deshalb führt OWASP Memory & Context Poisoning inzwischen als eigene agentische Risikokategorie.
Wie funktioniert Memory and Context Poisoning?
Der typische Ablauf ist kein einzelner Exploit, sondern eine Kette aus Ingestion, Fehlklassifikation, Speicherung und späterer Wiederverwendung. Besonders anfällig sind Systeme, die externe Inhalte lesen, automatisch zusammenfassen und Ergebnisse ohne harte Kontrollpunkte wieder in Prompts oder Planner-State einspeisen.
Ein Agent verarbeitet untrusted Inhalt aus Webseite, E-Mail, Dokument, Dateiname, Kalender-Eintrag, API-Response oder Nutzeranfrage.
Der Inhalt wird nicht nur gelesen, sondern in Session-Kontext, Summary, Langzeit-Memory oder Retrieval-Index übernommen.
Das System trennt Daten und Instruktionen nicht sauber oder validiert Memory-Writes nicht streng genug.
Bei einem späteren Task wird der gespeicherte Eintrag erneut in den Prompt, Planner-State oder Retrieval-Prozess eingeführt.
Der Agent behandelt die vergiftete Information als legitim und verändert daraufhin Prioritäten, Antworten, Empfehlungen oder Tool-Auswahl.
Ohne TTL, Revisionen, Quarantäne oder Rollback bleibt der Zustand bestehen und kann sich über Sitzungen, Nutzer oder weitere Agenten ausbreiten.
flowchart TB
source[Untrusted Quelle wie Upload, API, Webseite oder Chat]
ingest[Agent liest den Inhalt im laufenden Workflow]
write[Memory, Summary, Embedding oder RAG-Store wird beschrieben]
gate{Write-Validation, Provenance und Isolation aktiv?}
block[Eintrag wird blockiert, quarantainiert oder markiert]
stored[Vergifteter Kontext bleibt als scheinbar legitimer Zustand erhalten]
retrieve[Spaeteres Retrieval oder Wiederverwendung im naechsten Run]
plan[Planner, Prioritaeten oder Tool-Auswahl werden beeinflusst]
action[Agent fuehrt Entscheidungen oder Tool-Calls auf falscher Grundlage aus]
spread[Vergiftung breitet sich ueber Sessions, Nutzer oder weitere Agenten aus]
damage((Policy-Bypass, Datenabfluss, Drift oder Fehlentscheidung))
source --> ingest --> write --> gate
gate -->|Ja| block
gate -->|Nein oder zu schwach| stored --> retrieve --> plan --> action --> damage
stored --> spread --> damage
classDef normal fill:#ffffff,stroke:#406749,stroke-width:1.5px,color:#181c1e;
classDef warning fill:#f1f4f7,stroke:#406749,stroke-width:1.5px,color:#181c1e;
classDef danger fill:#fdeceb,stroke:#844f59,stroke-width:1.5px,color:#181c1e;
class source,ingest normal;
class write,gate,stored,retrieve,plan,action,spread warning;
class block,damage danger;
Das zentrale Problem ist also nicht nur bösartiger Input, sondern wiederverwendete Vertrauenswürdigkeit. Sobald ein Agent später auf vergiftete Erinnerung oder vergifteten Kontext zugreift, sieht der Run oft normal aus, obwohl die Ausgangsbasis bereits manipuliert wurde.
Memory Poisoning vs. Context Poisoning vs. Prompt Injection vs. RAG Poisoning
Viele Suchanfragen vermischen mehrere Begriffe. Für Architektur und Detection lohnt sich die Trennung trotzdem:
Begriff | Kernproblem | Abgrenzung |
|---|---|---|
Prompt Injection | Untrusted Inhalt beeinflusst den aktuellen Lauf eines Agenten. | Oft der initiale Angriffsvektor. Persistenz ist möglich, aber nicht zwingend. |
Context Poisoning | Der kurzfristige Arbeitskontext einer Sitzung wird manipuliert. | Wirkt oft innerhalb derselben Session oder über Session-Summaries hinweg. |
Memory Poisoning | Persistente Erinnerungen oder gespeicherte Fakten werden vergiftet. | Der manipulierte Zustand bleibt über mehrere Sitzungen bestehen und taucht später erneut auf. |
RAG Poisoning | Externe Wissensquellen oder Retrieval-Indizes werden manipuliert. | Kann Memory and Context Poisoning auslösen, ist aber ein anderer Layer als der agentische Zustand selbst. |
Manipulativer Inhalt ist also oft der Mechanismus, über den problematische Steuerimpulse in den Agentenlauf gelangen. Memory and Context Poisoning beschreibt den persistenten Zustand danach, wenn der Agent diesen Inhalt speichert, erneut abruft oder später wieder in Prompt, Summary oder Planner-State einspeist.
Nicht jede Prompt Injection führt zu Memory Poisoning. Umgekehrt kann persistenter Fehlzustand auch durch schlechte Summaries, schwache Memory-Governance oder fehlerhafte Konsolidierung entstehen, ohne dass ein einzelner bösartiger Prompt später noch sichtbar ist.
Warum Memory and Context Poisoning in Unternehmen besonders relevant ist
In vielen produktiven Umgebungen arbeiten Agenten gleichzeitig mit E-Mail, Browser, RAG, CRM, Ticketing, Drive, APIs und internen Wissensquellen. Genau diese Vielseitigkeit vergrössert die Angriffsoberfläche. Der Agent muss viel Kontext aufnehmen, aber genau dieser Kontext kann spätere Antworten und Aktionen systematisch verschieben.
Besonders anfällig sind Workflows, in denen der Agent:
- zwischen Information und Anweisung nicht sauber trennt
- Session-Summaries oder Langzeit-Memory später erneut nutzt
- mit Schreibrechten, Exportfunktionen oder externen Kommunikationskanälen arbeitet
- mehrere Nutzer, Agenten oder Mandanten über gemeinsame State-Layer verbindet
- Entscheidungen vorbereitet, die Menschen nur noch bestätigen
Der praktische Schaden entsteht dabei häufig erst später. Ein heute gespeicherter Poison kann in einer anderen Session, bei einem anderen Task oder sogar in einem anderen Agenten wieder auftauchen. Genau deshalb ist der Threat für Unternehmen nicht nur ein Qualitätsproblem, sondern ein Security- und Governance-Thema.
Realistische Beispiele für Memory and Context Poisoning
Szenario 1
Browser- oder Research-Agent speichert Anweisungen aus externer Webseite
Ein Agent fasst eine Webseite, ein PDF oder eine Wissensquelle zusammen. Versteckte oder semantisch irreführende Inhalte landen dabei in einer Session-Summary oder im Langzeit-Memory.
In späteren Sessions priorisiert der Agent falsche Quellen, übernimmt manipulierte Regeln oder führt riskante Folgeaktionen aus, obwohl der eigentliche Angriffsinput längst nicht mehr sichtbar ist.
Szenario 2
Workspace-Agent wird über E-Mail, Kalender oder Dateinamen vergiftet
Ein Produktivitätsagent verarbeitet eingehende E-Mails, Einladungen oder Dateireferenzen und speichert daraus scheinbar harmlose Fakten oder Prioritäten.
Später kann der Agent falsche Kontakte bevorzugen, irrefuhrende Arbeitsregeln anwenden, Daten an die falsche Stelle schicken oder kritische Aktionen als normal behandeln.
Szenario 3
CRM- oder Support-Agent merkt sich manipulierte Quellenpräferenzen
Ein Agent mit Nutzer- oder Task-Memory speichert, welche Anbieter, Produkte, Policies oder Quellen angeblich vertrauenswürdig sind. Ein manipulativer Input verschiebt diese Gewichtung dauerhaft.
Empfehlungen, Zusammenfassungen und Entscheidungen werden systematisch verzerrt. Das ist nicht nur ein Qualitätsproblem, sondern ein echtes Compliance-, Reputations- und Governance-Risiko.
Szenario 4
Angreifer erzwingt Memory-Writes nur über normale Queries
In manchen Setups braucht der Angreifer keinen direkten Zugriff auf den Speicher. Gezielt formulierte Anfragen und wiederholte Interaktionen reichen aus, damit der Agent selbst falsche Erinnerungen erzeugt oder konsolidiert.
Der vergiftete Zustand ist schwer nachzuvollziehen, weil keine offensichtliche externe Schadquelle sichtbar ist. Detection muss dann über Memory-Diffs, Provenance und Verhaltensanomalien erfolgen.
Welche Risiken entstehen für Unternehmen?
Memory and Context Poisoning ist für Unternehmen gefährlich, weil die Manipulation meist nicht wie ein klassischer Angriff aussieht. Der Agent argumentiert oft konsistent und führt formal korrekte Schritte aus. Das Problem liegt tiefer: Er arbeitet mit einem kompromittierten Zustand.
Persistente Fehlentscheidungen statt einmaliger Fehlantworten
Ein vergifteter Memory-Eintrag beeinflusst nicht nur eine einzelne Antwort, sondern viele spätere Entscheidungen, Zusammenfassungen und Priorisierungen. Dadurch entsteht ein dauerhafter Fehlerpfad im Betrieb.
Verwandter Threat: Agent Goal HijackData Exfiltration und Tool-Missbrauch in späteren Sitzungen
Heute gespeicherter Schadkontext kann morgen in einer ganz anderen Aufgabe wieder auftauchen und dann zu Datenabfluss, unerwünschten API-Calls, Löschungen oder unautorisierten Freigaben führen.
Verwandter Threat: Tool Misuse and ExploitationShared Memory vergrössert den Blast Radius über Teams und Agenten
Wenn mehrere Agenten, Nutzer oder Mandanten auf gemeinsame State-Layer zugreifen, breitet sich kontaminierter Kontext deutlich schneller aus und wird zum systemischen Problem statt zum Einzelfehler.
Verwandter Threat: Insecure Inter-Agent CommunicationSchwache Forensik erschwert Incident Response
Ohne belastbare Logs für Memory-Writes, Retrieval, Summary-Erzeugung, Herkunft und Folgeaktionen ist später kaum nachvollziehbar, wann der Poison entstanden ist und wie weit er bereits propagiert wurde.
Glossar: Agent ObservabilityWie verhindert man Memory and Context Poisoning?
Wirksame Mitigation kombiniert Write-Validation, State-Governance, Isolation, Least Privilege und Recovery-Fähigkeit. Es reicht nicht, nur am Prompt-Eingang zu filtern. Entscheidend ist, dass wiederverwendeter Kontext nicht automatisch vertrauenswürdig wird, nur weil er schon im System liegt.
Memory-Writes vor dem Commit validieren und klassifizieren
Neue Einträge sollten auf Quelle, Schema, Sensitivität, Instruktionscharakter und Plausibilität geprüft werden. Untrusted Inhalte dürfen nicht still in vertrauenswürdige Langzeit-Memory oder bevorzugte Retrieval-Layer aufsteigen.
Mehr zu Input ValidationMemory, Summary, RAG und Planner-State sauber voneinander trennen
Nicht jeder gespeicherte Kontext hat denselben Vertrauensstatus. Segmentiere nach Herkunft, Lebensdauer, Tenant, Nutzer und Verwendungszweck, damit Session-Notizen nicht dieselbe Autorität bekommen wie verifizierte Fakten.
Mehr zu Memory und Context SecurityProvenance, TTL, Revisionen und Rollback fest einbauen
Jeder wiederverwendete Eintrag sollte Herkunft, Zeitpunkt, Vertrauenseinstufung und Ablaufzeit behalten. Ohne Versionierung und Quarantäne ist kompromittierter Zustand nur schwer bereinigbar.
Mehr zu Monitoring und LoggingTool-Rechte und Identitäten strikt begrenzen
Auch wenn Poisoning durchkommt, darf der Agent daraus keine überprivilegierten Aktionen ableiten. Least Privilege, getrennte Agent-Identitäten und read-only Defaults reduzieren den Schaden erheblich.
Mehr zu Least PrivilegeKritische oder irreversible Aktionen über Freigaben absichern
Freigaben, Datenexporte, Löschungen, Berechtigungsänderungen und externe Kommunikation sollten nicht allein durch Retrieval oder gespeicherte Memory autorisiert werden. Human-in-the-Loop bleibt hier ein starker Schutzhebel.
Mehr zu Human-in-the-LoopShared Context in Multi-Agent-Systemen hart begrenzen
Gemeinsame Notes, Agent-Memory und delegierter Kontext brauchen enge Schreibrechte, Quarantäne für suspekte Einträge und klare Regeln für Weitergabe und Wiederverwendung. Sonst propagiert sich der Poison über mehrere Agenten.
Mehr zu Multi-Agent SecurityIn der Praxis ist die Kombination aus Memory und Context Security, Least Privilege, Monitoring und Logging und Human-in-the-Loop meist deutlich wirksamer als einzelne Guardrails ohne State-Governance.
Wie erkennt man Memory and Context Poisoning?
Detection ist schwierig, weil die Wirkung oft zeitversetzt auftritt. Gute Erkennung braucht deshalb Sicht auf den gesamten State-Lifecycle: Was wurde eingelesen, gespeichert, später wieder abgerufen und schliesslich für Entscheidungen oder Aktionen verwendet?
- unerwartete Memory-Write-Events direkt nach dem Lesen untrusted Inhalte wie Webseiten, E-Mails, Doks oder Tool-Outputs
- Session-Summaries oder persistente Einträge enthalten neue Regeln, Prioritäten oder imperative Formulierungen wie always, remember, prioritize oder ignore previous
- Retrieval zieht Einträge mit schwacher Provenance oder geringer Vertrauenswürdigkeit, die trotzdem starken Einfluss auf Planung oder Antwortstruktur haben
- derselbe externe Ursprung taucht später überproportional oft in Empfehlungen, Quellenangaben oder Tool-Entscheidungen auf
- kritische Aktionen folgen auf Read-heavy Runs, obwohl die sichtbare Nutzeranfrage diesen Schritt nicht direkt erklärt
- mehrere Agenten oder Sessions teilen plötzlich dieselbe falsche Annahme, Policy oder Quellenpräferenz
Wichtig sind dabei nicht nur Modell- oder Prompt-Logs, sondern auch Memory create/update/delete/retrieve, Session-Summary-Events, Retrieval-Treffer, Tool-Parameter, Policy-Entscheidungen und User-Approval-Schritte. Genau hier wird Agent Observability zur Sicherheitsvoraussetzung statt zum reinen Debugging-Werkzeug.
FAQ zu Memory and Context Poisoning bei KI-Agenten
Was ist Memory and Context Poisoning bei KI-Agenten?
Memory and Context Poisoning bedeutet, dass ein KI-Agent falsche oder manipulative Inhalte in seinen Arbeitskontext oder in persistente Memory übernimmt und später wie vertrauenswürdige Grundlage verwendet. Dadurch werden Antworten, Entscheidungen und Tool-Aktionen über mehrere Sitzungen hinweg beeinflusst.
Was ist der Unterschied zwischen Context Poisoning und Memory Poisoning?
Context Poisoning betrifft vor allem den kurzfristigen Arbeitskontext einer Sitzung oder einer Session-Summary. Memory Poisoning betrifft persistente Zustände wie Langzeit-Memory, gespeicherte Nutzerprofile oder andere wiederverwendete State-Layer, die in späteren Runs erneut auftauchen.
Ist Memory and Context Poisoning nur eine Form von Prompt Injection?
Nicht ganz. Prompt Injection ist oft der initiale Angriffsvektor. Memory and Context Poisoning beschreibt die persistente Folge, wenn der Agent schädlichen Inhalt speichert, konsolidiert oder später erneut in den Prompt oder Planner-State einspeist.
Kann eine normale Webseite oder E-Mail das Memory eines Agenten vergiften?
Ja, wenn der Agent Inhalte daraus liest und diese ohne saubere Trennung von Daten und Instruktionen in Summary, Memory oder Retrieval übernimmt. Genau deshalb sind browsernde, forschende und produktivitätsnahe Agenten besonders exponiert.
Welche KI-Agenten sind besonders gefährdet?
Besonders anfällig sind Enterprise-Copilots mit Langzeit-Memory, Browser- und Research-Agents, E-Mail- und Workspace-Assistenten, RAG-gestützte Support-Agents, Multi-Agent-Systeme mit Shared Context und alle Agenten mit weitreichenden Tool-Rechten.
Wie erkennt man Memory Poisoning in der Praxis?
Wichtig sind Logs für Memory-Writes, Summary-Erzeugung, Retrieval, Herkunft und Tool-Nutzung. Auffällig sind neue persistente Regeln, plötzliche Änderungen an geschützten Feldern, Read-to-Write-Ketten nach untrusted Content und wiederkehrende falsche Annahmen über mehrere Sessions hinweg.
Wie verhindert man, dass ein Agent falsche Erinnerungen speichert?
Der grösste Hebel liegt in validierten Memory-Writes, klarer Trennung von Kontextklassen, tenant-scharfer Isolation, Provenance, TTL, Revisionen, Rollback und enger Begrenzung der Aktionen, die ein Agent allein aufgrund gespeicherten Kontexts ausführen darf.
Was ist der Unterschied zwischen Memory Poisoning und RAG Poisoning?
RAG Poisoning betrifft primär externe Wissensquellen oder Retrieval-Indizes. Memory Poisoning betrifft den agentischen Zustand selbst. In der Praxis können sich beide gegenseitig verstärken, sind aber nicht identisch.