Zephyrnet-Logo

Allgegenwärtige LLM-Halluzinationen erweitern die Angriffsfläche für Codeentwickler

Datum:

Der Einsatz von Large Language Models (LLMs) durch Softwareentwickler bietet Angreifern laut einer kürzlich veröffentlichten Studie eine größere Chance als bisher angenommen, Schadpakete in Entwicklungsumgebungen zu verteilen.

Die Studie des LLM-Sicherheitsanbieters Lasso Security ist eine Folgestudie zu einem Bericht aus dem letzten Jahr über das Potenzial für Angreifer missbrauchen die Halluzinationsneigung von LLMsoder um scheinbar plausible, aber nicht sachlich fundierte Ergebnisse als Reaktion auf Benutzereingaben zu generieren.

AI-Paket-Halluzination

Das früheren Studie konzentrierte sich auf die Tendenz von ChatGPT, unter anderem die Namen von Codebibliotheken zu erfinden, als Softwareentwickler den KI-fähigen Chatbot in einer Entwicklungsumgebung um Hilfe baten. Mit anderen Worten: Der Chatbot spuckte manchmal Links zu nicht vorhandenen Paketen in öffentlichen Code-Repositorys aus, wenn ein Entwickler ihn aufforderte, Pakete zur Verwendung in einem Projekt vorzuschlagen.

Der Sicherheitsforscher Bar Lanyado, Autor der Studie und jetzt bei Lasso Security, hat herausgefunden, dass Angreifer leicht ein tatsächlich bösartiges Paket an dem Speicherort ablegen könnten, auf den ChatGPT verweist, und ihm denselben Namen wie das halluzinierte Paket geben könnten. Jeder Entwickler, der das Paket auf der Grundlage der Empfehlung von ChatGPT herunterlädt, könnte am Ende Malware in seine Entwicklungsumgebung einschleusen.

Lanyados Nachforschungen untersuchten die Verbreitung des Problems der Pakethalluzination in vier verschiedenen großen Sprachmodellen: GPT-3.5-Turbo, GPT-4, Gemini Pro (ehemals Bard) und Coral (Cohere). Er testete außerdem die Neigung jedes Modells, halluzinierte Pakete über verschiedene Programmiersprachen hinweg zu generieren, und die Häufigkeit, mit der sie dasselbe halluzinierte Paket generierten.

Für die Tests hat Lanyado eine Liste mit Tausenden von „How to“-Fragen zusammengestellt, mit denen Entwickler in verschiedenen Programmierumgebungen – Python, node.js, go, .net, Ruby – am häufigsten Hilfe von LLMs in Entwicklungsumgebungen suchen. Anschließend stellte Lanyado jedem Modell eine codierungsbezogene Frage sowie eine Empfehlung für ein Paket im Zusammenhang mit der Frage. Er bat außerdem jedes Modell, 10 weitere Pakete zu empfehlen, um das gleiche Problem zu lösen.

Wiederholte Ergebnisse

Die Ergebnisse waren besorgniserregend. Erstaunliche 64.5 % der „Gespräche“, die Lanyado mit Zwillingen führte, führten zu halluzinierten Paketen. Bei Coral lag diese Zahl bei 29.1 %; Andere LLMs wie GPT-4 (24.2 %) und GPT3.5 (22.5 %) schnitten nicht viel besser ab.

Als Lanyado jedem Modell 100 Mal die gleichen Fragen stellte, um zu sehen, wie oft die Modelle dieselben Pakete halluzinierten, stellte er fest, dass auch die Wiederholungsraten die Augenbrauen hochzogen. Cohere zum Beispiel spuckte in über 24 % der Fälle die gleichen halluzinierten Pakete aus; Chat GPT-3.5 und Gemini liegen bei etwa 14 %, GPT-4 bei 20 %. In mehreren Fällen halluzinierten verschiedene Modelle die gleichen oder ähnliche Pakete. Die höchste Anzahl solcher Kreuzhalluzinationen trat zwischen GPT-3.5 und Gemini auf.

Laut Lanyado besteht die Wahrscheinlichkeit, dass der LLM in jedem Fall dasselbe halluzinierte Paket empfehlen würde, selbst wenn verschiedene Entwickler einem LLM eine Frage zum gleichen Thema stellten, die Fragen jedoch unterschiedlich formulierten. Mit anderen Worten: Jeder Entwickler, der ein LLM zur Codierungsunterstützung nutzt, würde wahrscheinlich auf viele der gleichen halluzinierten Pakete stoßen.

„Die Frage könnte völlig anders sein, aber zu einem ähnlichen Thema, und die Halluzination würde trotzdem auftreten, was diese Technik sehr effektiv macht“, sagt Lanyado. „In der aktuellen Forschung haben wir ‚sich wiederholende Pakete‘ für viele verschiedene Fragen und Themen und sogar über verschiedene Modelle hinweg erhalten, was die Wahrscheinlichkeit erhöht, dass diese halluzinierten Pakete verwendet werden.“

Einfach auszunutzen

Ein Angreifer, der beispielsweise mit den Namen einiger halluzinierter Pakete bewaffnet ist, könnte Pakete mit denselben Namen in die entsprechenden Repositories hochladen, wohlwissend, dass die Wahrscheinlichkeit hoch ist, dass ein LLM Entwickler darauf hinweisen würde. Um zu zeigen, dass die Bedrohung nicht theoretisch ist, nahm Lanyado ein halluziniertes Paket namens „huggingface-cli“, das ihm während seiner Tests begegnet war, und lud ein leeres Paket mit demselben Namen in das Hugging Face-Repository für Modelle für maschinelles Lernen hoch. Entwickler hätten dieses Paket mehr als 32,000 Mal heruntergeladen, sagt er.

Aus Sicht eines Bedrohungsakteurs bieten Pakethalluzinationen einen relativ einfachen Vektor für die Verbreitung von Malware. „Wie wir anhand der Forschungsergebnisse gesehen haben, ist es nicht so schwer“, sagt er. Im Durchschnitt halluzinierten alle Modelle zusammen bei fast 35 Fragen zu 48,000 %, fügt Lanyado hinzu. GPT-3.5 hatte den niedrigsten Prozentsatz an Halluzinationen; Gemini erzielte mit einer durchschnittlichen Wiederholgenauigkeit von 18 % bei allen vier Modellen die höchste Punktzahl, stellt er fest.

Lanyado empfiehlt Entwicklern, vorsichtig zu sein, wenn sie auf Paketempfehlungen eines LLM reagieren, wenn sie sich deren Richtigkeit nicht ganz sicher sind. Er sagt außerdem, dass Entwickler, wenn sie auf ein unbekanntes Open-Source-Paket stoßen, das Paket-Repository besuchen und die Größe seiner Community, seine Wartungsaufzeichnungen, seine bekannten Schwachstellen und seine Gesamteingriffsrate untersuchen müssen. Entwickler sollten das Paket außerdem gründlich scannen, bevor sie es in die Entwicklungsumgebung einführen.

spot_img

Neueste Intelligenz

spot_img