Semantic Retrieval Retrieves Semantic Attacks
Why embedding-based memory retrieval inherits all RAG vulnerabilities
The Conventional Framing
Vector memory stores conversation turns or extracted information as embeddings, retrieving semantically similar memories when relevant. This enables efficient long-term memory across many conversations.
The pattern scales conversation memory beyond context window limits using similarity search.
Why Vector Memory Is RAG Against Yourself
Vector memory is RAG where the corpus is past conversations. All RAG vulnerabilities apply: poisoned content can be embedded in past conversations and retrieved for future ones.
Semantic similarity doesn't discriminate between helpful memories and malicious ones. A well-crafted injection becomes a memory that gets retrieved whenever semantically relevant.
The memory planting:
An attacker who gets injection into your memory store has planted a landmine. Future conversations that trigger semantic similarity to that injection will retrieve and process it.
Architecture
Components:
- Embedding model— converts text to vectors
- Vector store— stores embedded memories
- Similarity search— retrieves relevant memories
- Memory integration— adds memories to context
Trust Boundaries
- Conversation → Memory — what gets stored as memory
- Query → Retrieval — what queries trigger what memories
- Memory → Context — retrieved memories influence response
Threat Surface
| Threat | Vector | Impact |
|---|---|---|
| Memory poisoning | Plant injection in stored memories | Future relevant queries retrieve poison |
| Broad retrieval injection | Craft memory that's similar to many query types | Injection retrieved for wide range of topics |
| Memory collision | Create memories that collide with legitimate ones | Poison retrieved alongside or instead of real memories |
| Cross-session contamination | Injection in one session retrieved in another | Attack persists across conversation boundaries |
The ZIVIS Position
- •Vector memory is RAG on your history.Apply all RAG security considerations. The retrieval corpus happens to be past conversations, but same vulnerabilities apply.
- •Memory write is a privileged operation.What gets stored in memory influences all future conversations. Treat memory writes with appropriate scrutiny.
- •Consider memory isolation.Separate memory stores for different contexts/users. Don't let one poisoned memory affect unrelated conversations.
- •Validate retrieved memories.Just because something was stored doesn't mean it's safe. Retrieved memories are as untrusted as any other RAG content.
What We Tell Clients
Vector memory applies RAG to your conversation history. All RAG vulnerabilities apply: poisoned memories can be retrieved for future conversations.
Validate what gets stored in memory, consider memory isolation, and treat retrieved memories as untrusted content. An attacker who plants injection in memory has created a persistent, retrieval-triggered attack.
Related Patterns
- Naive RAG— same pattern applied to documents
- Semantic Caching— similar semantic retrieval concerns