Problemerkennung, Auto-Fixing und Priorisierung mit smarter KI-Code-Security von Snyk
24. Oktober 2024
0 Min. LesezeitBeim SnykLaunch 2024 war es endlich soweit: Mit DeepCode AI Fix haben wir die allgemeine Verfügbarkeit unseres Auto-Fixing-Features für Snyk Code mit der Power unserer wegweisenden KI-Engine DeepCode AI bekannt gegeben. Ein Meilenstein, mit dem einmal wir mehr den Unterschied in Sachen Anwendungssicherheit machen. Wie, das sehen wir uns am besten im Detail an.

KI ist in aller Munde – von ihren unzähligen Anwendungsmöglichkeiten bis hin zu den diversen Lösungen (und Problemen), die sich daraus ergeben. AppSec-Themen bleiben von dieser KI-Revolution natürlich nicht unberührt, und so ist auch die Problematik von unsicherem Code so drängend wie eh und je. Denn KI bringt neue und zunehmende Risiken etwa dahingehend mit sich, dass mit ihr anfälliger Code in großem Maßstab generiert wird. Umso wichtiger ist es daher, Code aus KI adäquat abzusichern.
Moderne Anwendungssicherheit für KI-gestützte Software-Entwicklung
In Zeiten von KI, in denen Entwicklung so schnell voranschreitet wie der Wandel und im gleichen Zuge Security-Herausforderungen in beispiellosem Maße zunehmen, braucht es einen neuen Ansatz in punkto Anwendungssicherheit. Um sie effektiv skalieren und mit der Dynamik von KI Schritt halten zu können, ist ein Shift Left ebenso dringend erforderlich wie eine intelligente Priorisierung von Sicherheitsproblemen. Voraussetzung hierfür sind adäquate Tools für KI-Security, die Folgendes ermöglichen:
1.: Frühzeitiges Fixing noch in der IDE
KI-generierten Schwachstellen lassen sich dauerhaft nur durch Agilität und frühzeitiges Eingreifen adressieren. Ein Shift Left von Security-Scans direkt in die IDE bildet hier den frühestmöglichen Ansatzpunkt. So werden Entwickler nicht dadurch ausgebremst, vor dem Code-Scan zuerst noch einen Build erstellen zu müssen. Stattdessen können sie Probleme direkt adressieren und erhalten eine Umgebung zur nahtlosen Behebung ohne Kontext-Wechsel.
Snyk Code bietet ein Dev-First-Tool für SAST-Scans, hinter denen mit DeepCode AI eine KI steht, die wir eigens dafür entwickelt haben. Ausgeführt wird Snyk Code direkt in der IDE. So können Entwickler Probleme deutlich früher beheben – lange bevor sie ihren Weg in die Pipeline finden, wo sich der Fixing-Prozess kostspielig und komplex gestaltet.
2.: Auto-Erkennung und -Fixing unter Einsatz schneller, skalierbarer und präziser Scans
Code-Sicherheitsprobleme aufzudecken reicht allein nicht aus. Getan ist es erst mit ihrer Behebung. Damit dies effizient und präzise gelingt, braucht es verlässliche Scan-Ergebnisse. Doch nicht nur das: Ein entsprechendes Tool bringt wenig, wenn es keine passende Auto-Fixing-Komponente beinhaltet. Diese wiederum kann nur so gut sein wie das Scanning-Tool, das hinter ihr steht. Beide müssen also nahtlos ineinander greifen.
KI-gestützte Tools können die Erkennung und Behebung von Schwachstellen in Code aus KI-Assistenten und Large Language Models (LLMs) erheblich beschleunigen. Damit sich ihre Vorteile in punkto Speed und Skalierung vollumfänglich erschließen lassen, ist Genauigkeit jedoch ebenso wichtig. Ein Tool, das verlässliche Scan-Ergebnisse liefert, erspart Ihnen Nacharbeiten an bereits erledigten Aufgaben, die die Vorteile schneller Scans wieder zunichte machen würden.
Snyk Code verfügt als führende DevSecOps-Plattform mit DeepCode AI Fix über ein Feature, mit dem sich Schwachstellen LLM-gestützt und automatisch beheben lassen. So können Entwickler generative KI sicher in ihre Workflows einbinden, da sich von ihr eingeführte Code-Anfälligkeiten direkt erkennen und mittels Auto-Fixing korrigieren lassen, ohne den Dev-Ablauf zu unterbrechen. So konnte etwa ein Snyk Kunde aus der Fortune 100 mithilfe von Snyk Code die durchschnittliche Behebungsdauer um 87 % reduzieren. Durch IDE-Einbindung der Lösung via Plug-in ließ sich Code-Security dabei schnell und konsequent auf das gesamte Team skalieren.
Erkennung: KI-gestützte SAST-Scans
Die speziell konzipierte KI hinter Snyk Code wurde zu einem einzigen Zweck entwickelt, trainiert und optimiert: die Absicherung von Code. Beleg für diesen Zielfokus ist die durch hochgradig spezifische Trainingsdaten erzielte Genauigkeit der Ergebnisse ebenso wie die Geschwindigkeit der Scans: Verglichen mit konventionellen Tools führt Synk Code SAST-Scans 50x schneller aus, moderne Alternativen übertrifft die Lösung um das 2,4-Fache. Zudem schneidet Snyk Code beim OWASP Benchmark zur Scan-Genauigkeit um 20 Prozentpunkte besser ab als die SAST-Lösung für AI-generierten Code eines weithin bekannten Anbieters für Dev-Tooling. Dies bedeutet, dass die KI von Snyk Code störende Fehlalarme ebenso reduziert wie gefährliche Falsch-Negativ-Meldungen. Insgesamt müssen Entwickler also weniger Ergebnisse durchgehen, was für sie echte Zeitersparnis bedeutet.
Behebung: KI-gestütztes Auto-Fixing von Code
Damit Entwickler die Vorteile der Scan-Geschwindigkeit von Snyk Code vollumfänglich erschließen können, müssen ihre Fixing-Möglichkeiten Schritt halten. Die Erkennung von Schwachstellen wird zwar immer effizienter. Ihre Behebung gestaltet sich jedoch noch immer mühsam und zeitaufwändig – dies umso mehr angesichts dessen, dass KI-generierter Code Schwachstellen noch schneller und in größerer Zahl in Projekte einbringt. Dabei müssen Entwickler Sicherheitsprobleme nicht nur identifizieren, sondern auch ermitteln, wie sie sie effizient beheben können. Eine Störung der Dynamik ihrer Feature-Entwicklung, die in rückläufigen Fixing-Raten, zunehmenden Schwachstellen-Backlogs und unsicheren, übereilten Workarounds resultiert.
Mit Coding-Assistenten und Snyk in eine sichere Zukunft
Erfahren Sie mehr über die dynamische Landschaft der Coding-Assistenten und darüber, wie Sie diese Tools sicher in Ihre Dev-Workflows integrieren.
Um Code-Schwachstellen zu beheben, entsprechende Backlogs abzubauen und damit verbundenen Zeitaufwand zu reduzieren, braucht es ein KI-gestütztes SAST-Tool, das Fixing-Prozesse ebenso unkompliziert wie effizient automatisiert und sich nahtlos in Dev-Workflows integrieren lässt. Genau das bietet Snyk Code mit der automatischen Behebung anhand von DeepCode AI Fix. Derzeit befindet sich das Feature noch in der Early-Access-Phase, ist jedoch ab 29. Oktober 2024 allgemein verfügbar.

