Die Verbreitung von KI-generiertem Code ohne ordnungsgemäße Tests kann für Unternehmen verschiedene Risiken und Konsequenzen mit sich bringen.
Ungetesteter Code kann Bugs und Irrtümer enthalten, die zu Abstürzen und schlechter Leistung führen, möglicherweise nicht den Qualitätsstandards oder Best Practices entsprechen oder behördliche Standards und Compliance-Anforderungen einhalten, was möglicherweise rechtliche und finanzielle Auswirkungen haben kann.
Um qualitativ hochwertigen Code sicherzustellen, sollten IT-Leiter der menschlichen Aufsicht und kontinuierlichen Überwachung Priorität einräumen und diese Maßnahmen mit gründlichen Tests und Codeüberprüfungen kombinieren, um sicherzustellen, dass KI-generierter Code mit Sicherheitsprotokollen übereinstimmt.
„Führen Sie Tests durch, wann, wo und wie Ihre Entwickler arbeiten“, sagt Scott Gerlach, Mitbegründer und CSO StackHawk. „Berücksichtigen Sie die Testanforderungen frühzeitig und beziehen Sie alle wichtigen Interessengruppen in die Prozessgestaltung ein, um sicherzustellen, dass sie akzeptiert werden.“ Er empfiehlt, Tests zu einem integralen Bestandteil des Softwareentwicklungslebenszyklus zu machen, indem Tests in kontinuierlicher Integration und kontinuierlicher Bereitstellung (CI/CD) automatisiert werden, während Entwickler am Code arbeiten.
„Schulen Sie Ihre Entwickler durch gezielte Schulungen auf der Grundlage von Mustern im Kontext ihres Codes und ihrer Bedeutung für das Unternehmen“, fügt er hinzu. „Sie müssen außerdem Self-Service-Tools bereitstellen, die Entwicklern helfen, die auftretenden Probleme zu verstehen, warum sie wichtig sind und wie sie das Problem reproduzieren können, damit sie es beheben, Entscheidungen treffen und dokumentieren können.“
Jim Scheibmeir, Senior Director Analyst bei Gartner, erklärt per E-Mail, dass die Verwendung von Code von KI-Codierungsassistenten ein ähnliches Risiko birgt wie das Kopieren und Einfügen von Code aus Stack Overflow oder anderen Internetressourcen durch Entwickler.
„Wir müssen KI-Codierungsassistenten verwenden, um Codedokumentation zu erstellen, damit das Verständnis und die Kenntnis der Lösung verbessert und beschleunigt werden“, sagt Scheibmeir.
Menschenzentrierte Code-Review-Prozesse
Randy Watkins, CTO bei Critical Start, rät Unternehmen, ihre eigenen Richtlinien und Methoden zu entwickeln, wenn es um die Implementierung von KI-generiertem Code in ihre Softwareentwicklungspraktiken geht.
„Zusätzlich zu einigen der Standard-Coding-Best Practices und -Technologien wie statischer und dynamischer Codeanalyse und sicheren CI/CD-Praktiken sollten Unternehmen weiterhin den Softwareentwicklungs- und Sicherheitsbereich auf Fortschritte in diesem Bereich überwachen“, sagte er per E-Mail zu InformationWeek .
Er sagt, dass Unternehmen KI-generierten Code als Ausgangspunkt nutzen sollten, aber menschliche Entwickler beauftragen sollten, den Code zu überprüfen und zu verfeinern, um sicherzustellen, dass er den Standards entspricht.
John Bambenek, Principal Threat Hunter bei Netenrich, fügt hinzu, dass Führungskräfte „Wert auf sicheren Code legen“ und sicherstellen müssen, dass zumindest automatisierte Tests Teil des gesamten Codes sind, der in die Produktion geht.
„Letztendlich können viele der Risiken generativen KI-Codes durch effektive und gründliche obligatorische Tests gelöst werden“, bemerkte er in einer E-Mail.
Er erklärt, dass im Rahmen der CI/CD-Pipeline obligatorische Tests für alle Produktions-Commits und eine routinemäßige umfassende Bewertung der gesamten Codebasis durchgeführt werden müssen.
„Führen Sie eine Bestandsaufnahme der verwendeten Softwarebibliotheken, um die Überprüfung auf Aktualisierungen oder die Aufnahme typosquatter Pakete zu ermöglichen, und verwalten Sie Geheimnisse, um Schlüssel und Anmeldeinformationen aus den Code-Repositorys fernzuhalten“, sagt Bambenek.
Einen Weg der Klarheit beschreiten
Eine aktuelle Sauce Labs Umfrage von 500 US-Entwicklern fanden heraus, dass mehr als zwei Drittel (67 %) der Befragten zugaben, Code ohne Tests in die Produktion zu bringen, und sechs von zehn befragten Entwicklern gaben zu, ungetesteten Code zu verwenden, der von chatgpt generiert wurde.
Jason Baum, Community-Direktor bei Sauce Labs, sagt, es gehe darum, dass die Führung inmitten der Hektik einen Weg der Klarheit beschreite.
„Mit KI-generiertem Code sind wir oft blind in Bezug auf Kontext und Funktionalität, weshalb gründliche Tests nicht nur sinnvoll, sondern auch unerlässlich sind, um Finanz- und Reputationsproblemen auszuweichen“, erklärt er. „Wenn wir kristallklare Erwartungen formulieren, beschleunigen wir nicht nur die Markteinführung von Code, sondern setzen uns auch für eine Kultur ein, in der Qualität und Sicherheit respektiert und nicht beeinträchtigt werden.“
Baum sagt, die Balance zwischen KI-Effizienz und Codequalität sei so, als würde man erwarten, dass ein frischer Kaffee direkt aus einer Kaffeebohne serviert wird – das Mahlen und Brühen wegzulassen ist ein No-Go.
„So wie Journalisten ChatGPT nicht erlauben würden, einen Artikel ohne Rezension zu veröffentlichen, können wir nicht zulassen, dass KI-generierter Code ohne eine gründliche Prüfung in die Produktion gelangt“, erklärt er. „Es geht darum, unsere Entwickler zu schulen und über ein starkes Überprüfungsnetz zu verfügen, um das Unsichtbare zu erkennen und sicherzustellen, dass unser Code schnell und sicher ans Ziel kommt.“
Josh Thorngren, Leiter der Entwicklervertretung bei ForAllSecure, stimmt zu, dass Qualitäts- und Sicherheitstests so reibungslos wie möglich gestaltet werden sollten und dass Entwickler nicht aus dem Code-/Build-/Versand-Workflow herausgenommen werden sollten.
Wenn eine Organisation beispielsweise während des CI-Prozesses ein Sicherheitstesttool ausführt, sollten Entwickler die Ergebnisse dieses Tools über ihren Issue-Tracker oder ihr CI-Tool erhalten – sie sollten sich nicht beim Sicherheitsprodukt anmelden müssen, um Ergebnisse zu sehen.
„Wir müssen auch eine Kultur schaffen, in der das Gleichgewicht zwischen Qualität und Geschwindigkeit nicht immer auf Geschwindigkeit ausgerichtet ist“, fügt er hinzu. „Das sind keine neuen Herausforderungen, aber die Geschwindigkeit der KI-Codegenerierung verstärkt deren Auswirkungen auf Sicherheit, Stabilität und Qualität und erhöht die Herausforderung jeder einzelnen Herausforderung.“