In this article
ChatGPT und sicheres Programmieren: Vorteile und Sicherheitslücken von mit ChatGPT generiertem Code
Da Entwicklerinnen und Entwickler zunehmend KI-Tools einsetzen, um ihre Arbeitsabläufe zu verändern, wird KI-generierter Code immer verbreiteter. Tatsächlich gaben 96 % der Entwicklerinnen und Entwickler an, KI-Programmierassistenten zu nutzen, um ihre Arbeit effizienter zu gestalten.
Generative KI-Tools (GenAI) wie ChatGPT können zwar Arbeitsabläufe beschleunigen und die Produktivität steigern, doch die Sicherheit und Qualität der Ergebnisse sind nicht garantiert. Entwicklerinnen und Entwickler sowie Unternehmen, die ChatGPT oder andere GenAI-Tools einsetzen, sollten die Vorteile kennen, sich aber auch der potenziellen Sicherheitslücken und Probleme bewusst sein, die mit KI-generiertem Code verbunden sind, und der Einführung strenger Sicherheitspraktiken Priorität einräumen.

Kann ChatGPT sicheren Code schreiben?
In einer Umfrage glaubten 75,8 % der Entwicklerinnen und Entwickler, dass KI-generierter Code sicherer ist als von Menschen geschriebener Code, obwohl nachgewiesen wurde, dass KI-generierter Code Sicherheitslücken verursacht. Außerdem wurde festgestellt, dass Entwicklerinnen und Entwickler mit Zugriff auf KI-Assistenten, die auf OpenAIs Modell codex-davinci-002 basieren, deutlich weniger sicheren Code schrieben als Personen ohne diesen Zugriff. Interessanterweise schrieben diejenigen, die sich auf die Interaktion mit dem Modell konzentrierten, etwa durch effektivere Prompts, sichereren Code.
ChatGPT und andere KI-Programmier-Tools können also sicheren Code schreiben, doch ihre Ergebnisse hängen vollständig von den Trainingsdaten und dem Prompt Engineering ab. Enthalten die Trainingsdaten Sicherheitslücken oder Fehler, ist KI-generierter Code von Anfang an unsicher. Entwicklerinnen und Entwickler sollten daher davon ausgehen, dass jeder KI-generierte Code unsicher ist, und Sicherheitslücken beheben, bevor sie den Code bereitstellen.
Andernfalls kann sich unsicherer Code in der Codebasis verbreiten und letztlich die Sicherheit von Anwendungen und Software beeinträchtigen.
Wie zuverlässig ist mit ChatGPT generierter Code?
Wie zuverlässig mit ChatGPT generierter Code ist, hängt von der jeweiligen Aufgabe und den zugrunde liegenden Trainingsdaten ab. ChatGPT kann mittlerweile zwar auf aktuellere Informationen zugreifen und im Internet suchen, aber es kann weiterhin halluzinieren oder unzuverlässigen Code generieren, insbesondere wenn sich Best Practices und Programmiersprachen weiterentwickeln. Das kann zum Sicherheitsproblem werden, wenn Entwicklerinnen und Entwickler davon ausgehen, dass mit ChatGPT generierter Code grundsätzlich sicher, zuverlässig und aktuell ist. Fast 80 % der Entwicklerinnen und Entwickler geben zu, Sicherheitsmaßnahmen zu umgehen, weil sie KI-generierten Code für „sicher genug“ halten. Das könnte zu weit verbreiteten Sicherheitslücken und Problemen in der Codebasis führen.
Wie gut kann ChatGPT programmieren?
Studien zeigen, dass ChatGPT einfache und mittelschwere Programmierprobleme und -aufgaben gut bewältigen kann. Es wurde auch gezeigt, dass ChatGPT bei Programmieraufgaben hilfreich sein kann, aber es gibt klare Grenzen. Wie bereits erwähnt, ist ChatGPT samt seinen Ergebnissen nur so gut wie die Daten, mit denen es trainiert wurde. Verzerrungen, Fehler, veraltete Informationen oder unklare Prompts beeinträchtigen die Qualität des generierten Codes. Außerdem hat ChatGPT oft Schwierigkeiten mit komplexeren Programmierproblemen und kann daher Fachkenntnisse und Erfahrung nicht ersetzen.
Kann ChatGPT Sicherheitslücken in Code finden?
ChatGPT kann Code auf Lücken und Inkonsistenzen untersuchen, Feedback geben und dabei möglicherweise häufige Sicherheitslücken aufdecken. Komplexen Code versteht es jedoch möglicherweise nicht und komplexe Sicherheitslücken kann es nicht erkennen. Dadurch könnten Sicherheitslücken unentdeckt bleiben, bis schwerwiegendere Folgen auftreten.
Bei Code-Reviews kann ChatGPT den Code nicht in Echtzeit scannen. Entwicklerinnen und Entwickler müssen ihn daher manuell zur Prüfung eingeben. Das kann zum Problem werden, wenn Änderungen oder Korrekturen nicht in ChatGPT übernommen oder aktualisiert werden, sodass Sicherheitslücken übersehen oder nicht behoben werden. ChatGPT kann außerdem halluzinieren und die Codesicherheit falsch einschätzen.
Kann ChatGPT sichere Programmierpraktiken gewährleisten?
ChatGPT lässt sich zwar als Tool für eine erste Codebewertung nutzen, doch im Workflow von Entwicklerinnen und Entwicklern sollten weitere Sicherheitsvorkehrungen vorhanden sein. Wer sich ausschließlich auf ChatGPT verlässt, um sichere Programmierpraktiken zu gewährleisten, riskiert, dass Sicherheitslücken unentdeckt bleiben. AppSec-Teams sollten weiterhin umfassende Sicherheitstools und -maßnahmen einsetzen, um die Einhaltung sicherer Programmierpraktiken sicherzustellen.
Sind Daten bei ChatGPT sicher?
Die Nutzung großer Sprachmodelle (LLMs) wie ChatGPT wirft erhebliche Fragen zur Datensicherheit auf. ChatGPT verfügt zwar über integrierte Datensicherheitsmaßnahmen, Unternehmen sollten jedoch davon ausgehen, dass keine Daten in GenAI sicher sind. Häufig geben Nutzerinnen und Nutzer in ihren Prompts unbedacht sensible Informationen preis und gehen davon aus, dass diese geschützt sind. Vertrauliche oder sensible Informationen könnten jedoch in die Trainingsdaten des Modells gelangen und in generierten Antworten wieder auftauchen – ein Risiko für das Unternehmen.
Wird ChatGPT oder ein anderes KI-Tool kompromittiert oder das Benutzerkonto eines Unternehmens gehackt, könnten böswillige Akteure außerdem auf sensible Informationen oder Trainingsdaten zugreifen und Unternehmen weiter schädigen. Um dieses Risiko zu minimieren, sollten Unternehmen interne Richtlinien dazu festlegen, welche Informationen Mitarbeitende mit KI-Tools teilen dürfen und wie diese Daten verwaltet werden.
So prüfen Sie, ob mit ChatGPT generierter Code sicher ist
Wenn Unternehmen ihre Cybersicherheit betrachten, müssen sie ihre Sicherheitsprotokolle an GenAI-Tools anpassen. Ohne eine starke Sicherheitslage, zu der interne Richtlinien und Protokolle für Tools wie ChatGPT gehören, sind Unternehmen gefährdet. In den meisten Fällen besteht das größte Risiko darin, dass unsicherer KI-generierter Code in eine Codebasis gelangt, sich auf mehrere Projekte ausbreitet und zu einem Sicherheitsvorfall führt.
Am wirksamsten lässt sich die Sicherheit von mit ChatGPT generiertem Code gewährleisten, indem Sie ein dediziertes Sicherheitstool wie Snyk Code verwenden. Im Gegensatz zu ChatGPT fügt sich Snyk Code nahtlos in den Workflow von Entwicklerinnen und Entwicklern und in den gesamten Entwicklungsprozess ein. Snyk Code scannt Code außerdem in Echtzeit und prüft ihn kontinuierlich auf Sicherheitslücken. Snyk Code basiert auf DeepCode AI, priorisiert Sicherheitslücken und empfiehlt Korrekturen, damit sich Teams auf die kritischsten Probleme konzentrieren können.
ChatGPT und andere GenAI-Programmier-Tools können den Workflow von Entwicklerinnen und Entwicklern zwar verbessern, doch eine Plattform wie Snyk ist entscheidend, damit die Codebasis und Anwendungen eines Unternehmens sicher sind und vor künftigen Sicherheitslücken und Angriffen geschützt bleiben.
KI-CODE-SICHERHEIT
Käuferleitfaden zur Code-Sicherheit bei generativer KI
Erfahren Sie in Snyks Käuferleitfaden zur Code-Sicherheit bei generativer KI, wie Sie Ihren KI-generierten Code schützen.