Ab 29. Oktober können Sie DeepCode AI Fix aktivieren, indem Sie in der Snyk UI zu den Einstellungen gehen. Falls Sie Snyk Code noch nicht nutzen, können sie sichhier für ein Snyk Konto registrieren. Machen Sie sich außerdem mit der Nutzung von Snyk in Ihrer IDE vertraut, um mit verlässlichem Auto-Fixing zu starten und dabei von der Agilität von KI zu profitieren.
Mehr Sicherheit beim Auto-Fixing

DeepCode AI Fix gibt bis zu 5 Fixing-Vorschläge für ein von Snyk Code gemeldetes Problem aus. Daraus können Entwickler den für ihren Kontext passenden Fix auswählen und mit einem Klick einsteuern; dies mit der Sicherheit, damit keine zusätzlichen Schwachstellen einzubauen. Genau hier sticht DeepCode AI Fix heraus: Hinter seinen Fixing-Vorschlägen steht mehr als nur generative KI,
da wir als Security-Spezialisten um die Einschränkungen der Technologie wissen. Stattdessen setzen wir auf einen Verbund mehrerer KI-Modelle, die die Stärken verschiedener KI-Methodiken kombinieren und so potenzielle Schwächen ausgleichen. Dadurch ist DeepCode AI Fix verlässlicher als Lösungen für Code-Scans und Auto-Fixing, hinter denen ausschließlich LLMs oder KI auf Grundlage eines einzelnen Modells stehen.
Gewährleistet wird dies zudem durch Security-Scans sämtlicher Fixing-Vorschläge anhand der regelbasierten symbolischen KI von Snyk Code, bevor sieEntwicklern präsentiert werden. Anders ausgedrückt: DeepCode AI Fix gibt direkt innerhalb der IDE Fixing-Vorschläge aus, die von Snyk Code automatisch auf ihre Sicherheit untersucht werden. Eingesteuerte Auto-Fixes müssen also nicht noch einmal gescannt werden: Von Anfang an können Entwickler die für sie passenden Fixing-Vorschläge bedenkenlos mit einem Klick für sich nutzen.
Ganz entscheidend ist aber noch ein weiterer Punkt: Das LLM von DeepCode AI Fix wird genauso wie alle anderen Elemente der Snyk KI-Engine in unserer eigenen Infrastruktur gehostet und dabei laufend von unseren Security-Experten trainiert, optimiert und feinjustiert. Dabei trainieren wir unsere KI ausschließlich anhand von Open-Source-Code, dessen Schwachstellen behoben wurden und der Permissive-Lizenzen unterliegt. Code unserer Kunden wird grundsätzlich nicht zum Training unserer KI genutzt. Dies bedeutet, dass alle von ihr ausgegebenen Fixing-Vorschläge höchst verlässlich sind. Denn bei ihrer Generierung gilt Code-Sicherheit als oberstes Gebot (was bei lediglich funktionalem Code bekanntlich nicht unbedingt der Fall ist), ebenso wie die Gewissheit, dass gegen keinerlei geistige Eigentumsrechte verstoßen wird. Und da wir unsere KI-Engine selbst hosten, werden Ihre Daten auch nicht an externe Server wie die von OpenAI übermittelt, bei denen Sie keinerlei Handhabe über das geistige Eigentum Ihres Unternehmens oder Ihrer Kunden haben. Bei Snyk ist es oberste Prämisse, keine Daten seiner Kunden zu speichern.

