Skip to main content

Warum Sie einen Security-Begleiter für KI-generierten Code brauchen

blog feature ai blue

25. Oktober 2023

0 Min. Lesezeit

Alle sprechen über generative künstliche Intelligenz (GenAI), und eine riesige Zahl von Entwicklerinnen und Entwicklern nutzt diese bahnbrechende Technologie bereits bei der Arbeit. Doch GenAI-Coding-Assistenten sollten immer nur zusammen mit KI-Sicherheitstools eingesetzt werden. Sehen wir uns an, warum das so ist und was die Daten zeigen.

Dank KI-Unterstützung entwickeln Teams schneller als je zuvor. Angesichts dieses enormen Produktivitätsschubs müssen Sicherheitsteams Schritt halten, ohne den Fortschritt auszubremsen oder unbemerkt Schwachstellen in der Flut von Code durchrutschen zu lassen.

Das Codevolumen ist ein großes Problem, doch auch das Tempo der GenAI-gestützten Entwicklung und das herkömmlicher Testprozesse klaffen weit auseinander. Wenn ein GenAI-Coding-Tool Code generiert, gehen Entwicklerinnen und Entwickler womöglich davon aus, dass dieser sicher ist, und arbeiten weiter – bis ein Sicherheitstest durchgeführt wird. Wird dabei eine Schwachstelle aufgedeckt, müssen sie zurückgehen und den Code korrigieren. Dieser mentale Wechsel kostet nicht nur Zeit (eine frühere Studie der University of California in Irvine zeigt, dass wir nach einer Unterbrechung 23 Minuten brauchen, um wieder in den Arbeitsfluss zu kommen), sondern ist auch äußerst ineffizient, weil Arbeit wiederholt werden muss. 

Darüber hinaus zeigen führende Studien, dass weitere Faktoren das Problem verschärfen: 

  • Anzahl der Schwachstellen: Entwicklerinnen und Entwickler, die GenAI-Coding-Assistenten nutzen, bringen deutlich mehr Schwachstellen in ihren Code ein als diejenigen, die ohne solche Unterstützung programmieren. 

  • Geringeres Sicherheitsbewusstsein: Entwicklerinnen und Entwickler, die GenAI-Coding-Assistenten nutzen, vertrauen ihrem erstellten Code stärker – und zwar zu Unrecht.

Auf beide Studien gehen wir weiter unten ein. Wichtig ist jedoch: Mit KI-Unterstützung erstellen Entwicklerinnen und Entwickler nicht nur mehr anfälligen Code, sie vertrauen diesem anfälligen Code auch stärker als ihrem manuell erstellten, unsicheren Code. Entwicklerteams und AppSec benötigen deshalb intelligentere, schnellere und intuitivere Sicherheitslösungen, um mit diesen neuen Herausforderungen Schritt zu halten.

Snyk-Leitfaden mit dem Titel „Der Security-Begleiter für KI-Coding-Assistenten“ und Informationen zur Absicherung von KI-generiertem Code und AppSec-Teams.
Laden Sie unseren Leitfaden „Security Companion for AI Coding“ herunter

Gehen Sie nicht davon aus, dass GenAI-Code sicher ist

Wie bereits erwähnt, geht es nicht nur um das Codevolumen. Es geht auch um Schwachstellen, die unbemerkt im KI-Tempo eingebaut werden – direkt in die Grundlagen Ihrer Anwendung. 

Warum sagen wir, dass GenAI nicht grundsätzlich als sicher gelten sollte? Zum einen zeigte eine Studie von Forschenden der Stanford University (Dezember 2022), dass Teilnehmende mit Zugang zu einem KI-Assistenten „deutlich weniger sicheren Code schrieben“ als diejenigen ohne Zugang. Eine weitere, sehr aktuelle Studie von Forschenden der Cornell University (Oktober 2023) zu Sicherheitsproblemen und deren Ausmaß – mit besonderem Fokus auf praxisnahe Szenarien und Anwendungen – verdeutlichte die Komplexität und Tragweite von Schwachstellen in KI-generiertem Code. Konkret:

  • 35,8 % der von Copilot generierten Code-Snippets enthalten häufige Schwachstellen (CWEs) in mehreren Programmiersprachen.

  • Besorgniserregend ist außerdem, dass die Studie eine große Vielfalt von Sicherheitslücken im Zusammenhang mit 42 verschiedenen CWEs aufzeigte. Am häufigsten traten folgende Schwachstellen auf: CWE-78: OS Command Injection, CWE-330: Use of Insufficiently Random Values und CWE-703: Improper Check or Handling of Exceptional Conditions.

  • Am beunruhigendsten war der Befund, dass etwa 26 % der identifizierten CWEs zu den 25 häufigsten CWEs des Jahres 2022 zählen. 

