Sicherheitsforscher des Cyber-Risikomanagement-Unternehmens Vulcan.io haben einen Proof of Concept veröffentlicht, der zeigt, wie Hacker chatgpt 3.5 nutzen können, um Schadcode aus vertrauenswürdigen Repositories zu verbreiten.

Die Studie macht auf Sicherheitsrisiken aufmerksam, die mit der Verwendung von ChatGPT-Vorschlägen für Codierungslösungen verbunden sind.

Methodik

Die Forscher sammelten häufig gestellte Codierungsfragen auf Stack Overflow (einem Codierungs-Fragen- und Antwortforum).

Sie wählten 40 Programmierfächer (wie Parsing, Mathematik, Scraping-Technologien usw.) und verwendeten die ersten 100 Fragen für jedes der 40 Fächer.

Der nächste Schritt bestand darin, nach „How to“-Fragen zu filtern, die Programmierpakete in der Abfrage enthielten.

Die gestellten Fragen standen im Zusammenhang mit Node.js und Python.

Vulcan.io erklärt:

„Alle diese Fragen wurden mit der in der Frage enthaltenen Programmiersprache (node.js, python, go) gefiltert. Nachdem wir viele häufig gestellte Fragen gesammelt hatten, haben wir die Liste auf die „How to“-Fragen eingegrenzt.

Dann stellten wir ChatGPT über seine API alle Fragen, die wir gesammelt hatten.

Wir haben die API verwendet, um den Ansatz eines Angreifers zu reproduzieren, um in kürzester Zeit so viele nicht vorhandene Paketempfehlungen wie möglich zu erhalten.

Zusätzlich zu jeder Frage und im Anschluss an die Antwort von ChatGPT haben wir eine Folgefrage hinzugefügt, in der wir darum gebeten haben, weitere Pakete bereitzustellen, die die Anfrage ebenfalls beantworteten.

Wir haben alle Gespräche in einer Datei gespeichert und dann ihre Antworten analysiert.“

Als nächstes durchsuchten sie die Antworten, um Empfehlungen für Codepakete zu finden, die nicht existierten.

Siehe auch  wenn ChatGPT Kaltakquise in Angriff nimmt

Bis zu 35 % der ChatGPT-Codepakete waren halluziniert

Von 201 Node.js-Fragen empfahl ChatGPT 40 Pakete, die nicht existierten. Das bedeutet, dass 20 % der ChatGPT-Antworten halluzinierte Codepakete enthielten.

Bei den Python-Fragen bestanden von 227 Fragen über ein Drittel der Antworten aus halluzinierten Codepaketen, 80 Pakete existierten nicht.

Tatsächlich war die Gesamtzahl der unveröffentlichten Pakete sogar noch höher.

Die Forscher dokumentierten:

„In Node.js haben wir 201 Fragen gestellt und festgestellt, dass mehr als 40 dieser Fragen eine Antwort hervorriefen, die mindestens ein Paket enthielt, das nicht veröffentlicht wurde.

Insgesamt haben wir mehr als 50 unveröffentlichte npm-Pakete erhalten.

In Python haben wir 227 Fragen gestellt und für mehr als 80 dieser Fragen haben wir mindestens ein unveröffentlichtes Paket erhalten, was insgesamt über 100 unveröffentlichte Pip-Pakete ergibt.“

Proof of Concept (PoC)

Was folgt, ist der Proof of Concept. Sie nahmen den Namen eines der nicht existierenden Codepakete, die eigentlich im NPM-Repository vorhanden sein sollten, und erstellten eins mit demselben Namen in diesem Repository.

Die von ihnen hochgeladene Datei war nicht bösartig, aber sie meldete, dass sie von jemandem installiert wurde.

Sie schreiben:

„Das Programm sendet an den Server des Bedrohungsakteurs den Hostnamen des Geräts, das Paket, aus dem es stammt, und den absoluten Pfad des Verzeichnisses, das die Moduldatei enthält …“

Als nächstes kam ein „Opfer“, stellte die gleiche Frage wie der Angreifer und empfahl ChatGPT das Paket mit dem „bösartigen“ Code und wie man es installiert.

Und tatsächlich ist das Paket installiert und aktiviert.

Die Forscher erklärten, was als nächstes geschah:

„Das Opfer installiert das Schadpaket gemäß der Empfehlung von ChatGPT.

Der Angreifer erhält Daten vom Opfer basierend auf unserem Vorinstallationsaufruf an node index.js an den langen Hostnamen.“

Eine Reihe von Proof-of-Concept-Bildern zeigen die Details der Installation durch den ahnungslosen Benutzer.

Siehe auch  ChatGPT-Hersteller OpenAI eröffnet App-Store für KI-Software: Bericht

So schützen Sie sich vor schlechten ChatGPT-Codierungslösungen

Die Forscher empfehlen, vor dem Herunterladen und Installieren eines Pakets nach Anzeichen zu suchen, die darauf hinweisen könnten, dass das Paket möglicherweise bösartig ist.

Achten Sie auf Dinge wie das Erstellungsdatum, die Anzahl der Downloads und auf das Fehlen positiver Kommentare und das Fehlen angehängter Notizen zur Bibliothek.

Ist ChatGPT vertrauenswürdig?

ChatGPT wurde nicht darin geschult, korrekte Antworten anzubieten. Es wurde darauf trainiert, Antworten anzubieten, die richtig klingen.

Diese Forschung zeigt die Konsequenzen dieses Trainings. Das bedeutet, dass es sehr wichtig ist, zu überprüfen, ob alle Fakten und Empfehlungen von ChatGPT korrekt sind, bevor Sie es verwenden.

Akzeptieren Sie nicht einfach, dass die Ausgabe gut ist, sondern überprüfen Sie sie.

Speziell beim Codieren kann es sinnvoll sein, besonders vorsichtig zu sein, bevor Sie von ChatGPT empfohlene Pakete installieren.

Lesen Sie die Original-Forschungsdokumentation:

Können Sie den Paketempfehlungen von ChatGPT vertrauen?

Ausgewähltes Bild von Shutterstock/Roman Samborskyi

Anzeige

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein