Sicherheit · Fortgeschritten

Sicherheit in modellbasierten Systemen

In einem Satz: Ein Modell fügt zwei neue Risiken hinzu: externen Inhalt, der als Anweisung ausgelegt wird, und Ausgabe, die ungeprüft an eine sensible Stelle gelangt.

Prompt-Injektion

Jeder Text, den das System liest — E-Mail, eine Website, ein Dokument, ein Kommentar — kann Anweisungen enthalten. Das Modell unterscheidet Ihre Anweisung nicht von Text, der wie eine Anweisung aussieht.

Die Regel: Externer Inhalt ist Daten, nie ein Befehl. Aus ihm abgeleitete Aktionen mit Wirkung erfordern menschliche Freigabe oder eine harte Regel im Code.

Ausgabe als Eingabe

Führt, sendet oder speichert das System das vom Modell Erzeugte, behandeln Sie die Ausgabe als nicht vertrauenswürdige Eingabe: Schemavalidierung, Zeichen-Escaping und eine Liste erlaubter Aktionen. Ein Modell, das eine Abfrage erzeugt, sollte sie nicht direkt gegen eine Datenbank mit breiten Berechtigungen ausführen.

Ein Leck in die andere Richtung

Im Prompt gesendete sensible Informationen und abgerufene Abschnitte, die der Nutzer nicht sehen darf. Die Berechtigungsfilterung muss auf der Abrufstufe geschehen, und ein Systemprompt ist kein Geheimnis — man kann das Modell dazu bringen, ihn zu offenbaren.

Im Detail

Führen Sie als Teil des Testens eine Reihe feindlicher Szenarien aus: Dokumente mit versteckten Anweisungen, Versuche, Anweisungen zu extrahieren, und Eingabe, die Berechtigungen zu erweitern versucht. Bewahren Sie sie als Regression, denn eine Modell- oder Prompt-Änderung kann Geschlossenes wieder öffnen.