Can corroboration stop AI-agent memory poisoning? MeasuredZastaví corroboration otravu pamäte AI agentov? Odmerané
Memory-injection attacks (MINJA, Agent Security Bench) poison naive AI-agent memory 70–95% of the time. We replicated the attack against mnemo's corroboration gate: single-source poison drops to 0% — for both entrenchment and overwrite — but a sybil forging ≥2 sources bypasses it. Strong baseline, honest limits, runnable.Memory-injection útoky (MINJA, Agent Security Bench) otrávia naivnú pamäť AI agenta 70–95% prípadov. Replikovali sme útok proti corroboration gate v mnemo: single-source poison padá na 0% — aj zakorenenie, aj prepis — ale sybil, čo sfalšuje ≥2 zdroje, ho obíde. Silný baseline, poctivé limity, spustiteľné.
Yes — for the common single-source attack, and we measured it. Memory poisoning (memory injection) of LLM agents — feeding an agent a crafted "memory" that later steers its behaviour — succeeds 70–95% of the time against standard memory stores. We replicated the attack against mnemo's corroboration gate and measured the defence: single-source poison drops to 0% — for both entrenching a new poison and overwriting a true fact. It is not a silver bullet: a sybil that forges independent corroboration still gets through. Here are the numbers.
What memory poisoning is — and why 70–95% is alarming
A memory-based agent stores facts and experiences and recalls them later. Memory poisoning injects a malicious record that, once stored and retrieved, redirects the agent. Recent work reports it works alarmingly well on standard stores:
- MINJA — Memory Poisoning Attack and Defense on Memory-Based LLM-Agents: >95% injection success, ~70% attack success (arXiv 2601.05504).
- Agent Security Bench (ASB): 84.3% average attack success across 27 attack/defense combinations (arXiv 2410.02644).
The poison persists because naive memory ranks records by importance/recency — so a high-value injected record entrenches and is recalled later.
We replicated it against mnemo
mnemo is our open memory core. Its defence is not a ranking trick — it is corroboration: a memory becomes durable/trusted only when evidence corroborates it (earned outcome credit, or ≥2 independent corroborations), not because it is "important". We replicated two MINJA goals end-to-end on the recall the agent would actually use, against the real shipped mnemo:
- Entrench — inject a poison that becomes durable + trusted (graduates to the slow-decay tier).
- Overwrite — inject a poison that supersedes a true standing fact.
The result (measured, N = 150 per cell)
| attack goal | naive store | mnemo (default) | mnemo (hardened) | sybil: forged ≥2 |
|---|---|---|---|---|
| Entrench a durable poison | 100% | 0% | 0% | 100% |
| Overwrite a true fact | 100% | 100% | 0% | 100% |
- Naive memory is 100% poisoned for both goals — consistent with MINJA/ASB's 70–95% on standard agents.
- mnemo's corroboration gate cuts single-source poison to 0% — entrenchment by default; overwrite once the corroboration guard is enabled (
supersede_requires_corroboration). - A defense ablation confirms it is the corroboration guards — not value or recency — doing the work.
Two honest limits (no silver bullet)
The sybil boundary. An attacker who can forge ≥2 independent-looking corroborations bypasses the gate (100%). This is exactly the Adaptation–Corruption Separation Law's boundary B ≥ d: corroboration-gating stops the dominant single-source attacker, not a sybil. Counting corroborations is forgeable; closing this gap needs a real source-independence / identity signal.
The input-type bypass. A poison phrased as a procedure ("always do X") is classified procedural — durable by design — and sidesteps the episodic graduation gate (~100%). The lesson: require corroboration for procedural/durable writes too, not only for facts.
If you build agent memory, RAG, or a memory layer
- 1. Don't rank durability by importance or recency — that is exactly what memory poisoning exploits. Gate durability on corroboration.
- 2. Enable the corroboration guard for adversarial ingestion (in mnemo:
supersede_requires_corroboration; the entrenchment gate is on by default). - 3. Gate procedural/durable writes too, not just facts — phrasing is part of the attack surface.
- 4. Treat corroboration-count as forgeable — for untrusted, multi-tenant input you still need a source-independence signal against sybils.
This is the same principle we ship across mnemo — see also the corroboration guard that won't let an uncorroborated fact become permanent and the two-tier store that resists a poison flood in eviction.
FAQ
Does corroboration-gating stop all memory poisoning? No. It stops the dominant single-source attack (0%), but not a sybil that forges ≥2 independent corroborations.
Is mnemo protected by default? The entrenchment defence (the graduation gate) is on by default. The overwrite defence (supersede_requires_corroboration) is opt-in — enable it for adversarial settings.
How does this relate to MINJA and Agent Security Bench? They report 70–95% attack success on standard memory stores; we replicate the same threat and measure a corroboration defence — including where it fails.
Is this real code or a simulation? The real, shipped mnemo, end-to-end on recall, N = 150 per cell. Reproducible.
The falsifierIf single-source self-asserted poison had entrenched or overwritten the truth despite the gate, or if forged ≥2-source corroboration had also been blocked (impossible without a real independence signal), the claim would be wrong. Neither happened.
Áno — pre bežný single-source útok, a odmerali sme to. Otrava pamäte (memory injection) LLM agentov — podstrčenie vyrobenej „spomienky", ktorá neskôr riadi správanie agenta — uspeje 70–95% prípadov proti štandardným pamäťovým úložiskám. Replikovali sme útok proti corroboration gate v mnemo a odmerali obranu: single-source poison padá na 0% — aj pri zakorenení nového poisonu, aj pri prepísaní pravdivého faktu. Nie je to silver bullet: sybil, ktorý sfalšuje nezávislé corroboration, stále prejde. Tu sú čísla.
Čo je otrava pamäte — a prečo je 70–95% alarmujúce
Pamäťový agent ukladá fakty a skúsenosti a neskôr si ich vybavuje. Otrava pamäte vloží škodlivý záznam, ktorý po uložení a vybavení presmeruje agenta. Najnovšie práce hlásia, že to na štandardných úložiskách funguje desivo dobre:
- MINJA — Memory Poisoning Attack and Defense on Memory-Based LLM-Agents: >95% injection success, ~70% attack success (arXiv 2601.05504).
- Agent Security Bench (ASB): 84,3% priemerná úspešnosť útoku cez 27 kombinácií útok/obrana (arXiv 2410.02644).
Poison pretrvá, lebo naivná pamäť radí záznamy podľa dôležitosti/recency — takže vysoko-hodnotný vložený záznam sa zakorení a vybaví.
Replikovali sme to proti mnemo
mnemo je naše otvorené pamäťové jadro. Jeho obrana nie je trik v radení — je to corroboration: spomienka sa stane trvalou/dôveryhodnou len keď ju dôkazy potvrdia (zaslúžený credit za výsledok, alebo ≥2 nezávislé potvrdenia), nie preto, že je „dôležitá". Replikovali sme dva ciele MINJA end-to-end na recall, ktorý by agent reálne použil, proti reálnemu shipnutému mnemo:
- Entrench (zakorenenie) — vlož poison, ktorý sa stane trvalým + dôveryhodným.
- Overwrite (prepis) — vlož poison, ktorý prepíše pravdivý stojaci fakt.
Výsledok (odmerané, N = 150 na bunku)
| cieľ útoku | naivné úložisko | mnemo (default) | mnemo (hardened) | sybil: sfalšuje ≥2 |
|---|---|---|---|---|
| Entrench trvalý poison | 100% | 0% | 0% | 100% |
| Overwrite pravdivý fakt | 100% | 100% | 0% | 100% |
- Naivná pamäť je 100% otrávená pri oboch cieľoch — v súlade s MINJA/ASB 70–95% na štandardných agentoch.
- mnemo corroboration gate zráža single-source poison na 0% — zakorenenie by default; prepis po zapnutí guardu (
supersede_requires_corroboration). - Defense ablation potvrdzuje, že robotu robia corroboration guardy — nie hodnota či recency.
Dve poctivé limity (žiadny silver bullet)
Sybil hranica. Útočník, čo dokáže sfalšovať ≥2 nezávisle vyzerajúce corroboration, bránu obíde (100%). To je presne hranica B ≥ d zo Zákona o oddelení adaptácie a poškodenia: corroboration-gating zastaví dominantného single-source útočníka, nie sybila. Počítanie corroboration je falšovateľné; túto dieru zatvorí až reálny signál nezávislosti zdroja / identity.
Bypass cez typ vstupu. Poison formulovaný ako procedúra („always do X") sa klasifikuje ako procedural — trvalý už z princípu — a obíde episodic graduation gate (~100%). Poučenie: vyžadovať corroboration aj pre procedural/durable zápisy, nielen pre fakty.
Ak staviaš pamäť agentov, RAG alebo pamäťovú vrstvu
- 1. Neraď trvalosť podľa dôležitosti či recency — práve to otrava pamäte zneužíva. Bránu trvalosti postav na corroboration.
- 2. Zapni corroboration guard pre adversariálny vstup (v mnemo:
supersede_requires_corroboration; gate zakorenenia je default). - 3. Bráň aj procedural/durable zápisy, nielen fakty — formulácia je súčasť útočnej plochy.
- 4. Ber corroboration-count ako falšovateľný — pre nedôveryhodný multi-tenant vstup stále potrebuješ signál nezávislosti zdroja proti sybilom.
Je to ten istý princíp, čo shipujeme naprieč mnemo — pozri aj corroboration guard, ktorý nedovolí, aby sa nepodložený fakt stal trvalým a dvojvrstvové úložisko, ktoré odoláva poison-záplave pri evictione.
FAQ
Zastaví corroboration-gating každú otravu pamäte? Nie. Zastaví dominantný single-source útok (0%), ale nie sybila, čo sfalšuje ≥2 nezávislé corroboration.
Je mnemo chránené by default? Obrana zakorenenia (graduation gate) je default. Obrana prepisu (supersede_requires_corroboration) je opt-in — zapni ju pre adversariálne nasadenie.
Ako to súvisí s MINJA a Agent Security Bench? Hlásia 70–95% úspešnosť na štandardných úložiskách; my replikujeme tú istú hrozbu a odmeriame corroboration obranu — vrátane toho, kde zlyhá.
Je to reálny kód, alebo simulácia? Reálne shipnuté mnemo, end-to-end na recall, N = 150 na bunku. Reprodukovateľné.
FalzifikátorAk by single-source samopodpísaný poison zakorenil alebo prepísal pravdu napriek bráne, alebo ak by aj sfalšované ≥2-zdrojové corroboration boli zablokované (nemožné bez reálneho signálu nezávislosti), tvrdenie by bolo nesprávne. Ani jedno sa nestalo.