Entwicklerinnen und Entwickler vertrauen anfälligem Code stärker

Die oben erwähnte Forschungsarbeit der Stanford University ergab außerdem: „Teilnehmende mit Zugang zu einem KI-Assistenten glaubten eher, sicheren Code geschrieben zu haben, als diejenigen ohne Zugang zum KI-Assistenten.“ Mit anderen Worten: Nicht nur werden mehr Schwachstellen als je zuvor in die Grundlagen Ihrer Anwendungen eingebaut – Entwicklerinnen und Entwickler sind auch eher überzeugt davon, dass dieser Code sicher ist. Es liegt nahe, dass Geschwindigkeit fälschlicherweise als Können interpretiert wird.

Die Lösung: ein ganzheitlicher Ansatz

Wir sagen nicht, dass Sie GenAI nicht nutzen sollten. Eine Umfrage von Gartner aus dem Jahr 2023 unter Führungskräften zeigt, dass sich 70 % ihrer Unternehmen mit GenAI in der Prüf- und Erkundungsphase befinden und 19 % GenAI pilotieren oder bereits produktiv einsetzen. Der Wandel ist also eindeutig bereits im Gange. Tatsächlich nutzt auch Snyk GenAI-Coding-Tools – allerdings mit einem klaren Fokus auf Sicherheit. 

Wir sind überzeugt, dass diese großartige neue Technologie großes Potenzial hat – wenn sie sicher eingesetzt wird. Ein GenAI-Coding-Tool lässt sich mit einer unerfahrenen Entwicklerin oder einem unerfahrenen Entwickler vergleichen. Es kann Code erstellen, aber keine Feinheiten im Code erkennen, macht Fehler und wurde ganz sicher nicht darauf trainiert, Sicherheitsrisiken zu erkennen – weder kleine noch gravierende. Um dieses moderne Sicherheitsproblem zu lösen, brauchen Sie einen ganzheitlichen DevSecOps-Ansatz, der Menschen, Prozesse und Tools berücksichtigt.

Menschen

Zunächst sollten Sie Entwicklerinnen und Entwickler darüber informieren, wie GenAI funktioniert, welche Fehler dabei entstehen können und welche inhärenten Risiken mit der Technologie verbunden sind. 

GenAI-Modelle (manche davon sind auch als Large Language Models oder LLMs bekannt – eine Teilmenge von GenAI, die mit Text trainiert wird und Text ausgibt) sind lediglich statistische Modelle, die auf Grundlage von Wahrscheinlichkeiten Vorhersagen treffen. Ein LLM analysiert riesige Datenmengen, erkennt wiederkehrende Muster und schätzt anhand der Häufigkeit ähnlicher oder identischer Wiederholungen, was wahrscheinlich ist – nicht, was faktisch zutrifft. Ein LLM kann nicht schlussfolgern und ist nur so gut wie die Daten, mit denen es trainiert wurde. Fehler in diesen Trainingsdaten, darunter Verzerrungen und veraltete Informationen, werden daher vom LLM übernommen. Manchmal passt eine Vorhersage nicht zum Kontext, ergibt keinen Sinn oder ist schlicht falsch. Doch das LLM kann nicht erkennen, dass sie fehlerhaft ist, und die Nutzerinnen und Nutzer auch nicht darauf hinweisen. 

Manche GenAI-Tools verfügen möglicherweise über integrierte Sicherheitsprüfungen. Sicherheit ist jedoch nicht ihr Hauptzweck, weshalb diese Prüfungen unzureichend sind. So wie Sie sich nicht auf die Firewall eines Betriebssystems verlassen würden, um Ihr gesamtes Unternehmen abzusichern, sollten Sie auch einen Coding-Assistenten nicht als Ihre primäre Sicherheitsebene betrachten.

