Entwickler nutzen seit langem Websites wie Stack Overflow als Quellen, um etwa Codebeispiele oder auch Unterstützung zu erhalten. Doch diese Art der Informationsbeschaffung ist angezählt, seit GenAI-Tools wie ChatGPT Beispielcode liefern, von einer Programmiersprache in eine andere übersetzen oder sogar beim Schreiben von Testfällen helfen.
Unter dem Strich entwickelt sich die KI langsam zu einem vollwertigen Mitglied in den Entwicklungsteams. Zumal sie beeindruckende Produktivitätssteigerungen zu bieten scheint.
Risiko KI-generierter Code
Doch diese Entwicklung birgt eine Gefahr. Denn wo hat die KI das Codieren gelernt? In der Regel durch das Lesen von Milliarden von Zeilen an Open-Source-Software. Und diese können beziehungsweise sind voll mit Designfehler und Bugs. Zudem enthalten die Codezeilen auch von Hackern eingeschleuste Malware.
Vor diesem Hintergrund erscheint es geradezu aberwitzig, KI-Tools mit Open Source zu trainieren. Das ist in etwa so, wie wenn man einen Teilnehmer an einem illegalen Autorennen den Auftrag gibt, einen Fahrschüler zu verantwortungsvollem Fahren zu trainieren.
Milliarden von Angriffsmöglichkeiten
Ein paar Zahlen verdeutlichen die Gefahr. So gibt es jährlich weit über eine Milliarde Open-Source-Beiträge zu verschiedenen Repositories. Alleine GitHub hatte im Jahr 2022 mehr als 400 Millionen Beiträge.
Um unbemerkt fehlerhaften Code einzuschleusen, gibt es also genügend Möglichkeiten beziehungsweise "Angriffsflächen". Wird nun eine KI mit diesem Code trainiert, ist der Schaden bereits angerichtet. Schließlich wird jeder von der KI generierte Code durch das Gelernte beeinflusst.
Fehlendes Fachwissen
Deshalb sollt Code, den ein GenAI-Chatbot geschrieben hat, von den Entwicklern genau geprüft werden. Leider ist die Wahrscheinlichkeit hoch, dass Entwickler einen Chatbot dann um Hilfe bitten, wenn ihnen das nötige Fachwissen fehlt, um den Code selbst zu schreiben. Im Umkehrschluss bedeutet das aber auch, dass ihnen auch das Fachwissen fehlt, um zu erkennen, ob der erzeugte Code eine absichtlich versteckte Hintertür oder Malware enthält.
Leider ist die Wahrscheinlichkeit, dass Ihre Entwickler einen Chatbot um Hilfe bitten, dann am größten, wenn ihnen das nötige Fachwissen fehlt, um den Code selbst zu schreiben. Folglich fehlt ihnen dann auch das Fachwissen, um zu erkennen, ob der erzeugte Code eine versteckte Hintertür oder Malware enthält.
Kontrolle ist Pflicht
Unternehmen sollten deshalb KI-generierten Code sorgfältig prüfen und scannen. Dabei ist die Art der verwendeten Scans von Bedeutung. Schließlich wird die von GenAI entwickelte Malware nicht mit bekannten Malware-Signaturen übereinstimmen, denn der generierte Code ändert sich jedes Mal, wenn er geschrieben wird.
Deshalb sollten statische Verhaltensscans und Software-Kompositionsanalysen (SCA) verwendet werden, um zu sehen, ob die generierte Software Designfehler aufweist oder böswillige Aktionen ausführen kann.
Keine gute Idee ist es, entsprechende Testfälle von derselben generativen KI schreiben zu lassen, die den eventuell risikoreichen Code erstellt hat. Sie wird nämlich kaum erkennen, ob von ihrem eigenen Code Gefahr ausgeht.