Skip to main content

Snyk ist Ihr Security-Begleiter für Amazon CodeWhisperer

feature snyk codewhisperer

29. November 2023

0 Min. Lesezeit

Ihre Entwicklerteams planen, ein generatives KI-Coding-Tool einzuführen, doch Sie haben als Security-Verantwortliche:r Bedenken hinsichtlich Compliance und Sicherheit. Die wichtigste Frage: Was passiert, wenn Sie mit dem Tempo Ihrer Entwicklerteams nicht mithalten können und etwas Wesentliches übersehen wird? Zum Glück können Sie mit Snyk sicher und im Tempo der KI entwickeln – Ihrem Security-Begleiter für Amazon CodeWhisperer.

Alle drängen darauf, generative KI-Tools einzusetzen, um wettbewerbsfähig zu bleiben. Entwickler bilden da keine Ausnahme und möchten Tools wie Amazon CodeWhisperer nutzen, um schneller Code zu erstellen. Das ist alles schön und gut – doch was ist mit Regulierung, Compliance und Sicherheit? Als Security-Expert:in müssen Sie besonders hohe Sorgfaltsstandards erfüllen. Und für Sicherheitsmängel tragen letztlich Sie die Verantwortung – unabhängig davon, ob andere Abteilungen einen Plan abgesegnet haben. Um Risiken zuverlässig zu managen, ohne den Fortschritt auszubremsen, brauchen Sie ein extrem schnelles, entwicklerfreundliches Security-Tool, dem Sicherheit ebenso wichtig ist wie Ihnen: Snyk.

Was ist Amazon CodeWhisperer?

Amazon CodeWhisperer ist ein generatives KI-Coding-Tool (GenAI), das Amazon als „universellen, auf maschinellem Lernen basierenden Codegenerator“ beschreibt. Achten Sie auf das Wort „Generator“. Es macht deutlich, dass das Tool lediglich die Erstellung von Code automatisiert.

Wie andere GenAI-Tools „lernt“ CodeWhisperer, indem es Code-Repositories massenhaft scannt – in diesem Fall AWS CodeCommit – und nach Code-Mustern sucht, die in bestimmten Situationen häufig vorkommen. Anschließend gleicht es diese Muster massenhaft mit dem Code eines Entwicklers in der aktuellen Datei ab, an der dieser gerade arbeitet. Auf dieser Grundlage erstellt CodeWhisperer in Echtzeit im IDE hochwahrscheinliche Codevorschläge nach bestem Ermessen. Diese Vorschläge erscheinen entweder über die CodeWhisperer-Konsole oder als Kommentare im Code des Entwicklers – ähnlich wie Vorschläge von Grammarly. Der Entwickler kann dann den passendsten Vorschlag auswählen. Es ist leicht zu erkennen, wie CodeWhisperer die Produktivität von Entwicklern um das Zehnfache steigern, lästige Aufgaben reduzieren und die Arbeitsweise von Entwicklern verändern kann – für immer.

Doch ist der generierte Code standardmäßig sicher?

Ja, KI generiert Schwachstellen

LLMs (Large Language Models, eine Teilmenge generativer KI, die mit Text trainiert wird und Text ausgibt) wie CodeWhisperer treffen statistische Vorhersagen auf Grundlage dessen, was sie am häufigsten beobachten. Stellen Sie sich vor, eine Vielzahl von Daten wird auf einer Glockenkurve abgebildet und eine Vorhersage beruht darauf, ob etwas im Zentrum dieser Kurve liegt. Genau das macht generative KI. Daher hängt die Genauigkeit von CodeWhisperer von häufig vorkommenden, wiederkehrenden und vorhersehbaren Code-Mustern ab. Bei ungewöhnlicheren Szenarien oder seltenen Code-Sequenzen ist die Genauigkeit bestenfalls lückenhaft.

Hinzu kommt das verbreitete Problem, dass alle generativen KI-Systeme mit Halluzinationen zu kämpfen haben. Außerdem ist die Qualität des ausgegebenen Codes nur so gut wie der Code, mit dem das GenAI-Modell trainiert wurde. Wurde ein Modell mit unsicherem Code trainiert, wird es unsichere Vorschläge machen. CodeWhisperer hilft Entwicklern also, schneller zu arbeiten, kann aber Sicherheit und Genauigkeit nicht immer gewährleisten. Schließlich verfügt generative KI über keine Fähigkeiten zum logischen Schlussfolgern. Sie versteht daher unterschiedliche oder nuancierte Szenarien nicht wirklich, kann den von ihr generierten fehlerhaften oder unsicheren Code nicht erkennen und auch keine problematischen Code-Stellen für Entwickler markieren. 

Nein, generative KI-Coding-Tools können ihren eigenen Code nicht vollständig absichern 

