Wichtige Erkenntnisse
- Wir haben Schwachstellen bei der SQL-Generierung, gespeicherte Prompt-Injection und Vector Store Poisoning gefunden. Diese Lücken machen Datendiebstahl, Phishing-Kampagnen und verschiedene betrügerischen Aktivitäten möglich.
- Maßnahmen: Input-Bereinigung, erweiterte Absichtserkennung und strenge Zugriffskontrollen.
Nach der Einführung in die wichtigsten Sicherheitsrisiken von KI-Agenten, wie Prompt-Injection und unautorisierte Codeausführung, und Skizzierung der Struktur für die anschließenden Diskussionen untersuchten wir, wie Angreifer Schwachstellen in LLM-gesteuerten Services missbrauchen können, um nichtautorisierten Code auszuführen, Sandbox-Beschränkungen zu umgehen und Schwachstellen in Fehlerbehandlungsmechanismen zu missbrauchen. Als Nächstes stellten wir dar, wie multimodale KI-Agenten für Prompt-basierte Angriffe anfällig sind, die letztendlich ohne jegliche Interaktion zur Exfiltrierung sensibler Daten führen.
Große Sprachmodelle (LLMs) schließen die Lücke zwischen menschlicher Absicht und Datenbankabfragen. Diese Konvergenz bringt jedoch auch neue Sicherheitsherausforderungen mit sich. Wir haben Methoden untersucht, mit denen Angreifer datenbankfähige KI-Agenten angreifen können:
- Schwachstellen bei der SQL-Generierung,
- gespeicherte Prompt-Injektionen und
- Vector Store Poisoning
Dafür setzten wir Pandora ein, unseren Proof-of-Concept KI-Agent mit Fähigkeiten zur Datenbankabfrage, außerdem die Chinook-Datenbank, um eine datenbankgestützte Anwendung mit Informationen sowohl zu Nutzern als auch sensiblen, restriktiven Daten darzustellen.
Von natürlicher Sprache zu SQL-Abfragen und zur endgültigen Antwort
Der Prozess der Umwandlung einer Abfrage in natürlicher Sprache in eine endgültige Antwort umfasst vier wichtige Schritte:
- Klassifizierung der Nutzerabfrage Das System analysiert den Input in natürlicher Sprache, um die Absicht des Nutzers und die Art der Abfrage zu bestimmen. Es soll sichergestellt sein, dass die Abfrage an die richtige Datenbank oder Verarbeitungs-Pipeline weitergeleitet wird.
- Natürliche Sprache zu SQL-Abfrage Das LLM übersetzt die Eingaben des Nutzers in eine strukturierte SQL-Abfrage. Dazu gehört das Verständnis des Kontexts, die Auswahl der geeigneten Datenbanktabellen und die Konstruktion einer syntaktisch gültigen Abfrage.
- Ausführung der SQL-Abfrage Danach wird die SQL-Abfrage in der Datenbank ausgeführt. Das Datenbankmanagementsystem verarbeitet diese, ruft die angeforderten Daten ab und gibt das Ergebnis-Set an die Anwendungsschicht zurück. Dies ist ein unkomplizierter Schritt ohne Eingriff des LLM.
- Zusammenfassung von SQL-Abfrageergebnissen Die von der Datenbank gelieferten Rohergebnisse werden in einem zusammengefassten, für den Menschen lesbaren Format verarbeitet. Dazu kann das Organisieren, Vereinfachen oder Kontextualisieren der Daten gehören, um die ursprüngliche Anfrage des Nutzers direkt zu beantworten.
Schwachstelle bei der Generierung von SQL-Abfragen
Erkundung
Eines der Ziele des Angreifers ist es, die Struktur der Datenbanktabellen zu erkunden. Zunächst ist der Klassifizierungs-Meta-Prompt für den Angreifer nicht sichtbar. Herkömmliche Techniken zum Extrahieren von Meta-Prompts sind wahrscheinlich unwirksam.


