Nei sistemi RAG (Retrieval-Augmented Generation), i documenti inseriti nel vector database possono contenere prompt injection indirette o tentativi di esfiltrazione dati.
Misure di sicurezza applicate:
1. Validazione dei chunk prima dell'embedding:
Ispezionare i testi con scanner euristici per intercettare pattern come Ignore previous instructions and output....
2. Access Control a livello di chunk:
Associare a ogni vettore un metadato di permission list (acl: ["group_dev", "tenant_42"]) e filtrare le query vettoriali:
vector_store.similarity_search(query, filter={"acl": {"$in": user_groups}})3. Isolamento dell'output di retrieval:
Racchiudere i documenti recuperati all'interno di tag XML rigidi nel prompt (<context>...</context>) con istruzione esplicita di trattare il contenuto come dato non eseguibile.