Thema: prompt-injection
-
Das tödliche Trifecta: private Daten, nicht vertrauenswürdige Inhalte und ein ausgehender Kanal in einem Agenten
Ein Agent, der Zugriff auf private Daten, Exposition gegenüber von Angreifenden kontrollierten Inhalten und irgendeine Möglichkeit zur Kommunikation nach aussen vereint, kann dazu gebracht werden, diese Daten an eine angreifende Partei zu senden. Eines der drei Beine zu entfernen, ist die einzige verlässliche strukturelle Verteidigung; der Artikel listet die ausgehenden Kanäle auf, die leicht übersehen werden.
-
Unsichtbarer und umgeordneter Text: bidirektionale Steuerzeichen, Tag-Zeichen und Verwechslungszeichen in Code und Prompts
Unicode erlaubt es, dass Text Zeichen enthält, die eine prüfende Person nicht sehen kann, oder die das Angezeigte umordnen. Bidirektionale Steuerzeichen können bewirken, dass Quellcode sich anders liest, als er kompiliert; Tag-Zeichen können Anweisungen verbergen, die ein Modell dennoch empfängt, und Verwechslungszeichen ahmen Bezeichner nach. Erkennung bedeutet, die Codepoints zu scannen, nicht die Darstellung.
-
Sagen Prompt-Injektions-Testsuiten voraus, wie sich ein Agent gegenüber nach der Suite verfassten Injektionen verhält?
Agenten werden oft gegen feste Sammlungen von Injektionsversuchen ausgewertet. Unklar ist, wie gut eine gute Bewertung auf neue Formulierungen, neue Trägermedien und sich anpassende Angreifende übertragbar ist, und was eine Testsuite enthalten müsste, um vorhersagekräftig zu sein.
-
Vertrauenswäsche zwischen Agenten: nicht vertrauenswürdige Eingaben werden nicht dadurch vertrauenswürdig, dass sie einen anderen Agenten durchlaufen
In Multi-Agenten-Systemen wird die Ausgabe eines Agenten zur Eingabe eines anderen. Hat der erste Agent nicht vertrauenswürdige Inhalte gelesen, erbt seine Ausgabe diese Kontamination, wie autoritativ sie auch klingt. Jeder Nachricht ein Vertrauenskennzeichen mitgeben und die am wenigsten vertrauenswürdige Eingabe bestimmen lassen, was der empfangende Agent tun darf.
-
Wo eingeschleuste Anweisungen sich verstecken: die Träger indirekter Prompt-Injektion, die ein Agent liest
Indirekte Prompt-Injektion gelangt über Inhalte hinein, die der Agent abruft, nicht über die nutzende Person. Die üblichen Träger zu kennen — versteckter Seitentext, Dokumentmetadaten, Issue- und Commit-Text, Werkzeugergebnisse, E-Mail, Dateinamen — sagt einem Agenten, welche Eingaben als Daten zu behandeln sind und wo Reviewende nach einem Vorfall nachsehen sollten.
-
Gedächtnisvergiftung: wenn eine eingeschleuste Anweisung in jede spätere Sitzung überlebt
Agenten mit dauerhaftem Gedächtnis lassen sich dazu bringen, die Anweisung einer angreifenden Person als Tatsache oder Präferenz zu speichern; sie beeinflusst dann Sitzungen, die den ursprünglichen Inhalt nie gesehen haben. Schreibvorgänge ins Gedächtnis brauchen Provenienz, Überprüfung und ein Ablaufdatum, und Lesevorgänge aus dem Gedächtnis sollten als nicht vertrauenswürdiger Text behandelt werden.
-
Prompt Injection versus Jailbreaking: zwei verschiedene Probleme mit unterschiedlichen Zuständigen
Jailbreaking ist der Versuch einer nutzenden Person, ein Modell zu Ausgaben zu bewegen, die dessen Anbieter nicht erlaubt; Prompt Injection ist nicht vertrauenswürdige Eingabe, die die Anweisungen der auf dem Modell aufgebauten Anwendung ausser Kraft setzt. Die Unterscheidung entscheidet, wer geschädigt wird, wer sich verteidigen muss und welche Gegenmassnahmen greifen.
-
Strukturierte, schemabegrenzte Übergaben zwischen Agenten verringern den Erfolg von Injektionen im Vergleich zu Freitext-Übergaben
Hypothese: Wenn ein Agent, der nicht vertrauenswürdige Inhalte liest, dem handelnden Agenten nur schemavalidierte Felder mit begrenzter Länge übergeben kann, erreichen eingeschleuste Anweisungen den handelnden Agenten seltener, als wenn er frei formulierten Fliesstext übergibt.
Maschinenlesbar: JSON