Untersuchung der Auswirkungen von KI-Assistenten wie GitHub Copilot auf die Codesicherheit

Eine Gruppe von Forschern der Stanford University untersuchte die Auswirkungen des Einsatzes intelligenter Assistenten beim Schreiben von Code auf das Auftreten von Schwachstellen im Code. Wir haben Lösungen in Betracht gezogen, die auf der Plattform für maschinelles Lernen OpenAI Codex basieren, wie z. B. GitHub Copilot, mit denen Sie ziemlich komplexe Codeblöcke bis hin zu vorgefertigten Funktionen generieren können. Die Bedenken beziehen sich auf die Tatsache, dass zum Trainieren des maschinellen Lernmodells echter Code aus öffentlichen GitHub-Repositorys verwendet wurde, einschließlich solcher, die Schwachstellen enthalten. Der synthetisierte Code kann Fehler wiederholen und Code vorschlagen, der Schwachstellen enthält, und berücksichtigt dies auch nicht die Notwendigkeit, bei der Verarbeitung externer Daten zusätzliche Prüfungen durchzuführen.

An der Studie nahmen 47 Freiwillige mit unterschiedlicher Programmiererfahrung teil – von Studenten bis zu Profis mit zehn Jahren Erfahrung. Die Teilnehmer wurden in zwei Gruppen eingeteilt – Experimentalgruppe (33 Personen) und Kontrollgruppe (14 Personen). Beide Gruppen hatten Zugriff auf alle Bibliotheken und Internetressourcen, einschließlich der Verwendung vorgefertigter Beispiele von Stack Overflow. Der Experimentalgruppe wurde die Möglichkeit gegeben, den KI-Assistenten zu nutzen.

Jeder Teilnehmer erhielt 5 Aufgaben im Zusammenhang mit dem Schreiben von Code, bei dem es möglicherweise leicht zu Fehlern kommt, die zu Schwachstellen führen. Beispielsweise gab es Aufgaben zum Schreiben von Verschlüsselungs- und Entschlüsselungsfunktionen, zur Verwendung digitaler Signaturen, zur Verarbeitung von Daten bei der Bildung von Dateipfaden oder SQL-Abfragen, zur Manipulation großer Zahlen im C-Code und zur Verarbeitung von auf Webseiten angezeigten Eingaben. Um die Auswirkungen von Programmiersprachen auf die Sicherheit des beim Einsatz von KI-Assistenten erhaltenen Codes zu berücksichtigen, wurden Python, C und JavaScript in den Aufgaben behandelt.

Dabei zeigte sich, dass Teilnehmer, die einen intelligenten KI-Assistenten auf Basis des Codex-Davinci-002-Modells nutzten, deutlich weniger sicheren Code produzierten als Teilnehmer, die keinen KI-Assistenten nutzten. Im Allgemeinen konnten nur 67 % der Teilnehmer der Gruppe, die den KI-Assistenten nutzten, einen korrekten und sicheren Code bereitstellen, während dieser Wert in der anderen Gruppe bei 79 % lag.

Gleichzeitig kehrten sich die Selbstwertindikatoren um – Teilnehmer, die den KI-Assistenten nutzten, glaubten, dass ihr Code sicherer sei als der der Teilnehmer aus der anderen Gruppe. Darüber hinaus wurde festgestellt, dass Teilnehmer, die dem KI-Assistenten weniger vertrauten und mehr Zeit mit dem Parsen und Vornehmen von Änderungen an den gegebenen Hinweisen verbrachten, weniger Schwachstellen im Code aufwiesen.

Beispielsweise enthielt der aus den kryptografischen Bibliotheken kopierte Code sicherere Standardparameterwerte als der vom KI-Assistenten vorgeschlagene Code. Außerdem wurden bei der Verwendung des KI-Assistenten die Auswahl weniger zuverlässiger Verschlüsselungsalgorithmen und das Fehlen einer Authentifizierung der zurückgegebenen Werte behoben. Bei der C-Zahlenmanipulationsaufgabe wies der mit dem KI-Assistenten geschriebene Code mehr Fehler auf, was zu einem Ganzzahlüberlauf führte.

Darüber hinaus ist auf eine ähnliche Studie einer Gruppe der New York University hinzuweisen, die im November unter Beteiligung von 58 Studenten durchgeführt wurde und die Aufgabe hatte, eine Struktur zur Verarbeitung einer Einkaufsliste in C zu implementieren. Die Ergebnisse zeigten einen vernachlässigbaren Einfluss des KI-Assistenten auf die Codesicherheit – Benutzer, die den KI-Assistenten verwendeten, machten im Durchschnitt etwa 10 % mehr sicherheitsrelevante Fehler.

Untersuchung der Auswirkungen von KI-Assistenten wie GitHub Copilot auf die Codesicherheit


Source: opennet.ru

Kommentar hinzufügen