Generative KI hat zahlreiche Einsatzmöglichkeiten, aber eine der vielversprechendsten für Unternehmen sind die unglaublichen Vorteile der KI-gestützten Entwicklung. Angesichts kürzlich angekündigter Innovationen wie Devin AI, dem ersten KI-Softwareentwickler der Welt, ist die Integration von KI ein verlockendes Angebot für IT-Führungskräfte, die ihre technischen Prozesse und Leistungen effizienter gestalten möchten.
Unternehmen haben mehrere Möglichkeiten, KI in die Codeentwicklung zu integrieren. Eine Möglichkeit ist die Verwendung von Tools wie GitHub Copilot, um automatisch Codebausteine zu erstellen und eine KI-basierte Form der Paarprogrammierung (Pair Programming) zu implementieren. Eine andere Option ist der Einsatz autonomer KI-Entwickler wie Devin, die das Potenzial haben, unabhängig mit menschlichen Kollegen zu arbeiten.
Die KI-gestützte Entwicklung bietet mehrere Vorteile für Unternehmen und wird wahrscheinlich weiterhin die Zukunft der Entwicklung prägen. Sie bringt jedoch auch verschiedene Sicherheitsrisiken mit sich, die bewältigt werden müssen, um die Vorteile der Technologie voll ausschöpfen zu können.
Schätzungsweise 81 % der Entwickler verwenden bereits KI-basierte Programmierassistenten wie GitHub Copilot, Tabnine und Amazon CodeWhisperer, um Fragen zu beantworten und schwierigen Code zu schreiben. Da KI immer fortschrittlicher und allgegenwärtiger wird, werden die Entwicklungsteams wahrscheinlich noch stärker auf sie zurückgreifen.
Der Einsatz von KI in der Entwicklung hat zahlreiche potenzielle Vorteile für Entwicklerteams, wie z. B.:
Gesteigerte Effizienz: KI kann verschiedene Entwicklungsaufgaben automatisch durchführen, von der Beantwortung grundlegender Fragen über das automatische Schreiben von Code bis hin zur automatischen Gestaltung von Benutzeroberflächen. Diese Funktionen können die Zeit bis zur Markteinführung verkürzen, die Entwicklungskosten senken und es Unternehmen ermöglichen, mit weniger Mitarbeitenden mehr zu erreichen. Eine Studie ergab, dass Entwickler durch den Einsatz von GitHub Copilot Programmieraufgaben 55 % schneller erledigen konnten. Diese verbesserte Effizienz kann es einem Unternehmen ermöglichen, entweder die Zahl der Mitarbeitenden zu reduzieren oder die Menge des von ihm erstellten Codes drastisch zu erhöhen.
Weniger Burnout bei Entwicklern: Da GenAI die Erstellung von Codebausteinen automatisiert, müssen Entwickler keinen einfachen, sich wiederholenden Code mehr schreiben. Eine verbesserte Entwicklererfahrung verringert das Risiko eines Burnouts oder einer Mitarbeiterfluktuation, wenn die Entwickler von diesen Aufgaben gelangweilt werden. Im Jahr 2023 gaben 73 % der Entwickler an, im Laufe ihrer Karriere irgendwann einen Burnout erlebt zu haben. 60-75 % der Entwickler sind der Meinung, dass die Fähigkeit der KI, diese Aufgaben zu automatisieren, die Zufriedenheit am Arbeitsplatz erhöht.
Bessere Codequalität: KI kann nicht nur zum Schreiben von Code verwendet werden, sondern auch um automatisch Bugs, Schwachstellen und andere Probleme mit dem Code während des Entwicklungsprozesses zu erkennen. Wenn Sie Probleme finden und beheben, bevor sie die Produktivumgebung erreichen, verringert sich das Risiko, dass ein Unternehmen Zeit und Ressourcen mit der Bereitstellung von Patches oder der Behebung einer Datenschutzverletzung verschwendet.
Spezialisierte Entwicklung: KI kann spezialisierten Code schreiben, für dessen Programmierung das interne Entwicklungsteam vielleicht nicht die ausreichende Erfahrung oder das notwendige Wissen hat. Da kein spezielles Fachwissen mehr erforderlich ist, müssen weniger externe Spezialisten eingestellt oder hohe Anreize geboten werden, um Fachleute zu gewinnen.
Aus- und Weiterbildung von Entwicklern und Entwicklerinnen: GenAI hat das Potenzial, Entwicklern und Entwicklerinnen eine Just-in-Time-Schulung zu bieten, die Codesicherheit zu verbessern und unerfahrene Entwickler schneller auf den neuesten Stand zu bringen. Im Durchschnitt akzeptieren Entwickler 30 % der Codevorschläge, wobei die Akzeptanzrate von unerfahrenen Entwicklern höher ist. Dies reduziert die Kosten für die Verwaltung von Schwachstellen und ermöglicht es Unternehmen, die Fähigkeiten ihres Entwicklungsteams zu maximieren.
GenAI ist ein leistungsstarkes Tool, aber keineswegs eine perfekte Lösung. Bei der Abwägung, ob und wie KI in Entwicklungspipelines integriert werden kann, sollten CTOs auch die Risiken und möglichen Auswirkungen auf das Unternehmen berücksichtigen.
Ein kürzlich bekannt gewordener Datenschutzverstoß bei Samsung ist ein Paradebeispiel für die Risiken, die entstehen, wenn die Nutzung von KI nicht richtig gesteuert wird. Das Unternehmen hatte den Einsatz von generativer KI zuvor verboten, dieses Verbot aber aufgehoben, um die Produktivität der Mitarbeitenden zu steigern. Innerhalb von drei Wochen hat das Unternehmen Berichten zufolge sensible F&E-Daten für Halbleiter, Quellcode und Aufzeichnungen von internen Besprechungen an ChatGPT weitergegeben, um Codefehler zu beheben und automatisch Besprechungsprotokolle zu erstellen. Diese Daten sind für OpenAI zugänglich und könnten zum Training seines Modells verwendet worden sein, was möglicherweise dazu führt, dass sie auch anderen Nutzern zugänglich sind.
Zu den größten Risiken der KI-gestützten Entwicklung gehören die folgenden:
Offenlegung sensibler Daten: GenAI-Tools sind so konzipiert, dass sie ständig lernen und sich selbst anhand von Benutzereingaben trainieren können. Sensible Daten und Codebeispiele, die in ein GenAI-Tool eingegeben werden, können Teil des Modells werden und anderen Nutzern angezeigt werden. 2023 hat Samsung versehentlich sensible Chipdaten über ChatGPT geleakt, und Untersuchungen haben ergeben, dass diese Tools auch andere sensible Daten in Vorschläge enthalten können, wie beispielsweise private API-Endpunkte.
Geringere Codequalität: GenAI ist nicht vollkommen und kann zu falschen Antworten und mangelhaftem Code führen. Die Verwendung von automatisch generiertem Code kann sich negativ auf die Nutzererfahrung auswirken oder Sicherheitslücken in einer Anwendung schaffen.
Geringeres Verständnis des Codes: Entwickler sind häufig „auf Abruf“, weil sie den Code schreiben, ihn verstehen und alle Probleme beheben können. KI-generierter Code ist eher eine Blackbox, die es dem Entwicklungsteam erschwert, ihn zu reparieren, wenn etwas schief geht.
KI-Halluzinationen: In der Entwicklung können KI-Halluzinationen dazu führen, dass GenAI die Verwendung von nicht vorhandenen Paketen und Bibliotheken empfiehlt. Wenn Angreifer diese Pakete erstellen, können sie Sicherheitslücken oder bösartigen Code in die Anwendung derjenigen einschleusen, die diese empfohlenen Pakete verwenden.
Lizenzprobleme: KI-Empfehlungen oder automatisch generierter Code können Code von Drittanbietern mit nicht kompatiblen Lizenzbedingungen verwenden. Wenn die KI beispielsweise Code mit einer Copy-Left-Lizenz verwendet, muss ein Unternehmen möglicherweise den Code, der diese Lizenz verwendet, als Open Source bereitstellen oder sich mit Rechtsstreitigkeiten bezüglich des geistigen Eigentums auseinandersetzen.
Erhöhte Cloud-Ausgaben: KI-generierter Code kann Anfragen für kostenpflichtige Dienste stellen oder Speicherplatz, Rechenleistung und andere Cloud-Ressourcen ineffizient nutzen. Infolgedessen können sich die Cloud-Ausgaben aufgrund von nicht optimiertem Code erhöhen.
Bindung an eine Lösung: KI-fähige Programmierassistenten stecken noch in den Kinderschuhen, und es kommen regelmäßig neue Lösungen auf den Markt. Wenn eine bestimmte Lösung in einen Workflow integriert wird, kann dies die Effizienz verringern oder einen teuren Wechsel erzwingen, wenn eine neue Technologie verfügbar wird.
KI bietet zahlreiche potenzielle Vorteile und ist wahrscheinlich die Zukunft der Entwicklung. Im Idealfall können Unternehmen mit GenAI anspruchsvolleren, effizienteren und sichereren Code mit weniger Ressourcen und in einem kürzeren Zeitrahmen erstellen, als dies mit einem vollständig menschlichen Entwicklungsteam möglich wäre. Unternehmen, die sich weigern, KI-gestützte Entwicklung zuzulassen, riskieren, im Wettbewerb zurückzufallen und Spitzenkräfte an jene Firmen zu verlieren, die dies tun.
CTO, die KI zur Optimierung ihrer Entwicklungsprozesse nutzen möchten, müssen jedoch auch die Risiken der Technologie berücksichtigen und in den Griff bekommen. Hier sind acht Best Practices, die helfen können, die größten Risiken der KI-gestützten Entwicklung zu reduzieren oder ganz zu beseitigen:
KI-Empfehlungen bestätigen: KI-Halluzinationen sind ein häufiges Problem, und diese Fehler können bei der Softwareentwicklung äußerst schädlich sein. Überprüfen Sie den von einem KI-System generierten Code und die Informationen doppelt auf ihre Richtigkeit, bevor Sie sie verwenden.
KI-Datenrisiken verwalten: Der KI eine Programmierfrage zu stellen oder sie einen Standardcode generieren zu lassen, ist relativ ungefährlich. Wenn Sie ihm sensible IP-Daten zur Verfügung stellen, um nach Fehlern zu suchen oder eine Frage zu stellen, riskieren Sie die Offenlegung Ihrer Daten. Schulen Sie Entwickler in der akzeptablen Nutzung von KI und implementieren Sie DLP-Schutzmaßnahmen (Data Loss Prevention), um das Risiko von Datenlecks in den Griff zu bekommen.
DevSecOps implementieren: KI kann die Codeentwicklung stark beschleunigen und das Verständnis der Entwickler für den Code, den sie schreiben, verringern. Die Implementierung von Best Practices für DevSecOps, wie das Erstellen und Testen von sicherheitsorientierten Anforderungen, verringert das Risiko, dass die Sicherheit zu kurz kommt.
Automatisierung von Sicherheitstests: Von KI generierter Code kann Schwachstellen oder nicht funktionsfähigen Code in die Codebasis eines Unternehmens einführen. Die Integration von Sicherheitstests einschließlich statischer Anwendungssicherheitstests (SAST) und dynamischer Anwendungssicherheitstests (DAST) in automatisierte CI/CD-Pipelines begrenzt die potenziellen Auswirkungen von unsicherem, KI-generiertem Code.
Durchführung von Funktions- und nicht-funktionalen Tests: KI-generierter Code kann nicht nur Sicherheitslücken verursachen, sondern auch von geringerer Qualität oder sogar nicht funktionsfähig sein. Modultests für funktionale und nicht-funktionelle Anforderungen können sicherstellen, dass der Code sowohl funktionsfähig als auch performant ist. Die Einhaltung von Stilrichtlinien und Best Practices für die Programmierung kann ebenfalls helfen, problematischen Code zu erkennen und zu vermeiden.
Überwachung der Software-Lieferketten: KI kann anfällige, böswillige oder nicht existierende Pakete oder Bibliotheken mit unvereinbaren Lizenzbedingungen empfehlen oder verwenden. Die Durchführung einer Software Composition Analysis (SCA) und die Pflege einer Software- Bill-of-Materials (SBOM) verschafft Ihnen Einblick in die Abhängigkeiten von Anwendungen und ermöglicht deren Validierung vor der Einführung.
Implementieren Sie einen Laufzeitschutz: Trotz der besten Bemühungen der Entwickler wird anfälliger Code wahrscheinlich in den Produktiveinsatz gelangen. Die Anwendung sollte durch WAFs, WAAP, RASP und andere Abwehrmaßnahmen geschützt werden, die Exploit-Versuche zur Laufzeit verhindern können.
Ziehen Sie interne KI in Betracht: Open-Source-LLMs ermöglichen es Unternehmen, ihre eigenen KI-Systeme zu hosten. Wenn Sie die KI im Haus behalten, sinkt die Gefahr von Datenlecks, manipulierten Trainingsdaten und anderen Risiken beim Einsatz von GenAI.
Cloudflare for AI bietet CTOs die Tools, die sie benötigen, um KI-gestützte Entwicklungspipelines und die von ihnen erstellte App zu erstellen, zu hosten und zu verteidigen. Erfahren Sie mehr darüber, wie Sie die Leistungsfähigkeit von KI nutzen und gleichzeitig Security-by-Design implementieren können.
Dieser Beitrag ist Teil einer Serie zu den neuesten Trends und Themen, die für Entscheidungsträgerinnen und -träger aus der Tech-Branche heute von Bedeutung sind.
Mehr darüber, wie Sie KI-Initiativen vereinfachen und sichern können, erfahren Sie im E-Book „Die Connectivity Cloud: So bringen Sie IT und Sicherheit wieder unter Kontrolle“.
Folgende Informationen werden in diesem Artikel vermittelt:
Wie KI-gestützte Entwicklung technischen Prozessen zugutekommt
Die Risiken des KI-Einsatzes in der Softwareentwicklung
8 Best Practices, um die Risiken KI-gestützter Entwicklung zu reduzieren oder ganz zu eliminieren