In this article
Schwachstellen mit KI besser erkennen
Als KI-orientiertes Unternehmen engagiert sich Snyk intensiv dafür, künstliche Intelligenz in alle Bereiche unserer Entwicklungsprozesse zu integrieren. Dieses Engagement treibt uns an, immer wieder innovative Möglichkeiten zu finden, KI zur Stärkung unseres Sicherheitsangebots einzusetzen. Kürzlich haben wir erfolgreich die erste Version von zwei Projekten veröffentlicht, die beispielhaft zeigen, wie wir mit modernster Technologie die Erkennung von Schwachstellen verbessern. Die Projekte wurden gezielt entwickelt, um den manuellen Aufwand zu verringern, die Genauigkeit deutlich zu steigern und unseren Sicherheitsexperten mehr Raum für strategische Aufgaben mit größerer Wirkung zu geben.
Das Problem: manuelle Analyse und Informationsflut
In der Cybersicherheit ist es entscheidend, Schwachstellen stets einen Schritt voraus zu sein. Snyk ist stolz auf seine umfangreichen Sicherheitsdaten, die eine wichtige Grundlage dafür bilden, zeitnah und präzise über potenzielle Bedrohungen zu informieren. Seit der Gründung des Unternehmens arbeitet ein engagiertes Team aus Sicherheitsexperten unermüdlich daran, unsere Schwachstellendaten aktuell zu halten. Dazu setzen wir verschiedene Tools und Automatisierungen ein, um neu auftretende Schwachstellen, einschließlich Zero-Day-Exploits, zu verfolgen und unsere Nutzer als Erste darüber zu informieren.
Diese wichtige Aufgabe ist jedoch alles andere als einfach. Unsere Analysten verbringen einen beträchtlichen Teil ihres Arbeitstags – oft mehrere Stunden – damit, eine Flut von Informationen zu sichten. Sie prüfen verschiedene Ereignisse, etwa Kommentare in GitHub-Repositories, Forumsdiskussionen und Sicherheitshinweise, auf mögliche Anzeichen neu entdeckter Schwachstellen. Das gleicht der Suche nach der Nadel im Heuhaufen. Die schiere Informationsmenge ist überwältigend, und bei weit über 95 % dieser Ereignisse handelt es sich letztlich um Fehlalarme.
Beispielszenario
Stellen Sie sich vor, ein Analyst stößt auf einen GitHub-Kommentar mit dem Inhalt: „Dieser Code scheint ein Problem bei der Eingabevalidierung zu haben.“ Auf den ersten Blick könnte dies auf eine mögliche Schwachstelle hindeuten. Nach einer eingehenden manuellen Untersuchung der Diskussion und der Codeänderung stellt sich jedoch möglicherweise heraus, dass es bei dem „Problem“ lediglich um eine geringfügige Stilpräferenz beim Programmieren geht und nicht um eine Sicherheitslücke. Dieser zeitaufwendige Vorgang wiederholt sich täglich Hunderte Male und führt zu erheblichem unnötigem Aufwand sowie möglicherweise zum Burnout der Analysten.
Diese manuelle, repetitive Arbeit kostet nicht nur wertvolle Zeit, sondern birgt auch das Risiko menschlicher Fehler. Angesichts der großen Datenmenge können wichtige Informationen übersehen werden. Dadurch werden Schwachstellen möglicherweise verspätet erkannt und Sicherheitsvorfälle begünstigt.
Sichern Sie Ihre KI-Zukunft bei Snyk Launch 2025
Nehmen Sie an Snyk Launch teil und erfahren Sie, wie Sie die Grundlage schaffen, um im KI-Zeitalter sicher und selbstbewusst zu entwickeln.
KI zur Klassifizierung potenzieller Schwachstellen: unsere Lösung
Unser Machine-Learning-Team erkannte diese Herausforderung und sah die Möglichkeit, die Fortschritte bei Large Language Models (LLMs) zu nutzen, um einen erheblichen Teil dieser Analyse zu unterstützen. Ziel war die Entwicklung eines KI-Modells, das diese Ereignisse analysieren und diejenigen zuverlässig kennzeichnen kann, die tatsächlich auf potenzielle Schwachstellen hindeuten.
In der ersten Projektphase entwickelten wir eine Lösung auf Basis einer einfachen One-Shot-Prompting-Technik. Sie bildete den Kern unseres Klassifizierungssystems. Die wichtigsten Bausteine der Lösung waren:
Optimiertes One-Shot-Prompting: Wir führten mehrere Experimente durch, um sicherzustellen, dass Prompt und bereitgestellter Kontext ausreichten. Bereits mit dem unveränderten Ereignis-Payload – in unserem Fall einem Kommentar – erzielten wir relativ gute Ergebnisse. So konnten wir zusätzlichen Zeit- und Ressourcenaufwand für ein Fine-Tuning vermeiden.
Hohe Recall-Rate als Priorität: Unser wichtigstes Ziel war eine hohe Recall-Rate, damit keine tatsächlichen Schwachstellen übersehen werden. In ersten Experimenten erreichten wir eine Recall-Rate von 95 %. Indem wir den Prompt so anpassten, dass das Modell bei Unsicherheit mit „vielleicht“ antworten konnte, steigerten wir die Recall-Rate auf nahezu 100 % und erzielten zugleich weiterhin eine angemessene Precision.
Ergebnisse
Bei einer beeindruckenden Recall-Rate von 100 % – das heißt, keine der vielen Schwachstellen, die wir jeden Monat entdecken, bleibt unentdeckt – konnten wir jede Woche Dutzende Ereignisse mit hoher Zuverlässigkeit als nicht relevante Hinweise einstufen.
Für uns bedeutet das eine Reduzierung der Ereignisse, die Analysten bearbeiten müssen, um 10 %. Gleichzeitig profitieren unsere Kunden weiterhin ohne Abstriche von denselben Sicherheitsgarantien, und unsere Sicherheitsanalysten können möglicherweise weitere hochwertige Erkenntnisse gewinnen.
Fix-Commit-Klassifizierung: Release-Analysen optimieren
Das zweite Projekt sollte die Analyse neuer Paketversionen verbessern und feststellen, ob sie Korrekturen für bekannte Schwachstellen enthalten. Zuvor mussten Analysten die Commits jeder neuen Version manuell prüfen – eine zeitaufwendige und fehleranfällige Aufgabe.
Die Herausforderung bei der Release-Analyse
Jedes Softwarepaket wird aktualisiert und in neuen Versionen veröffentlicht. Jede Version kann zahlreiche Commits enthalten, die jeweils eine Codeänderung darstellen. Um festzustellen, welche Commits bestimmte Schwachstellen beheben, sind fundierte Kenntnisse des Codes und der jeweiligen Schwachstelle erforderlich. Alle Commits jeder Version manuell zu prüfen, war eine enorme Aufgabe.
Nehmen wir beispielsweise an, unser Analyst wird über die neue Version 1.9.1 der React-Bibliothek informiert, die seit der vorherigen Version 1.9.0 ganze 492 (!) Commits umfasst. Um festzustellen, ob diese Version eine bekannte Schwachstelle behebt, müsste der Analyst alle enthaltenen Commits durchgehen, mit sämtlichen Details bekannter Schwachstellen abgleichen und beurteilen, ob die Änderungen die Schwachstelle wirksam beheben. Natürlich lässt sich das nicht manuell bewältigen. Daher würde der Analyst dafür meist nur begrenzt Zeit einplanen und sich auf die schwerwiegendsten Probleme oder auf solche konzentrieren, deren Behebung ausdrücklich in den Release Notes erwähnt wird. Selbst dann kann der Vorgang Stunden dauern – insbesondere bei Paketen wie React, bei denen jede Version zahlreiche Commits enthält.
KI-gestützte Klassifizierung von Fix-Commits: unser Ansatz
Um diese Herausforderung zu bewältigen, wollten wir Release-Benachrichtigungen um KI-generierte Empfehlungen ergänzen, ob ein Commit eine bestimmte Schwachstelle behebt. Dazu entwickelten wir einen mehrstufigen Prozess:
Zugehörige Commits abrufen: Zunächst riefen wir alle Commits ab, die einer bestimmten Paketversion zugeordnet waren.
KI-gestützte Erkennung von Fixes: Anschließend verwendeten wir ein Large Language Model, um festzustellen, ob einer dieser Commits eine bestimmte Schwachstelle behob.
Release-Benachrichtigungen anreichern: Erkannte die KI einen Fix, ergänzten wir diese Information in den Release-Benachrichtigungen, damit Analysten sofort darauf zugreifen konnten.
Ergebnisse
Der größte Erfolg war die Entdeckung von Fixes für Schwachstellen, die zuvor nicht gekennzeichnet worden waren. Bei der Entwicklung der Lösung und der Bewertung ihrer Genauigkeit entdeckten wir mehr als 500 Fixes, die nun in unsere Sicherheitsdatenbank aufgenommen werden.
Außerdem können wir davon ausgehen, dass ein erheblicher Teil der derzeit rund 30 automatisierten Entdeckungen pro Monat, die diese Änderung ermöglicht, zusätzliche Erkenntnisse sind, die uns sonst entgangen wären.
Gesamtauswirkung
Da beide Verbesserungen jetzt verfügbar sind, profitieren Snyk-Nutzer bereits von einer schnelleren Erkennung und einem noch umfangreicheren Sicherheitsangebot. So können wir ein Höchstmaß an Sicherheit mit branchenführender Geschwindigkeit bieten.
Nicht zuletzt haben wir die Effizienz und Genauigkeit unserer Sicherheitsarbeit verbessert, indem wir wichtige Teile des Analyseprozesses beschleunigt und KI-gestützte Erkenntnisse bereitgestellt haben. Die Integration von KI in unsere Prozesse für das Schwachstellenmanagement ist nicht nur ein technologischer Fortschritt. Sie verändert grundlegend, wie wir Sicherheit angehen, und ermöglicht es uns, neuen Bedrohungen zuvorzukommen und unsere Nutzer wirksamer zu schützen.
Starten Sie kostenlos mit den KI-Code-Sicherheitstools von Snyk
Keine Kreditkarte erforderlich.
Erstellen Sie ein Konto mit Bitbucket und nutzen Sie weitere Optionen
Mit der Nutzung von Snyk erklären Sie sich mit unseren Richtlinien einverstanden, einschließlich unserer Nutzungsbedingungen und unserer Datenschutzerklärung.