Auto-Fixing mit mehr Speed und Präzision
Unsere branchenführenden Werte bei der Geschwindigkeit von Auto-Fixings sind nicht zuletzt auch Ergebnis unserer konsequenten Optimierung des zugrunde liegenden LLM.
Ausdruck findet dies in der jüngsten LLM-Optimierung für DeepCode AI Fix einschließlich erweiterter Sprachunterstützung im Hinblick auf die OWASP Top 10 der kritischsten Bedrohungen. Hierfür werden nun 8 Programmiersprachen unterstützt, weitere sind in Arbeit. Neben deutlich höherer Geschwindigkeit und Genauigkeit brachten diese Neuerungen auch umfangreiche funktionale Erweiterungen mit sich. So unterstützt DeepCode AI Fix aktuell folgende Programmiersprachen:
JavaScript
TypeScript
Java
Python
C/C++ (eingeschränkte Unterstützung)
C# (eingeschränkte Unterstützung)
Go (eingeschränkte Unterstützung)
APEX (eingeschränkte Unterstützung)
Eingeschränkte Unterstützung bedeutet hier, dass die OWASP Top 10 derzeit durch weniger als 10 Regeln abgedeckt werden. Von den acht genannten Programmiersprachen sind Java, JavaScript, TypeScript und Python ab dem 29. Oktober allgemein verfügbar, die anderen im Rahmen des Early-Access-Programms. Was von DeepCode AI Fix unterstützte IDEs angeht, so machen VS Code und JetBrains den Anfang, künftig ergänzt um weitere.
Aus unseren umfangreichen Investitionen in Innovation ist jüngst zudem CodeReduce hervorgegangen, das die Zukunftssicherheit der Snyk Plattform für DevSecOps noch zusätzlich unterstreicht. Dabei handelt es sich um eine zum Patent angemeldete Technologie, die im Test alle gängigen KI-Modelle signifikant verbesserte, insbesondere auch das enorm populäre GPT-4-Modell von OpenAI.
CodeReduce führt zunächst eine Analyse des relevanten Codes aus, um neben den Elementen, die vom erkannten Problem betroffen sind, auch solche Code-Elemente zu ermitteln, die Kontext zu diesem Problem liefern. Anschließend werden diese für die Korrektur relevanten Code-Segmente priorisiert und der Fokus des Aufmerksamkeitsmechanismus von DeepCode AI Fix darauf gelenkt. Die Menge an Code, die DeepCode AI Fix verarbeiten muss, fällt dadurch erheblich geringer aus. Neben einer erhöhten Qualität der Fixing-Vorschläge und weniger Halluzinationen sorgt dies auch für den entscheidenden Vorteil verkürzter Verarbeitungszeiten.
Durch dieses innovative Konzept und intelligente Priorisierung konnte CodeReduce die Genauigkeit von GPT-4 um bis zu 20 % erhöhen. Es ist zudem der Grund, weshalb DeepCode AI Fix durch branchenführendes Auto-Fixing binnen weniger Sekunden und eine verlässliche Behebung von Schwachstellen ohne Einführung zusätzliche Sicherheitsprobleme überzeugt.
Genauigkeit im Vergleich:

