Der vor kurzem gestarteten Versuch der Versionsverwaltungsplattform Github, Entwicklern mit Copilot eine künstliche Intelligenz zur Seite zu stellen, die Code erzeugt, ist aus Sicht eines Forscherteams stark fehlerbehaftet.
Copilot ist ein Sprachmodell, das anhand von Open-Source-Code von Github trainiert wurde. Copilot beziehe dann Kontext aus dem vom Entwickler geschriebenen Code und schlage ganze Zeilen oder auch Funktionen vor, hatte Github-CEO Nat Friedman zur Einführung des Tools geschrieben.
Ein Forscherteam der Cornell Universty hat sich dem Copiloten nun mit empirischen Versuchen zur Sicherheit des produzierten Codes genähert und hat herausgefunden, dass der Code oft Fehler enthält. Angesichts der riesigen Menge an ungeprüften Codes, die Copilot verarbeitet habe, sei es sicher, dass das Sprachmodell aus angreifbarem, fehlerhaftem Code gelernt habe. Das werfe Bedenken hinsichtlich der Sicherheit der Codebeiträge von Copilot auf, schreiben die Forscher. In ihrer Arbeit haben sie die Bedingungen untersucht, die Github Copilot dazu veranlassen könnte, unsicheren Code zu empfehlen.
Um ihre Analyse durchzuführen, ließen sie Copilot Code in Szenarien generieren, die für hochriskante Common Weakness Enumerations (CWE) relevant sind. Dazu zählen die Forscher etwa solche aus der “Top 25”-Liste von MITRE. Untersucht haben sie den Output von Copilot auf drei verschiedenen Achsen der Codegenerierung, schreiben die Forscher. Dabei wurde berücksichtigt, wie Copilot bei unterschiedlichen Schwachstellen, unterschiedlichen Aufforderungen und unterschiedlichen Domänen abschneidet. Insgesamt seien 89 verschiedene Szenarien für Copilot erstellt worden, aus denen 1692 Programme hervorgingen, teilen die Forscher mit. Von diesen Programmen hätten sich etwa 40 Prozent als anfällig erwiesen.