Das Erkennen solcher Sicherheitslücken ist eine komplexe Aufgabe mit mehreren Ebenen, denn Schwachstellen treten nicht isoliert auf – sie betreffen mehrere Code-Stellen. Die meisten Schwachstellen erstrecken sich über mehrere Code-Blöcke, Funktionen und Dateien. Um diese Schwächen aufzuspüren, braucht es ein umfassendes Verständnis sowohl der Sicherheitsprobleme als auch der Funktionsweise der gesamten Anwendung. 

Die Komplexität von Code-Schwachstellen offenbart ein weiteres Problem von CodeWhisperer und ähnlichen KI-Coding-Assistenten. Wenn ein Entwickler ein KI-Coding-Tool wie CodeWhisperer verwendet, gibt er ihm eine Aufgabe vor und das Tool versucht, passenden Code zu erstellen. Da generative KI jedoch mit kleinen Code-Blöcken und Snippets arbeitet, versucht das KI-Coding-Tool nicht, die gesamte Anwendung rund um dieses Snippet zu verstehen. CodeWhisperer kann zwar versuchen, an anderer Stelle in der Anwendung gefundenen Code nachzubilden, doch das bedeutet nicht, dass es lernt, wie die Anwendung funktioniert – es lernt lediglich die Code-Muster des jeweiligen Entwicklers. Da aber jedes neue Snippet, jede neue Zeile und jeder neue Code-Block den Datenfluss durch die Anwendung beeinflusst, müssen Sicherheitsprobleme im Kontext der gesamten Anwendung betrachtet werden. Nur so lassen sich diese Schwachstellen zuverlässig erkennen. 

Kurz gesagt: Es ist problematisch, wenn Entwickler CodeWhisperer ohne Sicherheitsleitplanken nutzen. 

  1. Aufgrund der Funktionsweise generativer KI kann CodeWhisperer seine Arbeit nicht überprüfen und feststellen, ob das Ergebnis richtig oder falsch ist. Es ist auf Menschen angewiesen, die Korrekturen vornehmen. 

  2. Erfahrene Entwickler, die CodeWhisperer verwenden, können die meisten funktionalen Probleme im generierten Code erkennen. Doch nur wenige Entwickler verfügen über die nötigen Kenntnisse oder die Zeit, um jedes Sicherheitsproblem aufzuspüren.

  3. Noch problematischer: Unerfahrene Entwickler vertrauen den Ergebnissen von CodeWhisperer womöglich zu sehr – insbesondere, wenn KI-Tools alltäglich werden. So übersehen sie möglicherweise sowohl funktionale Probleme als auch Sicherheitsmängel im KI-generierten Code.

CodeWhisperer ist ein leistungsstarkes Tool, das die Produktivität von Entwicklern zweifellos steigert. Ob es richtig und sicher eingesetzt wird, hängt jedoch davon ab, ob Sicherheitsleitplanken vorhanden sind und wie gut das verwendete Security-Tool ist. Daher sollte man CodeWhisperer (oder jeden anderen generativen KI-Coding-Assistenten) immer zusammen mit einem Security-Tool wie Snyk verwenden.

Sicherheit im Tempo der KI

Security-Assistenten müssen genauso schnell sein wie die KI-Coding-Assistenten, die Entwickler verwenden – sonst werden sie nicht angenommen. Doch das ist erst der Anfang. Hier sind einige wichtige Funktionen, auf die Sie bei Ihrem Security-Tool achten sollten. All diese Funktionen bietet Snyk.

Schnell und mit umfassender Abdeckung

Ein wirklich effektives Security-Tool unterstützt eine Vielzahl von Programmiersprachen (Snyk unterstützt mehr als 19) und erkennt Schwachstellen, bevor sie die IDE verlassen. Dank unserer proprietären hybriden KI und sicherheitsorientierten Methoden ist Snyk außerdem bis zu 50-mal schneller als andere Lösungen. Das Tool prüft Ihren Quellcode direkt in Ihrer IDE in Echtzeit – genau dort, wo Ihre Entwickler und CodeWhisperer arbeiten.

Automatisiert

Snyk hat unsere Security-Erfahrung in ein speziell für die Code-Absicherung entwickeltes Tool einfließen lassen, bei dem Entwickler im Mittelpunkt stehen. Wir wissen, dass Entwickler in vielen verschiedenen Programmiersprachen arbeiten und ihre Fachkenntnisse und Prioritäten beim Entwickeln liegen – nicht bei der Sicherheit. Sicherheitsprüfungen sollten daher extrem schnell und automatisiert ablaufen. Korrekturen sollten sich nahtlos umsetzen lassen, damit das Security-Tool langfristig besser angenommen wird.

Für Workflows optimiert und gründlich