KI ist kein neues Thema, auch wenn ChatGPT das Interesse daran zuletzt verstärkt hat. Wenn Sie mehr erfahren möchten, finden Sie eine große Auswahl an Inhalten – zum Beispiel im Snyk-Blog.

Prozesse

Als Nächstes sollten Sie Ihre Prozesse überdenken. Herkömmliche Sicherheitsprozesse und -methoden sind vergleichsweise langsam und stören den Arbeitsablauf von Entwicklerinnen und Entwicklern. Wie Sie vielleicht wissen, setzt sich Snyk seit Langem dafür ein, Sicherheit „nach links zu verlagern“ – also Software und Systeme früher im Softwareentwicklungszyklus zu testen. Dafür gibt es einen guten Grund: Entwicklerteams schaffen die Produkte, die Ihre Umsätze erwirtschaften und sichern. Sicherheit schützt Ihren Ruf und bewahrt Sie möglicherweise vor Verlusten in Millionen- oder sogar Milliardenhöhe, die durch Fehler oder fehlendes Wissen entstehen können. Beides muss daher optimal zusammenarbeiten. 

Historisch gesehen gab es jedoch Reibung zwischen den Arbeitsweisen beider Bereiche. Entwicklerteams müssen schnell vorankommen, während bestehende Testmethoden zum Engpass werden. Statt geschäftsrelevante Arbeit zu unterbrechen, Verhaltensweisen zu erzwingen, die Ihren Entwicklerinnen und Entwicklern nicht liegen, und Sicherheitsteams weiter zu überlasten, obwohl diese bereits ihr Bestes geben und nicht mehr mithalten können – warum setzen Sie nicht auf einen KI-gestützten Security-Champion, der Bedrohungen direkt bei ihrer Entstehung neutralisiert?

Tools

Damit kommen wir zu den Tools. KI birgt Risiken, steigert aber auch die Produktivität enorm. Ein Auto erleichtert uns das Leben, weil wir viel schneller ans Ziel kommen, birgt jedoch erhebliche Risiken. Deshalb würden wir niemals losfahren, ohne uns vorher anzuschnallen. Ebenso sollten Entwicklerinnen und Entwickler GenAI-Coding-Tools nur mit angelegtem Sicherheitsgurt nutzen. Die bereits erwähnte Studie der Stanford University ergab, dass bei den von Teilnehmenden mit GenAI erstellten sicheren und unsicheren Codebeispielen „87 % der sicheren Antworten umfangreiche Änderungen durch die Nutzerinnen und Nutzer erforderten“. Laut Studie deutet das darauf hin, dass es „informierte Änderungen“ braucht, um Code sicher zu machen. Das deckt sich mit unserer Überzeugung: Entwicklerteams können die enormen Möglichkeiten von GenAI nutzen, solange ihr Code in Echtzeit und mit dem nötigen Tempo auf Sicherheitsrisiken geprüft wird. 

Nachdem wir nun wissen, dass GenAI-Code Sicherheitsprüfungen braucht: Welche Eigenschaften sollte eine ideale Sicherheitslösung für diesen Anwendungsfall mitbringen? Ein solches Tool sollte unauffällig im Hintergrund laufen und mit dem Tempo mithalten, in dem Entwicklerteams arbeiten. Außerdem sollte es gründliche und präzise Prüfungen durchführen und mit anderen Tools interoperabel sein.

Hier kann Snyk helfen. Wir nutzen unsere langjährige Erfahrung im Bereich Sicherheit, um Ihren Code abzusichern und zu korrigieren – im Tempo der KI-gestützten Entwicklung. Da wir wissen, wie komplex die Absicherung moderner Anwendungen ist, prüft Snyk den Code Ihrer gesamten Anwendung in Echtzeit, während er geschrieben wird. Dabei werden Datenflüsse nachverfolgt, um nur relevante Abhängigkeiten und Schwachstellen zu ermitteln. Snyk erstellt einen möglichen Fix und prüft die gesamte Anwendung erneut, um die Auswirkungen des vorgeschlagenen Fixes zu testen. Anschließend werden die relevanten Schwachstellen für Entwicklerinnen und Entwickler hervorgehoben und mit nur einem Klick behoben – direkt in der IDE. Und das alles in wenigen Sekunden.

