Wie sich Fakten und Fiktion trennen lassen Code schreiben mithilfe von KI

Ein Gastbeitrag von Nathan Hamiel * Lesedauer: 5 min |

Anbieter zum Thema

Kaum ein Tag vergeht, an dem Tools wie ChatGPT nicht für Schlagzeilen sorgen. Aus Sicht der IT-Sicherheit ist dabei besonders interessant, wie sehr die kritischen Stimmen dabei im Recht sind.

Large Language Models haben Potenzial, doch Licht und Schatten liegen wie so oft nah beieinander.
Large Language Models haben Potenzial, doch Licht und Schatten liegen wie so oft nah beieinander.

Der rasante Vormarsch von Software, die Sprachmodelle für große Textmengen (Large Language Models, kurz LLM) verwenden, wirft viele Fragen auf. Dabei ist die Bandbreite an Meinungen zu den Auswirkungen riesig. Für einige ist die sogenannte Generative AI ein Allheilmittel für die Probleme der Gesellschaft, andere sehen darin den drohenden Weltuntergang.

Die Wahrheit ist, wenig überraschend, etwas banaler. Wie bei jedem Werkzeug hängt die Effektivität solcher KI-Assistenten oder Chatbots weitgehend davon ab, wie sie genutzt werden und wie gut sie die an sie gestellten Aufgaben erfüllen können. Zu diesen Aufgaben zählen etwa das Schreiben von Computercode oder der Einsatz von Modellen in Werkzeugen, mit deren Hilfe sich Code schreiben und verstehen lässt.

Angesichts der zunehmenden Verbreitung von LLM-basierten Tools ist zu erwarten, dass Entwicklerinnen und Entwickler vermehrt mit der Technologie experimentieren. Sie könnte dabei helfen, die Produktivität zu steigern und Fehler zu vermeiden, ohne die IDE (Integrated Development Environment) verlassen und die Ratgeberplattform Stack Overflow aufsuchen zu müssen.

Aber wie bei jedem neuen Tool gibt es auch hier Risiken, die Security-Fachleute von Unternehmen kennen sollten, um gegebenenfalls Gegenmaßnahmen ergreifen zu können. Entscheidend ist, das Potenzial der Generative-AI-Technologie voll auszuschöpfen und gleichzeitig die Sicherheit in den Vordergrund zu stellen.

Häufige Missverständnisse und Vorurteile

Der Diskurs über LLM wechselt zwischen Hype und Hysterie. Internet-Experten behaupten, der Anwaltsberuf sei bedroht, weil mithilfe von ChatGPT praktisch jeder die Anwaltsprüfung bestehen kann. Und das KI-gestützte Schreiben von Code gilt vielerorts als Möglichkeit, die traditionelle Entwicklung zu ersetzen.

Der Job eines Anwalts besteht aber nicht nur darin, Fragen zur Anwaltskammer zu beantworten. Genauso wenig ist ein Entwickler ausschließlich damit beschäftigt, Codezeilen zu schreiben. Die Realität ist wesentlich nuancierter und komplexer.

KI-gestützte Tools sind aktuell nicht in der Lage, komplette Programme zu schreiben oder kontextbezogene Entscheidungen auf Basis einer großen, vernetzten Codebasis zu fällen. Denn die Eingabeaufforderungen für die Interaktion beschränken sich auf eine bestimmte Anzahl von Token. Das heißt, es lässt sich nur eine begrenzte Menge an Informationen aus dem aktuellen Kontext in die Anfrage an das Tool aufnehmen.

Die derzeit verfügbaren Codierungsassistenten können auch keine großen Dokumente analysieren, Anforderungen daraus ableiten und auf der Grundlage dieser Anforderungen Code generieren. Bevor dies mit einer akzeptablen Fehlerquote machbar ist, muss eine ganze Reihe von Komplexitäten bewältigt werden. Und dieses Ziel ist in der Praxis noch unerreichbar.

Risiken der KI-gestützten Programmierung

Der Einsatz automatischer Codierungsassistenten birgt gleich mehrere Risiken. Sie liefern ähnlich überraschende und rätselhafte Ergebnisse wie traditionelle LLMs, die auf menschliche Sprache angewendet werden. Die Entwicklungsteams sollten LLM-generierte Lösungen daher immer bewerten, um mögliche Probleme zu vermeiden.

Ein großes Risiko besteht im sogenannten Automation Bias. Gemeint ist, dass Menschen den Vorschlägen eines automatisierten Systems folgen, selbst wenn sie ihrer eigenen Intuition oder Logik widersprechen. Auch das implizite Vertrauen der Developer in die Ergebnisse des LLM kann zur Implementierung von potenziell fehlerhaftem Code führen und die Sicherheit des Unternehmens beeinträchtigen. Selbst bei funktionalem Code gibt es keine Garantie dafür, dass das KI-Tool ihn ohne Risiko ausgibt.