3.: Intelligente Priorisierung
Hierin liegt die dritte und letzte zentrale Anforderung an moderne Tools für Code-Security. Intelligente Priorisierung ist deshalb entscheidend, weil angesichts dessen, wie die Zahl der Schwachstellen im Verhältnis zum Tempo der Code-Entwicklung ansteigt, ein klarer fokussierter Blick auf diese erforderlich ist. Aus Tooling-Perspektive ist es relativ einfach, eine Unzahl sicherheitsrelevanter Scan-Ergebnisse auszugeben. Doch dem Security-Team nützt dies eher wenig, und bei Entwicklern löst es womöglich sogar Ablehnung aus. Echten Wert bringen diese Tools deshalb nur, wenn sie Scan-Ergebnisse für Benutzer nach deren Priorität kategorisieren.
Je nach Unternehmen unterscheiden sich diese Prioritäten ebenso wie ihre Arbeitsstile und Umgebungen. Gleiches gilt für ihre Risikoprofile: Was 70 % der Unternehmen als kritisch bewerten, ist für Ihres vielleicht ein eher unbedeutendes Risiko. Umso wichtiger war es für uns, diesen Nuancen in einer Weise Rechnung zu tragen, durch die Software-Teams bei minimalem Aufwand größtmöglichen Effekt erzielen können. Unser Ansatzpunkt hierfür ist die Tatsache, dass nur rund 7 % aller Sicherheitsprobleme kritisch sind. Indem wir es also möglich machen, eben diese 7 % zu priorisieren, helfen wir Teams, in kürzerer Zeit mehr zu erreichen.
Umgesetzt wird dies durch unseren zweigleisigen Ansatz, der einen einzigartigen Blick durch das Rauschen ermöglicht: Bei Snyk Code arbeiten wir daran, die Scan-Ergebnisse auf die wesentlichen Risiken zu beschränken. So halten wir den Aufwand für Benutzer von Anfang in Grenzen. Parallel ermöglichen wir die Priorisierung erkannter Risiken in Snyk Open Source und Snyk Container mit Snyk Risk Score, dem ein ganzheitlicher Ansatz für höchstmögliche Genauigkeit zugrunde liegt.
Snyk Risk Score quantifiziert anhand von Binär- und Wahrscheinlichkeitsmodellen, wie wahrscheinlich es ist, dass es zum Exploit einer Schwachstelle kommt und welche Auswirkungen damit potenziell verbunden sind. Einbezogen wird dabei auch eine Vielzahl objektiver und kontextbezogener Risikofaktoren wie Angreifbarkeit und Exploit-Reifegrad, EPSS- und CVSS-Werte und geschäftliche Relevanz.
Die auf DeepCode AI gestützte Analyse der Angreifbarkeit über Schwachstellen ermittelt dabei, ob ein in einer Anwendung erkanntes Problem im Zusammenhang mit Funktionen steht, die von dieser aufgerufen werden. Ist dies der Fall, fällt das Exploit-Risiko entsprechend höher aus. Mit Reachability Analysis, dem zugehörigen KI-Feature in Snyk, werden hierfür relevante Funktionen auf effiziente Weise mit unserer Schwachstellen-Datenbank abgeglichen. Dabei wird ein Call Graph erstellt, aus dem ersichtlich wird, ob eine anfällige Funktion aus einem Open-Source-Paket in Ihrer Anwendung genutzt wird. Potenzielle Sicherheitsrisiken werden so leichter erkennbar.
Reachability Analysis für Snyk Risk Score ist derzeit als Open Beta für Snyk Open Source und Snyk Container verfügbar. Weitere Einzelheiten zum Feature finden Sie unter den in diesem Artikel verlinkten Docs.
Fazit
Anwendungssicherheit ist ein zunehmend komplexes Feld, auf dem sich immer mehr Akteure tummeln. Wir haben jedoch erkannt, dass es dabei nicht um einen Straßenkampf zwischen Punktlösungen geht, die um die Vorherrschaft in einzelnen Vierteln ringen. Vielmehr gilt es, alle Kräfte für einen Kampf zu bündeln, der koordiniert und strategisch nach Prioritäten geführt wird. Deshalb vereinen wir sämtliche AppSec-Elemente in einer Plattform, die die gewaltigen damit verbundenen Datenmengen in einer Weise aufbereitet, die für Software-Teams aussagekräftig ist und ihren Fokus auf das wirklich Wichtige lenkt.
Deshalb nutzen wir KI nicht einfach nur dafür, das, was wir bereits können, schneller und besser zu machen. Wir nutzen ihr Potenzial für die Umsetzung einer modernen Arbeitsweise, die Insights und Effizienz durch Priorisierung ermöglicht.
Wie bereits erwähnt, ist DeepCode AI Fix ab 29\. Oktober 2024 allgemein für Snyk Code verfügbar, für begrenzte Zeit zudem vollkommen kostenlos. Um es zu aktivieren, navigieren Sie in Snyk einfach zu den Einstellungen. Wie nachfolgend gezeigt, finden sie im Menü links den Eintrag „DeepCode AI Fix“, unter dem sie den entsprechenden Schalter zum Aktivieren finden.