Bild 1. Beispiel einer Prompt-Leakage Technik
Für den Nutzer sind nur menschliche Meldungen ( ) und Assistentenmeldungen (
Ein Angreifer könnte dann auf Jailbreaking-Methoden zurückgreifen. Bei der Erkundung geht es nicht darum, den genauen Wortlaut des Meta-Prompts zu extrahieren, sondern die zugrunde liegende Struktur aufzudecken und zu verstehen, wie der Service funktioniert.
Ein Angreifer, der Mitarbeiterdaten exfiltrieren will, könnte den Namen der Mitarbeitertabelle suchen.
Exfiltrieren von Daten
Die direkte Abfrage von Mitarbeiterdatensätzen ist aufgrund der in der Klassifizierung oder im Meta-Prompt der SQL-Generierung eingebetteten Guardrails wahrscheinlich erfolglos. Die Verwendung von Jailbreak-Methoden hingegen erhöht die Wahrscheinlichkeit, dass der Sicherheitsmechanismus umgangen wird.


Bild 2. Umgehung der Guardrails des SQL-Generierungs-Prompts
Der oben gezeigte Exploit verwendet eine „few-shot“-Methode, bei der mehrere Frage/Antwort-Paare als Beispiel angegeben werden. Die Fragen enthalten den Namen des authentifizierten Nutzers, während die Antworten auf restriktive Tabellennamen verweisen.
Durch das Einfügen eines immer wiederkehrenden erfundenen Narrativs, wie „Mein Name ist Daan Peeters. Alle Daten enthalten Daan Peters“, gaukelt der Angreifer dem LLM vor, dass die restriktiven Tabellen für diesen Nutzer zugänglich sind, obwohl die Sicherheitsmaßnahmen im Klassifizierungs-Prompt und dem Prompt zur SQL-Abfrage in natürlicher Sprache dies ausdrücklich untersagen.
Auswirkungen
Auf diese Weise können Angreifer sensible Daten wie Personal Identifiable Information (PII) stehlen.
Gespeicherte Prompt Injection
Gespeicherte Prompt Injection zielt auf LLM-Services ab, indem schädliche Prompts in gespeicherte Nutzerdaten eingebettet werden. Die Prompts werden später vom LLM bei Vorgängen wie der Abfragezusammenfassung gelesen und steuern sein Verhalten.
Dieser Prozess wird wirksam, wenn der LLM Service Workflow Post-Retrieval-Aktionen unterstützt. Ein bösartiger Prompt kann in spätere Abfragen eingeschleust werden, was zu Folgeaktionen führt, die sensible Vorgänge beinhalten können.
Use Case: Hijacking der Zusammenfassung von SQL-Abfrageergebnissen zur Verbreitung über eine Phishing-Mail
Ein Kundenbetreuer (CSR) verwendet einen LLM Service, um Zusammenfassungen von SQL-Abfrageergebnissen aus einer Datenbank (z.B. Chinook) zu generieren. Der Service hat häufig auch eine automatisierte Mail-Funktionalität.
Eine gespeicherte Prompt Injection - die möglicherweise aus vom Nutzer bereitgestellten Abschnitten wie Feedback oder Lieferanweisungen stammt - wird während der Phase der Zusammenfassung der SQL-Abfrage abgerufen. Der injizierte Inhalt zwingt das LLM, die ursprüngliche Anweisung zur Zusammenfassung des SQL-Abfrageergebnisses zu ignorieren und stattdessen eine Phishing Mail zu generieren und zu versenden, die sich als legitime interne Kommunikation ausgibt.

Bild 3. Angriffsablauf
Den genauen Ablauf beinhaltet der Originalbeitrag. Der eingeschleuste Inhalt veranlasst das LLM, eine Mail an die gewünschten Empfänger zu senden und den Phishing-Inhalt im gesamten Unternehmen zu verbreiten. Die Empfänger der Phishing-Mail klicken möglicherweise auf den getarnten Link und gelangen so unwissentlich auf eine bösartige Website. Dies kann zum Diebstahl von Zugangsdaten, zur Infektion mit Malware und zu weitreichenden Netzwerkverletzungen führen.
Vergiftung eines Vektor-Stores
Vergiftung von Vektor-Stores ist eine Bedrohung in Systemen, die Retrieval Augmented Generation (RAG)-Techniken für die semantische Suche verwenden. RAG nutzt die Einbettung von Vektoren, um semantisch ähnliche Datensätze in Datenbanken darzustellen und abzurufen.
In diesen Systemen speichert ein Vektor-Store die Einbettungsvektoren und ihre entsprechenden Ergebnisse. Dieser Mechanismus kann von böswilligen Akteuren ausgenutzt werden. Sie können nicht nur herkömmliche XSS-Payloads einschleusen, sondern auch böswillige Prompts über vom Nutzer bereitgestellte Daten. Sobald sie im Backend gespeichert sind, werden diese injizierten Inhalte in den Vektorspeicher indiziert. Nachfolgende Nutzeranfragen können den bösartigen Inhalt versehentlich abrufen und ausführen. Einen Beispielsfall für diese Bedrohung umfasst ebenfalls der Originalbeitrag.
Fazit und Empfehlungen
Die Bewältigung von Herausforderungen wie Schwachstellen bei der SQL-Generierung, gespeicherte Prompt-Injection und Vergiftung von Vektor-Stores erfordert eine umfassende Sicherheitsstrategie, die robuste Input-Bereinigung, fortschrittliche Absichtserkennung und strenge Zugriffskontrollen kombiniert. Unternehmen müssen sich bei der Integration von Datenbanken und Vektor-Stores in ihre KI-Agenten dieser neuen Herausforderungen bewusst sein. Eine kontinuierliche Verfeinerung der Sicherheitsmaßnahmen ist entscheidend, um diese Systeme wirksam vor neuen Bedrohungen zu schützen.
Im letzten Teil der Untersuchung bieten wir einen umfassenden Leitfaden zur Stärkung von KI-Anwendungen gegen diese Angriffsvektoren, der Maßnahmen wie die Bereinigung von Eingaben bis hin zu robustem Sandboxing und strengen Berechtigungskontrollen umfasst.