Ein weiteres Problem sind die architektonischen Herausforderungen. LLMs fehlt kontextbezogenes Wissen über das umfassende Softwaresystem, das erstellt werden soll, oder über individuelle Ziele. Sie haben nur einen begrenzten Einblick in bereits geschriebenen Code.

Arbeiten die Entwickler beispielsweise an einer großen Codebasis mit miteinander verbundenen Komponenten, wird das Tool diesen Kontext nicht verstehen und möglicherweise nur einzelne Vorschläge machen. Und das kann den Code unnötig aufblähen und Wartungsprobleme verursachen.

Datenlecks sind ebenfalls ein Risikofaktor. Die Anbieter stellen ihre KI-gestützten Codierungsassistenten in der Regel in einem „as a service“-Modell zur Verfügung. Daher können die in einer Eingabeaufforderung gesendeten Informationen sensible Daten enthalten – etwa Tastatureingaben und andere Metadaten aus dem Projekt sowie Quellcodeabschnitte, Kommentare und Telemetriedaten.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Diese Daten sind einsehbar, wenn die Eingabeaufforderungen erstellt und erfasst werden, bevor sie an den API-Endpunkt gesendet werden. Unternehmen haben keine Kontrolle darüber, wie sie erfasst, gespeichert oder später von den Drittanbietern verwendet werden – etwa für Schulungen und Verbesserungen. Es kann auch vorkommen, dass die Eingaben des Tools von Menschen überprüft werden, also dass der Trainingsprozess nicht rein automatisiert abläuft. Auch das ist ein ernsthaftes Risiko.

Weitere Herausforderungen

Der Einsatz von Generative-AI-Assistenten birgt aber bekanntlich nicht nur technische Risiken. Auch ein grundsätzliches Verbot kann zu Problemen führen. Denn dann besteht zum einen die Gefahr, dass die Programmierer die Tools einfach weiterverwenden, ohne das Sicherheitsteam darüber zu informieren. Dieses Verhalten kennt man von den Anfängen des Cloud Computing. Zum anderen haben die KI-gestützten Tools im ausgereiften Stadium das Potenzial, die Entwicklung zu rationalisieren.

Wie bei jeder neuen Technologie braucht es durchdachte Ansätze auf der Basis bestehender Risiken. Die Security-Verantwortlichen sollten daher eng mit den Entwicklern zusammenarbeiten, um die Tools sicher in die Umgebung einzuführen. Dabei sollten sich auch die Programmierer immer der potenziellen Risiken bewusst sein.

Obwohl das automatisierte Code-Schreiben noch relativ neu ist, gibt es bereits heute viele Werkzeuge und Prozesse, um die damit verbundenen Risiken zu minimieren. Mit der Implementierung einer effektiven Strategie lassen sich die Risikofaktoren auf ein akzeptables Niveau reduzieren, ohne dass die Entwickler auf bevorzugte Tools verzichten müssen. Allerdings sollten mögliche Probleme beim Einsatz einkalkuliert und der Output der KI zum Zeitpunkt der Erstellung als Alpha- oder Beta-Qualität eingestuft werden.

Der Einsatz von KI erfordert einige Vorbereitung.
Der Einsatz von KI erfordert einige Vorbereitung.
(Bild: Kudelski Security)

Um die Risiken einzudämmen, sollte der hier dargestellte Prozess befolgt werden. In Anbetracht der Risiken und des Fehlerpotenzials von KI-gestützten Coding-Assistenten empfiehlt es sich, ihren Code wie Beiträge von Dritten zu behandeln. Und auch wenn die Tools perfekt funktionieren und offensichtlich keine Probleme bereiten, sollten sie immer auf Sicherheitsaspekte geprüft werden.

Fazit

Noch befinden wir uns in der Anfangsphase. Es bleibt abzuwarten, wie sich der Einsatz der LLMs auswirken wird. Neue Technologien sind immer gut für Überraschungen, aber Überraschungen sind nicht immer gut für die Sicherheit. KI-gestützte Tools können die Entwickler bei ihrer Arbeit unterstützen und die Produktivität positiv beeinflussen. Auf der anderen Seite nutzen sie Inhalte, die von Menschen überall auf der Welt erstellt worden sind.

Wohl kaum einer dieser Autoren hat zugestimmt, dass sein Text für solche Zwecke verwendet werden darf. Es gab bereits erste rechtliche Anfechtungen, und in Zukunft könnte es noch mehr juristische Probleme geben. Die Wahrheit ist aber auch, dass die Tools jetzt da sind und jeden Tag genutzt werden. Daher ist es unerlässlich, sie zu verstehen und eine klare Haltung zu ihrem Einsatz einzunehmen.

* Nathan Hamiel ist Senior Director of Research bei Kudelski Security.

(ID:49436815)