Skip to main content

KI-generierte Sicherheitskorrekturen in Snyk Code jetzt verfügbar

Artikel von
feature snyk code orange

9. Mai 2023

0 Min. Lesezeit

Sicherheitsprobleme in Ihrem Code zu finden und zu beheben, ist mit einigen Herausforderungen verbunden. Eine der größten besteht darin, den Code tatsächlich zu ändern und so das Problem zu beheben. Der Weg dorthin umfasst mehrere Schritte: Sicherheitstickets sichten, die Ergebnisse der Sicherheitsanalyse und ihre Ursachen im Quellcode nachvollziehen und anschließend festlegen, wie sich das Problem beheben lässt, damit Sie mit der Entwicklung fortfahren können. Kein Grund zur Sorge – KI kümmert sich um alles, oder? Nun, sobald sie standardmäßig sicheren Code erzeugt und ihre Arbeit nicht aus dem geistigen Eigentum anderer übernimmt … oder Ihr geistiges Eigentum mit der Welt teilt.

Bei unserem SnykLaunch-Event im April haben wir unsere neueste Funktion vorgestellt: KI schlägt direkt in der IDE eine Korrektur vor, die Entwickler einfach per Klick übernehmen und automatisch in ihrem Code umsetzen können. Heute freuen wir uns, bekannt zu geben, dass diese KI-gestützte Korrekturfunktion jetzt in der offenen Beta verfügbar ist! Die KI-Korrekturen von Snyk wurden speziell für die Behebung von Sicherheitsproblemen entwickelt – ohne das Risiko von Urheberrechtsverletzungen oder dass Ihr proprietärer Code an andere weitergegeben wird.

KI-gestützte Korrekturvorschläge von Snyk in Ihrer IDE: zwei Beispiele

Beheben einer SQL-Injection-Schwachstelle mit dem KI-Reparaturvorschlag von Snyk Code
Behebung einer SQL-Injection-Schwachstelle mit dem KI-Reparaturvorschlag von Snyk Code

Im obigen Beispiel erkennt Snyk Code eine SQL-Injection-Schwachstelle. Dieses Problem mit hohem Risiko kann besonders schwierig zu beheben sein, da die Stelle im Code, an der der Datenbankaufruf erfolgt, möglicherweise weit von dem Bereich entfernt ist, in dem die Datenbankabfrage und die Variablen zusammengesetzt werden. Das Sicherheitsproblem bis zu seiner Ursache zurückzuverfolgen, ist eine Herausforderung. Zu entscheiden, wie der Code geändert werden muss, um es zu beheben, bedeutet noch mehr Arbeit. Hier sehen wir jedoch, wie der KI-Korrekturvorschlag von Snyk das Problem für uns angeht, die Ursache ermittelt und eine Korrektur in unserer IDE bereitstellt.

Behebung eines Problems mit fest codierten Zugangsdaten mithilfe des KI-Fix-Vorschlags von Snyk Code
Beheben eines Problems mit fest codierten Zugangsdaten mithilfe des KI-Fix-Vorschlags von Snyk Code

Im zweiten Beispiel wurden hartcodierte Zugangsdaten im Quellcode erkannt. Die KI-Korrektur von Snyk entfernt die hartcodierten Zugangsdaten und verwendet stattdessen eine Sitzungsvariable.

Speziell entwickelte KI für vertrauenswürdige Sicherheitskorrekturen

Es gibt zahlreiche Demos, in denen verschiedene KI-Tools Code generieren, der interessant aussieht. Doch wenn Entwickler und Sicherheitsexperten genauer hinschauen und die Auswirkungen bedenken, stellen sie sich einige Fragen:

  • Kann ich darauf vertrauen, dass der KI-generierte Code keine zusätzlichen Sicherheitsprobleme verursacht? 

  • Und wenn die KI aus vorhandenem Code in öffentlichen Repositories lernt: Besteht dann die Gefahr, dass ich urheberrechtlich geschützte Arbeit anderer oder Code aus Open-Source-Projekten mit restriktiven Lizenzen übernehme? 

Diese Bedenken sind berechtigt. Die KI-Tools, die in solchen Demos Code generieren, machen keine konkreten Angaben dazu, woher ihr Code stammt, ob er tatsächlich sicher ist oder welche Lizenzbeschränkungen für den erzeugten Code gelten könnten.

Da die KI-Korrekturvorschläge von Snyk Sicherheitsprobleme beheben sollen, wollten wir diese Funktion unter Berücksichtigung dieser Bedenken entwickeln. Konkret werden unsere KI-Modelle ausschließlich mit Open-Source-Projekten trainiert, deren Code ausdrücklich unter permissiven Open-Source-Lizenzen veröffentlicht wurde. Außerdem schlagen die KI-Korrekturen von Snyk kleine, klar abgegrenzte Änderungen vor, anstatt lange Codeabschnitte zu generieren. Die obigen Beispiele zeigen, welche Arten von Korrekturvorschlägen die KI von Snyk macht.

Damit die Korrekturen der KI von Snyk keine neuen Probleme verursachen, durchlaufen die Vorschläge die Sicherheits-Engine von Snyk Code, bevor sie Entwicklern angezeigt werden. So wird sichergestellt, dass (1) die Korrektur das vorliegende Problem behebt und (2) keine neuen Probleme verursacht. Ein Korrekturvorschlag wird Entwicklern nur dann bereitgestellt, wenn die KI-Korrektur im Test-Feedback-Loop von Snyk Code als zuverlässig eingestuft wird. Als Entwickler behalten Sie stets die Kontrolle darüber, ob Sie die Korrektur anwenden und übernehmen möchten.

Schließlich stellen sich Fragen zur Sicherheit und zum sicheren Umgang mit dem eigenen Code bei der Verwendung von KI. Verwenden die Modelle meinen Code zum Lernen und teilen sie dadurch möglicherweise meinen Code, mein geistiges Eigentum und vertrauliche Informationen mit anderen? Die KI von Snyk speichert den Code unserer Kunden nicht über die kurzfristige Zwischenspeicherung hinaus, die für die Sicherheitsanalyse erforderlich ist. Unsere Richtlinien sind in unserem Artikel „Wie Snyk mit Ihren Daten umgeht“ klar dokumentiert. Dazu gehört auch unsere Richtlinie zum KI-Training: „Snyk Code verwendet keinen Kundencode (1) zum Training der Engine oder (2) zur Extraktion von Beispielen, um mögliche Korrekturen anzuzeigen.“ 

So aktivieren Sie KI-Korrekturvorschläge von Snyk

In dieser ersten offenen Beta bieten wir die neue Funktion für JavaScript über die Snyk-IDE-Plugins für Visual Studio Code und Eclipse an. Wir werden die Abdeckung schrittweise auf weitere Programmiersprachen ausweiten und die Nutzererfahrung weiter verbessern. Um Korrekturvorschläge zu erhalten, müssen Sie die Funktion im Tab „Snyk Preview“ aktivieren.

Installieren oder aktualisieren Sie unbedingt die Snyk-Erweiterung für Visual Studio Code oder das Snyk Eclipse-Plugin. Starten Sie die IDE am besten neu, damit die neueste Version verwendet wird.

Gepostet in: