Generative Datenintelligenz

KI-Bots halluzinieren Softwarepakete und Entwickler laden sie herunter

Datum:

In-depth Mehrere große Unternehmen haben Quellcode veröffentlicht, der ein Softwarepaket enthält, das zuvor von generativer KI halluziniert wurde.

Not only that but someone, having spotted this reoccurring hallucination, had turned that made-up dependency into a real one, which was subsequently downloaded and installed thousands of times by developers as a result of the AI’s bad advice, we’ve learned. If the package was laced with actual malware, rather than being a benign test, the results could have been disastrous.

Laut Bar Lanyado, Sicherheitsforscher bei Lasso Security, ist Alibaba eines der Unternehmen, die von der KI dazu verleitet wurden, das Paket zu integrieren pip Befehl um das Python-Paket herunterzuladen huggingface-cli in ihrer GraphTranslator Installationsanleitung.

Es gibt eine Legitimation Huggingface-cli, installiert mit pip install -U "huggingface_hub[cli]".

Aber der huggingface-cli über den Python Package Index (PyPI) verteilt und von Alibabas GraphTranslator benötigt – installiert mit pip install huggingface-cli – ist eine Fälschung, von der KI erfunden und von Lanyado als Experiment in die Realität umgesetzt.

Er erschuf huggingface-cli im Dezember, nachdem es wiederholt durch generative KI halluziniert wurde; Im Februar dieses Jahres verwies Alibaba in den README-Anweisungen von GraphTranslator darauf und nicht auf das echte Hugging Face CLI-Tool.

Studie

Lanyado hat dies getan, um zu untersuchen, ob diese Art von halluzinierten Softwarepaketen – Paketnamen, die vermutlich während der Projektentwicklung von generativen KI-Modellen erfunden wurden – über die Zeit bestehen bleiben und um zu testen, ob erfundene Paketnamen kooptiert und zur Verbreitung von Schadcode durch Schreiben von tatsächlichem Code verwendet werden können Pakete, die die Namen von Codes verwenden, die sich KIs ausgedacht haben.

Die Idee dabei ist, dass jemand, der schändlich ist, Modelle um Code-Ratschläge bitten, sich imaginäre Pakete notieren könnte, die KI-Systeme immer wieder empfehlen, und dann diese Abhängigkeiten implementieren könnte, sodass andere Programmierer, wenn sie dieselben Modelle verwenden und dieselben Vorschläge erhalten, am Ende zuschlagen diese Bibliotheken, die möglicherweise mit Malware vergiftet sind.

Letztes Jahr über die Sicherheitsfirma Vulcan Cyber, Lanyado veröffentlicht Recherchieren Sie detailliert, wie man eine Codierungsfrage an ein KI-Modell wie ChatGPT stellen und eine Antwort erhalten könnte, die die Verwendung einer Softwarebibliothek, eines Pakets oder eines Frameworks empfiehlt, die nicht existiert.

„Wenn ein Angreifer eine solche Kampagne durchführt, fragt er das Modell nach Paketen, die ein Codierungsproblem lösen, und erhält dann einige Pakete, die nicht existieren“, erklärte Lanyado Das Register. „Er lädt Schadpakete mit denselben Namen in die entsprechenden Register hoch und muss von da an nur noch darauf warten, dass die Leute die Pakete herunterladen.“

Gefährliche Annahmen

Die Bereitschaft von KI-Modellen, selbstbewusst zu sein zitieren nicht existierende Gerichtsverfahren ist mittlerweile allgemein bekannt und hat bei Anwälten, die sich dieser Tendenz nicht bewusst waren, nicht wenig Verlegenheit hervorgerufen. Und wie sich herausstellt, werden generative KI-Modelle dasselbe für Softwarepakete tun.

Wie Lanyado zuvor bemerkte, könnte ein Schurke einen von der KI erfundenen Namen für ein Schadpaket verwenden, das in ein Repository hochgeladen wird, in der Hoffnung, dass andere die Malware herunterladen könnten. Damit dies jedoch ein sinnvoller Angriffsvektor ist, müssten KI-Modelle den kooptierten Namen wiederholt empfehlen.

That’s what Lanyado set out to test. Armed with thousands of “how to” questions, he queried four AI models (GPT-3.5-Turbo, GPT-4, Gemini Pro aka Bard, and Coral [Cohere]) regarding programming challenges in five different programming languages/runtimes (Python, Node.js, Go, .Net, and Ruby), each of which has its own packaging system.

Es stellt sich heraus, dass ein Teil der Namen, die diese Chatbots aus dem Nichts ziehen, hartnäckig sind, einige über verschiedene Modelle hinweg. Und Beharrlichkeit – die Wiederholung des falschen Namens – ist der Schlüssel, um aus einer KI-Laune einen funktionierenden Angriff zu machen. Der Angreifer benötigt das KI-Modell, um die Namen halluzinierter Pakete in seinen Antworten an Benutzer zu wiederholen, damit unter diesen Namen erstellte Malware gesucht und heruntergeladen werden kann.

