Banner Aktuelle IT-Sicherheit Online-Schulungen Rabatt
Artikel kostenlos lesen

Einsatz von KI in der Softwareentwicklung: Potenziale und Sicherheitsbedenken : KI-Programmierassistenten zeigen bereits heute ihr Potenzial bei professionellem Einsatz – gleichzeitig sind sicherheitsrelevante Aspekte zu berücksichtigen

Neben dem Erzeugen von Texten in natürlicher Sprache können große Sprachmodelle auch funktionstüchtigen Quellcode generieren. Diese Eigenschaft birgt sowohl Chancen als auch Risiken für die Digitalisierung. Das BSI beobachtet den aktuellen Stand der Technologie und den Trend der Weiterentwicklung.

Lesezeit 3 Min.

Kaum ein technologisches Thema wird derzeit so intensiv diskutiert wie die generative künstliche Intelligenz (KI). Spätestens mit der breiten öffentlichen Wahrnehmung der aktuellen Generation großer Sprachmodelle (Large Language Models, LLMs) ist ihr Anwendungsspektrum auch außerhalb von Fachkreisen bekannt geworden.

Die Fähigkeit dieser Modelle, Quellcode zu generieren, lässt in der Softwarebranche die Hoffnung auf eine effizientere Entwicklung von Softwareprodukten entstehen. Große Teile des Codes könnten dabei automatisiert erstellt werden. Zudem werden in diesem Zusammenhang Impulse für die digitale Transformation erwartet: So könnten Verwaltungsangestellte mit einem kurzen Befehl ein Programm zur automatisierten Auswertung großer Mengen von Excel-Tabellen erstellen – oder Privatpersonen erzeugen sich Programme zur individuellen Erstellung der Steuererklärung. Unternehmen wären in der Lage, veralteten LegacyCode (Teile eines Softwareprodukts, die aus einer frühen Phase der Entwicklung stammen und häufig in nicht mehr gebräuchlichen Programmiersprachen geschrieben wurden) zielgerichtet zu modernisieren – vorausgesetzt, die Assistenten arbeiten zuverlässig, effizient und sicher. Inwiefern die aktuellen Systeme diesen Anforderungen gerecht werden, ist derzeit Gegenstand fachlicher Diskussion.

Abbildung 1: Als Reaktion auf den gegebenen Prompt wird vom KI-Programmierassistenten die Python-Bibliothek „ecdsa“ importiert und genutzt – diese erfüllt jedoch keine Sicherheitsstandards, worauf in der zugehörigen Dokumentation auch explizit hingewiesen wird.
Abbildung 1: Als Reaktion auf den gegebenen Prompt wird vom KI-Programmierassistenten die Python-Bibliothek „ecdsa“ importiert und genutzt – diese erfüllt jedoch keine Sicherheitsstandards, worauf in der zugehörigen Dokumentation auch explizit hingewiesen wird.

Potenziale von KI-Programmierassistenten

Die Einsatzmöglichkeiten von KI-Programmierassistenten sind bereits vielfältig: Auf Basis kurzer Beschreibungen in natürlicher Sprache können Modelle funktionalen Code in gängigen Programmiersprachen erzeugen. Alternativ können sie bereitgestellte Codefragmente vervollständigen. Besonders bei grundlegenden algorithmischen Aufgaben wie Sortierfunktionen oder Graphoperationen generieren sie nicht nur funktionalen, sondern auch laufzeitoptimerten Quellcode.

Auch in verschiedenen Stadien der Softwareentwicklung können KI-Programmierassistenten bereits heute unterstützen. So ist das Auffinden und Beheben von Fehlern im Code (Debugging) für viele verbreitete Sprachen wie Python oder Javascript mit aktuellen Modellen möglich. Ebenso können sie bei der Erstellung von Testfällen unterstützen und somit zur Verbesserung der Softwarequalität beitragen. Die automatische Ergänzung des Quellcodes mit erklärenden Kommentaren erleichtert die spätere Wartung und verbessert die Dokumentation.

Zudem können KI-gestützte Systeme Entwicklerinnen und Entwicklern den Einstieg in bestehende Projekte erleichtern – etwa durch interaktive Frage-Antwort-Dialoge, die Auskünfte über vorhandenen Code geben. Eine automatische Übersetzung von Quellcode in andere Programmiersprachen ist derzeit nur eingeschränkt und meist auf verbreitete Sprachen beschränkt möglich. Insgesamt liegt der Mehrwert der aktuellen Generation von KI-Programmierassistenten primär in der unterstützenden Funktion für erfahrene Fachkräfte.

Sicherheitsbedenken beim Einsatz

Trotz der genannten Vorteile erfordert der gewerbliche oder private Einsatz von KI-Programmierassistenten eine kritische Betrachtung im Hinblick auf die Sicherheit der aktuellen Modellgeneration.

Ein relevanter Aspekt ist die Auswertung der Nutzereingaben durch die Anbieter der Systeme: Ähnlich wie bei KI-basierten Chatbots können Eingaben von Nutzern von den Plattformen zum Finetuning der Modelle verwendet werden. Ohne entsprechende Vorsichtsmaßnahmen besteht das Risiko, dass sensible Daten – etwa API-Schlüssel oder kryptografische Informationen – ungewollt an Dritte gelangen und in künftige Modellversionen einfließen.

Des Weiteren gibt es Sicherheitsbedenken bei der erstellten Software, die beachtet werden müssen – KI-Programmierassistenten produzieren regelmäßig Quellcode, der bekannte Sicherheitslücken, wie beispielsweise Common Weakness Enumerations (CWEs), enthält. Je nachdem, um welche Sicherheitslücken es sich handelt, können durch den Einsatz eines solchen Programms Sicherheitsvorfälle in Unternehmen oder Gefahren für Privatpersonen entstehen.

Ein weiteres Problem besteht im sogenannten „Halluzinieren“ der Modelle: Dabei werden Methoden oder Pakete vorgeschlagen, die entweder nicht existieren oder nicht die intendierte Funktion erfüllen. Problematisch ist auch die Tendenz von Nutzern, ein übermäßiges Vertrauen in die KI zu entwickeln – ein Vorgang, der als Automation Bias bezeichnet wird. Dabei werden Ausgaben der Modelle unkritisch übernommen, was aufgrund der aufgeführten Risiken und Schwierigkeiten zu Sicherheitsproblemen führen kann.

Fazit

Eine Unterstützung ist möglich, vollständige Autonomie nicht ratsam: In der professionellen Softwareentwicklung werden KI-Programmierassistenten bereits heute erfolgreich eingesetzt – allerdings primär als Unterstützungstool für erfahrene Fachkräfte. Hier bieten aktuelle Tools einen Mehrwert, da sie für dieses Einsatzgebiet auch konzipiert wurden. Allerdings erfordert der sichere Einsatz fundiertes Fachwissen von den Nutzern. Aus diesem Grund ist ihr Einsatz in Low-Code- oder No-Code-Umgebungen für fachfremde Nutzer derzeit nur eingeschränkt sinnvoll.

Diesen Beitrag teilen: