Memory Poisoning: das Gedächtnis eines Agenten im Produktivbetrieb schützen
Wie Sie den Langzeitspeicher und Retrieval-Store eines produktiven Agenten gegen Poisoning schützen — Validierung, Provenance, Segmentierung und Ablauf, damit falsche Daten künftige Entscheidungen nicht verzerren.
Definition
Memory Poisoning ist ein Angriff, der das Langzeitgedächtnis, die Embeddings oder den Retrieval-Speicher eines Agenten verfälscht, sodass falsche oder schädliche Inhalte später als vertrauenswürdiger Kontext abgerufen werden. Da die Nutzlast über Sitzungen hinweg bleibt, kann ein einziges Poisoning viele künftige Entscheidungen verzerren.
Die meisten Agenten-Angriffe dauern einen Lauf. Memory Poisoning dauert viel länger: Es pflanzt etwas in das Gedächtnis des Agenten, das immer wieder als vertrauenswürdiger Kontext abgerufen wird — lange nachdem der Angreifer fort ist.
Warum Persistenz alles ändert
Eine Prompt Injection ist im Moment gefährlich. Memory Poisoning ist über die Zeit gefährlich. Sobald falsche oder schädliche Inhalte im Langzeitgedächtnis, in Embeddings oder einem Retrieval-Speicher landen, behandelt der Agent sie in jedem künftigen Lauf, der sie abruft, als etablierten Kontext. Ein Poisoning wird zur dauerhaften Verzerrung.
Das macht es schwer erkennbar. Der ursprüngliche Angriff liegt vielleicht Wochen zurück; was Sie sehen, ist ein Agent, der subtil und konsistent eine bestimmte Fehlentscheidung trifft — und die Ursache liegt in einem Speicher, den Sie selten prüfen.
Wie die dauerhaften Angriffe im Vergleich zum einmaligen abschneiden:
| Angriff | Wie lange er dauert | Wo er lebt | Wann Sie es merken |
|---|---|---|---|
| Prompt Injection | Ein einzelner Lauf | Der aktuelle Kontext | Oft sofort |
| Tool Poisoning | Bis das Tool behoben ist | Die Tool-Ebene | Wenn Ausgaben falsch wirken |
| Memory Poisoning | Über Sitzungen, unbefristet | Langzeitgedächtnis oder RAG-Speicher | Wochen später, wenn überhaupt |
Wie werden Inhalte vergiftet?
- Unvalidierte Schreibvorgänge. Der Agent fasst ein vergiftetes Dokument zusammen und speichert die Zusammenfassung — Nutzlast inklusive.
- RAG-Speicher-Kontamination. Angreiferbeeinflusste Daten gelangen in den Retrieval-Index und werden später als relevanter, vertrauenswürdiger Kontext hervorgeholt.
- Manipulierte Tool-Ausgaben, die der Agent für merkenswert hält und so Tool Poisoning ins dauerhafte Gedächtnis tragen.
Der gemeinsame Faden: Der Schreibpfad ins Gedächtnis wird als vertrauenswürdig behandelt, obwohl er es nicht sein sollte.
Abwehr
- Beim Schreiben validieren. Prüfen Sie alles, was ins Gedächtnis gelangt, so streng wie jede andere nicht vertrauenswürdige Eingabe — speichern Sie keine rohen, angreiferzugänglichen Inhalte als Fakt.
- Nach Vertrauensstufe segmentieren. Halten Sie Memory aus nicht vertrauenswürdigen Quellen getrennt von vertrauenswürdigem Wissen, damit Retrieval das eine nicht still zum anderen befördert.
- Ablaufen lassen und prüfen. Geben Sie langlebigen Einträgen eine Lebensdauer; auditieren Sie regelmäßig, was der Agent zu merken beschlossen hat.
- Zuordnen und tracen. Halten Sie fest, woher jede Erinnerung stammt. Driftet das Verhalten, lässt die Herkunft den vergifteten Eintrag finden — das ist die Gedächtnisseite der Observability.
- Least Privilege beim Gedächtnis. Nicht jeder Agent oder jedes Tool sollte ins Langzeitgedächtnis schreiben dürfen.
Das Prinzip
Gedächtnis ist eine Angriffsfläche, kein sicherer Ort. Alles, was ein Agent speichert, kann später als Wahrheit abgerufen werden, also schützen Sie den Schreibpfad so sorgfältig wie den Lesepfad. Das ist eines der leiseren Risiken der OWASP Top 10 für agentische Anwendungen und eines der am schwersten zu bemerkenden, wenn es sich erst eingenistet hat. Begriffe stehen im Glossar.
Häufige Fragen
Warum ist Memory Poisoning besonders gefährlich?
Weil es bleibt, anders als die meisten Agenten-Angriffe. Eine Prompt Injection betrifft einen einzigen Lauf und ist weg, sobald der Kontext geleert wird; Memory Poisoning pflanzt Inhalte, die der Agent über viele spätere Läufe als vertrauenswürdigen Kontext abruft, oft lange nachdem der Angreifer fort ist. Das macht aus einem Ereignis eine dauerhafte Verzerrung: Derselbe falsche Fakt kann Entscheidungen wochenlang leise verschieben. Persistenz macht es zudem ungewöhnlich schwer erkennbar, denn bis Sie merken, dass der Agent konsistent eine bestimmte Fehlentscheidung trifft, liegt der ursprüngliche Angriff längst in einem Speicher begraben, den Sie selten prüfen — einer Vektordatenbank, einem Embeddings-Index, einer Langzeitgedächtnis-Tabelle. Anders als bei einer Live-Injection gibt es keinen Angriffsmoment zu erwischen; es gibt nur das langsame Driften eines Agenten, der still etwas Falsches gelernt hat und es als gesichertes Wissen behandelt.
Wie gelangen vergiftete Inhalte ins Gedächtnis?
Über jeden Schreibvorgang ins Langzeitgedächtnis oder einen Retrieval-Speicher, der ohne Validierung geschieht. Der häufigste Pfad ist eine unvalidierte Zusammenfassung: Der Agent liest ein vergiftetes Dokument, fasst es zusammen und speichert die Zusammenfassung mit der Nutzlast darin. Retrieval-Augmented-Generation-Speicher sind ein häufiges Ziel, weil angreiferbeeinflusste Daten, die in den Index gelangen, später als relevanter, vertrauenswürdiger Kontext hervorgeholt werden. Manipulierte Tool-Ausgaben sind ein weiterer Weg — hält der Agent eine präparierte Antwort für merkenswert, wird Tool Poisoning dauerhaft. Das verbindende Problem: Der Schreibpfad ins Gedächtnis wird meist als vertrauenswürdig behandelt, obwohl er es nicht sein sollte. Was die Eingabe des Agenten erreicht, kann ebenso sein Gedächtnis erreichen. Alles, was der Agent ohne Prüfung merken darf, wird zum Kandidaten für die Fehlentscheidung von morgen.
Was ist die Kernabwehr?
Schützen Sie den Schreibpfad mit demselben Misstrauen, das Sie jeder nicht vertrauenswürdigen Eingabe entgegenbringen, denn was ins Gedächtnis gelangt, kommt als Fakt wieder heraus. Validieren Sie Inhalte beim Schreiben, statt rohen, angreiferzugänglichen Text zu speichern. Segmentieren Sie Memory nach Vertrauensstufe, damit Material aus nicht vertrauenswürdigen Quellen beim Abruf nicht still zu vertrauenswürdigem Kontext wird. Geben Sie langlebigen Einträgen ein Ablaufdatum und prüfen Sie sie regelmäßig, damit ein Poisoning nicht standardmäßig ewig lebt. Erfassen Sie die Herkunft jedes Eintrags: Driftet das Verhalten, lässt das Wissen um die Quelle den vergifteten Eintrag finden und entfernen. Wenden Sie schließlich Least Privilege auf das Gedächtnis selbst an — nicht jeder Agent oder jedes Tool sollte in den Langzeitspeicher schreiben dürfen. Keine dieser Kontrollen erkennt eine raffinierte Nutzlast direkt; zusammen sorgen sie dafür, dass selbst eingedrungenes Falsches eingegrenzt, zuordenbar und entfernbar ist statt dauerhaft und unsichtbar.
Wie erkenne ich bereits vergiftetes Gedächtnis?
Erkennung ist schwer, gerade weil das Symptom subtil und verzögert ist, also verlassen Sie sich auf Herkunft und Prüfung, statt den Angriff live zu erwischen. Das praktische Signal ist Verhaltensdrift: ein Agent, der begonnen hat, konsistent eine bestimmte Fehlentscheidung zu treffen oder einen bestimmten falschen Fakt zu zitieren, den er zuvor nicht nannte. Sehen Sie dieses Muster, macht Herkunfts-Metadaten die Suche handhabbar — erfasst jeder Eintrag Quelle, Zeitstempel und den schreibenden Lauf, lässt sich das schlechte Verhalten bis zu dem Eintrag zurückverfolgen, der es einführte. Regelmäßige Audits dessen, was der Agent zu merken beschloss, fangen Poisoning ab, bevor es großen Schaden anrichtet, besonders bei Speichern mit hohem Vertrauen. Behandeln Sie unerklärliche, dauerhafte Änderungen im Urteil des Agenten als Vorfall der Gedächtnisintegrität, nicht als bloße Qualitätsregression, und prüfen Sie den Retrieval-Speicher so, wie Sie nach einem Einbruch Logs prüfen würden.