ChatGPT Search wird manipuliert

Eine der Hauptanwendungen von Large Language Models (LLMs) ist die Erschließung von Dokumenten, besonders verbreitet dabei die Suche nach Information im Web.

Jetzt hat mit dem Guardian erstmals ein General-Interest-Medium prominent auf ein grundsätzliches Problem der LLMs in diesem Zusammenhang hingewiesen – sie sind sehr leicht zu manipulieren, u.a. durch die Texte, die sie für uns finden und auswerten sollen. The Guardian hat in eigenen Experimenten auf eigens dafür erstellten Produkt-Webseiten Anweisungen versteckt, und damit ChatGPT Search dazu gebracht, das entsprechende Produkt immer positiv zu bewerten, trotz negativer Reviews im sichtbaren Text. 

Wie kann das passieren?

Wenn ein LLM, das der Such-Anwendung zu Grunde liegt, z.B. eine Reihe von Webseiten für uns zusammenfasst und das beste Produkt extrahiert, dann gibt es nicht wie bei „traditionellen“ Software-Anwendungen eine Trennung zwischen Instruktionen in Software-Code und Textinhalten. Die Instruktionen der Anwendungsentwickler an das LLM sind ebenfalls Texte – im vorliegenden Beispiel könnten sie etwa lauten: „ermittle auf den gefundenen Seiten die drei Produkte, die am besten zu den Nutzerwünschen passen und fasse Pro und Contra dieser drei Produkte in einer kurzen Übersicht zusammen.“ Die zu verarbeitenden Texte und diese Instruktionen werden zu einem Text-Input (Prompt) an das LLM zusammengeworfen. Zwar versuchen einige Hersteller ihre Modelle durch eigene Steuercodes und Finetuning dazu zu bringen, zwischen Systeminstruktionen und user input bzw. content zu unterscheiden, was aber nicht immer zuverlässig gelingt. Zum anderen nehmen alle LLMs auch Instruktionen aus dem user input bzw. content entgegen. Das müssen sie auch, um z.B. darauf reagieren zu können wenn Nutzer sie in einem Chat bitten, einen Text zusammenzufassen, umzuformulieren oder zu übersetzen.

Die Konsequenz: Wenn auf einmal ein zu verarbeitender Text Anweisungen enthält, dann wird das LLM denen in vielen Fällen genauso Folge leisten, wie es den Anweisungen der Anwendungsentwickler Folge leistet.

Betrifft uns das, wenn wir eine eigene KI-Anwendung entwickeln?

Das ist nicht nur ein Problem für ChatGPT Search oder Google Gemini. Dieses Problem betrifft jede LLM-Anwendung, die externe Dokumente oder direkten Input von Nutzern verarbeitet. Wenn unsere Anwendung fachlich spezieller ist als eine allgemeine Websuche, kann die Wahrscheinlichkeit gezielter Manipulationen sogar deutlich steigen: Ein Beispiel ist das sogenannte Whitefonting im Recruiting-Bereich: Bewerber wissen, dass ihre Bewerbungen in einem ersten Schritt von einer KI gescreent werden und bringen in ihren Anschreiben und CVs unsichtbare Anweisungen an die KI unter, ihre Bewerbung auf jeden Fall weiterzugeben.

Andere Beispiele sind Reklamationen, oder Schadensmeldungen bei Versicherungen. Überall, wo ein LLM externen Input für die Nutzer aufbereitet oder sogar Entscheidungen auf diesem Input trifft, müssen wir mit dieser Art Manipulation rechnen.

Aber das gute: Eigene Anwendung können gegen Angriffe und Manipulationen geschützt. Es gibt Methoden, mit denen wir erkennen können, ob der Output eines LLM die Systemanweisungen beachtet – oder ob diese gerade durch eine Manipulation „überschrieben“ wurden. Bei LINK2AI haben wir uns genau darauf spezialisiert.