Code-Editor mit JavaScript-Logik für Produktbewertungen und Text zur Analyse des gesamten Codes, um die Sicherheit zu gewährleisten

Snyk lässt sich direkt in die beliebtesten Tools (IDE, Git, CLI), Programmiersprachen und Workflows integrieren. Kurz gesagt: Snyk ist der beste Freund von Entwicklerinnen und Entwicklern, wenn es um Sicherheit geht. Wir sind dort, wo Entwicklerteams und ihre KI-Tools arbeiten, unterstützen sie im gleichen Tempo und helfen ihnen, sicherere Anwendungen zu entwickeln.

Sie möchten wissen, wie Sie den passenden Security-Begleiter für Ihr GenAI-Coding-Tool auswählen? Nächste Woche sprechen wir ausführlich darüber – schauen Sie also wieder in unserem Blog vorbei.

Mit Snyk den neuen „Shift Left“-Ansatz verfolgen

GenAI ist äußerst nützlich, bringt aber auch erhebliche Sicherheitsprobleme mit sich. Zu den Herausforderungen, die GenAI-Coding-Tools für Sicherheitsteams verursachen, gehören:

  • Gestörte Workflows: Entwicklerinnen und Entwickler können nicht warten müssen, bis Builds abgeschlossen sind und Testergebnisse vorliegen, bevor sie mit derselben Aufgabe fortfahren. 

  • Großes Volumen und die damit verbundenen Schwachstellen: KI sorgt dafür, dass Entwicklerteams schneller programmieren und zugleich anteilig mehr Schwachstellen in ihren Code einbauen.

  • Größeres Vertrauen der Entwicklerteams in anfälligen Code: Das KI-Tool vermittelt ihnen ein trügerisches Gefühl von Sicherheit.

GenAI-Tools haben alles verändert und die „Linke“ noch weiter nach links verschoben – sogar vor die Entwicklerinnen und Entwickler. Deshalb müssen wir Risiken bereits beim Einsatz von KI im Softwareentwicklungszyklus angehen. So wie ein Sicherheitsgurt Autofahrerinnen und Autofahrern ermöglicht, schneller zu fahren, helfen Sicherheitstools Ihnen, mit GenAI-Coding-Tools noch schneller voranzukommen.

Ermöglichen Sie Ihren Entwicklerteams, die Möglichkeiten von GenAI sicher zu nutzen. Gehen Sie mit dem perfekten Begleiter für Ihren GenAI-Coding-Assistenten – Snyk – einen Schritt nach links.

Möchten Sie Snyk in Aktion erleben? Sehen Sie sich unsere virtuelle Session auf Abruf an: Live Hack: Exploiting AI-Generated Code.

Sichern Sie KI-generierten Code ab

Erstellen Sie Ihr kostenloses Snyk-Konto und sichern Sie KI-generierten Code in wenigen Minuten ab. Oder buchen Sie eine Demo mit unseren Experten und erfahren Sie, wie Snyk Ihre Anwendungsfälle für Entwicklersicherheit unterstützt.

Weiterlesen

blog feature snyk container custom base recommendations
Blog

Evo Agentic AppSec: Sicherheit, die mit der KI-Entwicklung Schritt hält

KI-gestützte Entwicklung überholt herkömmliche Security-Workflows. Snyk Agentic AppSec setzt Security-Agenten ein, die Schwachstellen kontinuierlich finden, beheben und überprüfen – während Menschen die Maßstäbe festlegen.

blog feature ai violet
Blog

VulnBump: Können KI-Agenten anfällige Abhängigkeiten beheben, ohne den Build zu beschädigen?

VulnBump testet KI-Agenten anhand von 307 realen Dependency-Upgrades. Eine Lösung zählt nur, wenn die Sicherheitslücke behoben ist und Build sowie Tests weiterhin erfolgreich sind.

Blog

Frontier-Modelle fanden die Schwachstellen. Nur der Angreifer fand die Angriffsketten.

Die statische Analyse fand die Schwachstellen, doch erst Live-Angriffstests bewiesen, wie sie sich zu Angriffen verketten lassen. Ein Vergleich von Evo COS, Claude Security und Claude Code Security.