Snyk prüft den Code von Entwicklern in der IDE automatisch während der Arbeit, markiert Schwachstellen, erläutert die Ergebnisse (ohne unverständliche Verweise!) und schlägt in Echtzeit automatisch direkte Korrekturen vor. So können Entwickler ihren Code direkt beim Erstellen absichern. Für den vollständigen Kontext wird die gesamte Anwendung bewertet – nicht nur die aktuelle Datei und ihre Abhängigkeiten. Das geschieht vor und nach der Erstellung einer möglichen Korrektur, damit komplexe Code-Sicherheitsprobleme erkannt werden, die sich über Funktionen und Dateien hinweg ausbreiten können. Wie alle Sicherheitsexpert:innen wissen, sind das Verständnis der Datenflüsse, der Code-Interaktionen und der gesamten Komplexität einer Anwendung entscheidend, um Sicherheitsstandards einzuhalten. Die Kombination von Snyk und CodeWhisperer gleicht die Sicherheitsschwächen bei der KI-Codegenerierung aus.

Präzise und anpassbar, mit zentralisiertem Reporting

Snyk weiß auch, dass Entwickler- und Security-Teams wenig Zeit haben. Daher wissen wir: Ganz gleich, wie schnell Snyk ist – zu viele False Positives würden den Nutzen zunichtemachen. Manche Code-Security-Tools bieten keine Möglichkeit, benutzerdefinierte Regeln einzurichten, um eine Flut von False Positives herauszufiltern. Andere verlangen, dass Sie manuell Regeln erstellen, um die vielen False Positives zu bewältigen, die sonst auftreten würden. Bei Snyk ist das anders. 

Mit Unterstützung von DeepCode AI pflegen unsere Security-Expert:innen einsatzbereite Regeln und eine umfangreiche Wissensdatenbank mit anfälligen Code-Mustern und empfohlenen Korrekturen. Das erhöht die Genauigkeit und reduziert False Positives. So sehen Sie bei Ihren Sicherheitsprüfungen nur einige wenige relevante, wichtige Ergebnisse statt einer langen Liste bedeutungsloser Schwachstellen. Mit Snyk können Sie außerdem benutzerdefinierte Regeln erstellen, um Ihre Ergebnisse weiter zu optimieren und den individuellen Anforderungen Ihres Unternehmens gerecht zu werden. 

Darüber hinaus berücksichtigt die native Reporting-Funktion von Snyk die Anforderungen von Security-Verantwortlichen. Sie bündelt eine zentrale Übersicht über Probleme und Teams und ermöglicht detaillierte Filter. In Kombination mit Snyk Insights lassen sich fundierte taktische und strategische Entscheidungen treffen und relevante Probleme priorisieren.

Unabhängig von Tools und Technologien

Unabhängigkeit ist ein wichtiger Faktor für Best Practices und gute Governance. Wir empfehlen Ihnen, immer zu überprüfen, ob die Teams hinter Ihren KI-Coding-Tools vollständig unabhängig sind (also keine direkten oder indirekten Verbindungen haben) von dem Team, das Ihren Code schützt. Wenn beide Aufgaben von verbundenen Parteien übernommen werden, ist das ein bisschen so, als würde man den Fuchs den Hühnerstall bewachen lassen. Bei Snyk sind wir Sicherheitsexpert:innen – ohne Verbindungen zu KI-Coding-Tools und ganz darauf fokussiert, Sie beim Risikomanagement zu unterstützen.

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.

Bei Entwicklern beliebt

Wir bei Snyk sind stolz darauf, nicht nur die Security-Teams, sondern auch die Entwickler überzeugt zu haben. Davon zeugt die starke Verbreitung von Snyk bei bekannten Unternehmen wie Google, Reddit und ABInBev. Entwickler können Snyk reibungslos in ihre bestehenden Workflows und Tools integrieren und einsetzen – mit Integrationen für IDEs, SCM/Git und CI/CD. Nicolai Brogaard, Service Owner für Software Composition Analysis (SCA) und Static Application Security Testing (SAST) bei Visma, sagt:

„Das Problem bei vielen dieser Security-Test-Tools ist, dass sie so viel Hintergrundwissen voraussetzen, dass man sie nicht einfach in der eigenen Umgebung einsetzen kann. Ein Alleinstellungsmerkmal von Snyk ist daher, dass Entwickler schnell loslegen und sich selbst zurechtfinden können.“ 

Das Vertrauen der Branche und unserer Kunden 

Snyk wurde im Gartner Magic Quadrant 2023 für Application Security Testing als „Leader“ ausgezeichnet, ebenso im Forrester Wave 2023 für Software Composition Analysis. Außerdem wurde Snyk bei den Gartner Peer Insights Customers’ Choice 2022 für Application Security Testing ausgezeichnet. Diese Auszeichnungen sind das Ergebnis kontinuierlicher Arbeit daran, Sicherheit so weit wie möglich nach „links“ zu verlagern und gleichzeitig einen rigorosen Sicherheitsansatz zu verfolgen – ohne Verhaltensänderungen bei Entwicklern oder Unterbrechungen ihrer Workflows zu erfordern.

Weitere KI-Ressourcen von Snyk

Best Practices für sichere Entwicklung mit KI

10 Tipps, wie Entwickler und Sicherheitsexperten potenzielle Risiken wirksam mindern und gleichzeitig die Vorteile der KI-gestützten Entwicklung voll ausschöpfen können.