Für bestehende Kunden von Snyk Code halten wir Ende Oktober zudem ein Webinar ab, bei dem wir die Produkt-Updates im Einzelnen beleuchten – inklusive einer Live-Demo dazu, wie schnell, präzise und unkompliziert sich Code-Fixing mit DeepCode AI Fix gestaltet. Doch nicht nur das: Für alle frei verfügbar bieten wir ab sofort einen neuen Kurs zum Thema in Snyk Learn. Darin zeigen wir auf, wie Sie Schwachstellen durch Integration von Snyk Code in Ihre IDE schnell erkennen und automatisch beheben, ganz ohne den Kontext wechseln zu müssen. Ideal für alle also, die gerade erst mit Snyk starten, die Lösung evaluieren oder einfach ihr Wissen auffrischen möchten.
Sie nutzen Snyk noch nicht? Dann erleben Sie am besten noch heute, wie Ihnen der Leader im Gartner® Magic Quadrant™ 2023 für AppSec-Testing die Power von KI an die Hand gibt, um durch smarte Erkennung, Priorisierung und Behebung von Schwachstellen sicher von GenAI-gestützter Entwicklung zu profitieren. Für ein Snyk Konto können Sie sich hier registrieren – und direkt erleben, wie Sie Ihren Workflow proaktiver, einfacher und effizienter gestalten.
Effektiv und treffsicher gegen KI-generierte Schwachstellen
DeepCode AI Fix im Praxiseinsatz: Erleben Sie, wie das Tool automatisiertes Schwachstellen-Fixing nahtlos in Dev-Workflows integriert und so zu höheren Behebungsraten und reduzierten Schwachstellen-Backlogs beiträgt.