Wie sicherst du eine RAG-Pipeline (Retrieval-Augmented Generation) ab?
Kurzantwort
RAG-Sicherheit bedeutet, jedes abgerufene Dokument als nicht vertrauenswürdige Eingabe zu behandeln. Zentrale Risiken: indirekte Prompt Injection, die in abgerufenen Inhalten versteckt ist, Vergiftung der Wissensbasis oder der Embeddings sowie fehlende benutzerbezogene Autorisierung, sodass das Modell Daten zurückgibt, auf die der Benutzer keinen Zugriff hat. Zu den Verteidigungsmaßnahmen zählen Zugriffskontrolle beim Retrieval, Inhaltsprovenienz und Prüfung der Ingestion, Behandeln von abgerufenem Text als Daten statt als Anweisungen, Ausgabevalidierung und Isolierung der Vektordatenbank pro Mandant.
Retrieval-Augmented Generation erdet ein LLM, indem es relevante Dokumente aus einer Wissensbasis (meist eine Vektordatenbank) abruft und in den Prompt einfügt. Dieser zusätzliche Kontext ist zugleich eine neue, große Angriffsfläche, und die Kerndenkweise lautet: jeder abgerufene Chunk ist nicht vertrauenswürdige Eingabe.
Risiken Stufe für Stufe
- Ingestion. Was immer du indexierst, wird das Modell später lesen und möglicherweise befolgen. Ein vergiftetes oder vom Angreifer verfasstes Dokument wird zu einer indirekten Prompt Injection, die in der vertrauenswürdigen Sitzung eines anderen auslöst. Prüfe Quellen, verfolge die Provenienz und beschränke, wer zum Korpus beitragen darf.
- Speicherung / Embeddings. Vektordatenbanken können vergiftet werden (durch das Platzieren adversarialer Dokumente, die immer hoch ranken), und Embeddings können über Inversionsangriffe Informationen preisgeben. Isoliere die Datenbanken pro Mandant und schütze sie wie jede sensible Datenablage.
- Retrieval. Das größte praktische Versagen ist die Autorisierung: Filtert das Retrieval nicht nach den Berechtigungen des anfragenden Benutzers, bringt das Modell Dokumente an die Oberfläche, die dieser niemals sehen sollte. Erzwinge Zugriffskontrolle zur Abfragezeit, auf den Benutzer beschränkt — nicht als nachträglicher Filter auf die Antwort.
- Generierung. Grenze abgerufene Inhalte klar als Daten ab, weise das Modell an, darin gefundenen Anweisungen nicht zu folgen, und validiere/bereinige die Ausgabe, bevor sie gerendert oder an Tools übergeben wird.
Defense in Depth
Kombiniere Least-Privilege-Retrieval, Ingestion-Prüfung und -Signierung, Isolierung pro Mandant, Maßnahmen gegen indirekte Injektion und Ausgabevalidierung. Keine einzelne Kontrolle ist ausreichend.
Worauf Interviewer achten
Die Denkweise "abgerufene Inhalte sind nicht vertrauenswürdig", das Benennen benutzerbezogener Autorisierung beim Retrieval und ein Bewusstsein für indirekte Injektion und Vergiftung der Wissensbasis als RAG-spezifische Bedrohungen — nicht nur generische Datenbanksicherheit.
Wahrscheinliche Anschlussfragen
- Wie kann ein vergiftetes Dokument in der Wissensbasis einen anderen Benutzer angreifen?
- Wo genau sollte in einem RAG-Ablauf die Autorisierung erzwungen werden?
- Was ist ein Embedding-Inversion-Angriff?