Lanyado wählte zufällig 20 Fragen für Zero-Shot-Halluzinationen aus und stellte sie jedem Modell 100 Mal. Sein Ziel war es herauszufinden, wie oft der halluzinierte Paketname derselbe blieb. Die Ergebnisse seines Tests zeigen, dass Namen oft genug persistent sind, um einen funktionierenden Angriffsvektor darzustellen, allerdings nicht immer und in einigen Verpackungsökosystemen häufiger als in anderen.

Bei GPT-4 erzeugten laut Lanyado 24.2 Prozent der Fragenantworten halluzinierte Pakete, von denen 19.6 Prozent sich wiederholten. Ein Tisch zur Verfügung gestellt Das RegisterUnten finden Sie eine detailliertere Aufschlüsselung der GPT-4-Antworten.

  Python Node.JS Ruby .NET Go
Gesamtzahl der Fragen 21340 13065 4544 5141 3713
Fragen mit mindestens einem Halluzinationspaket 5347 (25%) 2524 (19.3%) 1072 (23.5%) 1476 (28.7 %) 1093 ausnutzbar (21.2 %) 1150 (30.9 %) 109 ausnutzbar (2.9 %)
Halluzinationen im Null-Schuss 1042 (4.8%) 200 (1.5%) 169 (3.7%) 211 (4.1 %) 130 ausnutzbar (2.5 %) 225 (6 %) 14 ausnutzbar (0.3 %)
Halluzinationen im zweiten Schuss 4532 (21%) 2390 (18.3%) 960 (21.1%) 1334 (25.9 %) 1006 ausnutzbar (19.5 %) 974 (26.2 %) 98 ausnutzbar (2.6 %)
Wiederholung im Null-Schuss 34.4% 24.8% 5.2% 14% -

Mit GPT-3.5 lösten 22.2 Prozent der Fragenantworten Halluzinationen aus, bei 13.6 Prozent kam es zu Wiederholungen. Für Zwillinge enthielten 64.5 Prozent der Fragen erfundene Namen, etwa 14 Prozent davon wiederholten sich. Und bei Cohere waren es 29.1 Prozent Halluzinationen und 24.2 Prozent Wiederholungen.

Dennoch wurden die Verpackungsökosysteme in Go und .Net so aufgebaut, dass sie das Ausnutzungspotenzial einschränken, indem sie Angreifern den Zugriff auf bestimmte Pfade und Namen verweigern.

„In Go und .Net haben wir halluzinierte Pakete erhalten, aber viele davon konnten nicht für Angriffe verwendet werden (in Go waren die Zahlen viel aussagekräftiger als in .Net), jede Sprache aus ihrem eigenen Grund“, erklärte Lanyado Das Register. „In Python und npm ist das nicht der Fall, da uns das Modell Pakete empfiehlt, die nicht existieren, und nichts uns daran hindert, Pakete mit diesen Namen hochzuladen, sodass es definitiv viel einfacher ist, diese Art von Angriff auf Sprachen wie z Python und Node.js.“

PoC-Malware verbreiten

Lanyado machte dies deutlich, indem er Proof-of-Concept-Malware verbreitete – eine harmlose Reihe von Dateien im Python-Ökosystem. Basierend auf den Ratschlägen von ChatGPT zur Ausführung pip install huggingface-cli, lud er ein leeres Paket unter demselben Namen auf PyPI hoch – das oben erwähnte – und erstellte ein Dummy-Paket mit dem Namen blabladsa123 um das Scannen der Paketregistrierung von tatsächlichen Download-Versuchen zu trennen.

Das Ergebnis sei das, behauptet er huggingface-cli hat in den drei Monaten, in denen es verfügbar war, mehr als 15,000 authentische Downloads erhalten.

„Darüber hinaus haben wir eine Suche auf GitHub durchgeführt, um festzustellen, ob dieses Paket in den Repositorys anderer Unternehmen verwendet wurde“, sagte Lanyado die Zuschreibung für sein Experiment.

„Unsere Ergebnisse zeigten, dass mehrere große Unternehmen dieses Paket in ihren Repositories entweder verwenden oder empfehlen. Anweisungen zur Installation dieses Pakets finden Sie beispielsweise in der README-Datei eines Repositorys, das der von Alibaba durchgeführten Forschung gewidmet ist.“

Alibaba antwortete nicht auf eine Bitte um Kommentar.

Lanyado sagte auch, dass es ein Hugging Face-eigenes Projekt gab, das das gefälschte Huggingface-Cli beinhaltete, aber das wurde entfernt nachdem er das Geschäft alarmiert hatte.

Zumindest bisher wurde diese Technik, soweit Lanyado bekannt ist, noch nicht bei einem tatsächlichen Angriff eingesetzt.

„Abgesehen von unserem halluzinierten Paket (unser Paket ist nicht bösartig, es ist nur ein Beispiel dafür, wie einfach und gefährlich es sein könnte, diese Technik auszunutzen) habe ich noch keinen Missbrauch dieser Angriffstechnik durch böswillige Akteure identifiziert“, sagte er. „Es ist wichtig zu beachten, dass es schwierig ist, einen solchen Angriff zu identifizieren, da er nicht viele Spuren hinterlässt.“ ®

spot_img

Neueste Intelligenz

spot_img

Chat mit uns

Hallo! Wie kann ich dir helfen?