Skip to main content

Wie Snyk KI für die Entwicklersicherheit einsetzt

Artikel von

Frank Fischer

feature snyklaunch

4. April 2023

0 Min. Lesezeit

Als führend beim Einsatz von KI für die Entwicklersicherheit verfolgt Snyk einen einzigartigen Ansatz. Heute möchten wir Ihnen einen Einblick geben, wie Snyk derzeit KI und Data Science einsetzt, und einen Ausblick darauf, was noch kommt.

Bevor wir näher darauf eingehen, möchten wir zwei Aspekte des KI-Einsatzes bei Snyk hervorheben, um den Rahmen abzustecken:

  1. Snyk kombiniert verschiedene KI-Ansätze und Algorithmen und vereint die beiden wichtigsten Schulen der künstlichen Intelligenz – Machine Learning (ML) und symbolische KI – mit menschlicher Intelligenz zu einer hybriden KI.

  2. Bislang setzte Snyk KI vor allem im Hintergrund ein, um die Qualität und Genauigkeit unserer Security-Research-Arbeit zu verbessern und sicherzustellen. Während Snyk seine Forschung mit KI weiter vorantreibt, werden wir neue Funktionen hinzufügen, die in der Benutzeroberfläche deutlicher sichtbar sind.

Snyks Beitrag zur KI: hybride KI

Lassen Sie uns den ersten oben genannten Punkt – hybride KI – etwas genauer betrachten. Wir sprechen von hybrider KI, weil wir mehrere KI-Modelle mit menschlicher Intelligenz kombinieren.

Es gibt zwei wichtige Schulen der KI: ML und symbolische KI.

  • ML, also Machine Learning, eignet sich für Situationen mit Mehrdeutigkeiten, benötigt aber große Mengen an Trainingsdaten. Es wird als „Blackbox“ bezeichnet, weil es die Richtigkeit seiner Ergebnisse nicht begründen kann. Generative ML-Techniken wie GPT gehören zu dieser Kategorie.

  • Symbolische KI eignet sich dagegen für Aufgaben mit klarer Struktur, benötigt keine Trainingsdaten und kann ihre Ergebnisse begründen (transparent statt Blackbox). In Situationen mit Mehrdeutigkeiten ist symbolische KI jedoch schwach.

Wenn Sie Security-Ergebnisse erzielen möchten, müssen Sie beide Situationen bewältigen können. Sie benötigen Tools, die Code scannen und seine Absicht erkennen, auch wenn die Struktur von Beispiel zu Beispiel unterschiedlich sein kann. Das ist ein Einsatzgebiet für ML. Ein großer Nachteil generativer ML-Systeme wie GPT oder Codex sind jedoch sogenannte Halluzinationen. Die Ergebnisse dieser Systeme sind zwar beeindruckend, aber nicht garantiert korrekt und können auf überzeugende Weise irreführend sein.

Hier kommt die symbolische KI ins Spiel: Sie liefert Ergebnisse und kann begründen, warum diese korrekt sind. Um Halluzinationen vorzubeugen, kombiniert Snyk generatives ML mit symbolischer KI. Die generativen ML-Modelle von Snyk erzeugen den Quellcode für eine Fehlerbehebung. Anschließend überprüft symbolische KI, ob der generierte Code frei von Problemen ist. Als Nutzer erhalten Sie von Snyk automatisch direkt in Ihrer IDE Code, der das vorliegende Problem behebt und auf neu eingeführte Probleme geprüft wurde.

Zu guter Letzt spielt auch menschliche Intelligenz eine entscheidende Rolle. Snyk vertraut fest auf die natürliche Intelligenz seiner Security-Expertinnen und -Experten, die die KI steuern und anleiten. Doch damit nicht genug. Das Security-Research-Team von Snyk hat Tausende von Sicherheitslücken aufgedeckt und offengelegt und ergänzt unsere Security-Erkenntnisse um Metadaten und Einblicke. Dadurch können die Menschen auf der anderen Seite – Entwicklerinnen und Entwickler sowie Security-Teams – unsere Ergebnisse leichter nutzen und verstehen. KI hilft dabei, Rauch zu entdecken. Doch die Menschen in unserem Research-Team können erkennen, ob tatsächlich ein Feuer ausgebrochen ist, und sicherstellen, dass unsere Ergebnisse korrekt und umsetzbar sind.

Da die Kombination dieser Bereiche die Benutzerfreundlichkeit und Robustheit erheblich verbessert, setzt Snyk verstärkt auf hybride KI. Sie ist das beste Werkzeug, um unsere Philosophie umzusetzen: innovative Security-Lösungen zu entwickeln, die neueste KI und unsere einzigartige Security-Expertise nutzen.

Snyk-Produkte, die heute KI einsetzen

Bei Snyk arbeiten spezialisierte Teams an verschiedenen KI- und Data-Science-Technologien. Unser Kernteam für KI ging aus DeepCode hervor und besteht aus weltweit renommierten Forschenden und Praktikerinnen und Praktikern in den Bereichen KI, statische Analyse und Security. Sie haben mehrere wissenschaftliche Arbeiten auf renommierten Konferenzen und in Fachzeitschriften veröffentlicht und beteiligen sich an der breiteren Diskussion in der Branche über den Einsatz von KI in der Anwendungssicherheit.

Hier sehen Sie, wie Snyk heute KI und Data Science in seinen Produkten einsetzt:

  • Snyk setzt KI ein, um zahlreiche soziale Netzwerke und Community-Kanäle zu überwachen, interessante Kandidaten für Sicherheitslücken herauszufiltern und das Security-Research-Team darauf aufmerksam zu machen. Unsere fortschrittliche Verarbeitung natürlicher Sprache kann durch Stimmungsanalysen, Stichwortsuche und Triangulation mögliche neue und aktiv ausgenutzte Sicherheitslücken in Open-Source-Paketen und Frameworks aufdecken.

  • Snyk Code nutzt KI für eine schnelle und tiefgehende semantische Codeanalyse und setzt damit Maßstäbe in Sachen Geschwindigkeit. Unsere KI-Engine ist nicht nur ausgesprochen schnell und präzise: Die eingesetzten KI-Modelle begründen auch ihre Ergebnisse, zeigen nachzuverfolgende Datenflüsse auf und liefern Beispiele dafür, wie andere Entwicklerinnen und Entwickler in einer ähnlichen Situation das Problem gelöst haben. Gerade im Bereich Security ist es wichtig zu erklären, warum eine Antwort richtig ist. Dieser Ansatz basiert auf einem anderen Modell als generative ML-Tools.

  • Wir erstellen und pflegen unsere SAST-Wissensdatenbank mithilfe von Machine-Learning-Algorithmen, die aus mehr als 100.000 Open-Source-Repositories pro Programmiersprache lernen. Durch die Kombination von KI und unserer Security-Expertise konnten wir eine einzigartige, dynamische hybride KI entwickeln.

  • Snyk Cloud kombiniert verschiedene Echtzeit-Datenquellen, um die Security-Posture einer Anwendung vom ursprünglichen Code bis zur Cloud und zurück abzubilden. Mithilfe der fortschrittlichen Analyse- und Reporting-Mechanismen der Snyk-Plattform werden Informationen in Entscheidungswissen umgewandelt oder in umfassendere Unternehmenssysteme von Partnern wie ServiceNow und Sysdig integriert.

Der künftige Einsatz von KI bei Snyk

Während wir weiter dazulernen und Innovationen vorantreiben, wird Snyk auf den folgenden Beispielen aufbauen und weitere KI-zentrierte Produktfunktionen entwickeln.

  • Wenn Sie unser SnykLaunch-Event im April verfolgt haben, konnten Sie eine Demonstration einer kommenden Funktion auf Basis der KI von Snyk sehen. Als Nutzer erhalten Sie von Snyk automatisch direkt in Ihrer IDE Code, der ein Sicherheitsproblem behebt und überprüft, ob der generierte Code keine neuen Probleme einführt und das Problem tatsächlich behebt.

  • Nutzerinnen und Nutzer können direkt mit der KI von Snyk interagieren, um eigene Codeabfragen zu schreiben. KI bietet dabei zwei wichtige Vorteile: Die semantische Autovervollständigung der Abfrage vereinfacht die Suche und liefert schneller Ergebnisse aus dem Trainingsdatensatz der Snyk-Code-Engine. Außerdem kann Snyk mithilfe evolutionärer oder genetischer Algorithmen Regeln generieren und optimieren, um Störsignale zu reduzieren und die Vollständigkeit zu verbessern.

  • Durch die Kombination der semantischen Codeabfragefunktionen von Snyk mit der Verarbeitung natürlicher Sprache können Entwicklerinnen und Entwickler ihre Absichten in natürlicher Sprache formulieren und Beispielimplementierungen in Open-Source-Projekten finden, um daraus zu lernen und sie anzupassen. Sie können Ihre Absichten frei formulieren und erhalten zuverlässige Codebeispiele, die Ihren Anforderungen entsprechen.

  • Mit der zunehmenden Komplexität der Software-Supply-Chain und der wachsenden Menge an Daten, die Snyk zu Code, Paketen und Cloud sammelt – zuzüglich der Daten von Partnern –, werden auch Umfang und Komplexität der in Snyk einfließenden Daten zunehmen. Hybride KI kann Probleme erkennen, die heute nicht unmittelbar zu einem Sicherheitsproblem führen, aber künftig zu Sicherheitslücken werden könnten.

  • Snyk Learn, eine interaktive Lernumgebung, kann mithilfe von KI an das individuelle Kompetenzniveau der Entwicklerinnen und Entwickler angepasst werden, indem die Lernmodule personalisiert werden.

KI genauer betrachtet: generatives ML, symbolische KI und Halluzinationen

Wenn Sie sich besonders für KI-Modelle und deren Einsatz bei Snyk interessieren, ist dieser Abschnitt genau richtig für Sie!

Ein Großteil des jüngsten KI-Hypes dreht sich um die beeindruckenden Ergebnisse von OpenAIs GPT-3 und den inzwischen verfügbaren GPT-4-Modellen sowie um darauf aufbauende Modelle wie Microsofts Codex. Generative ML-Modelle lernen Regeln, indem sie riesige Datenmengen analysieren und eigene Regeln dafür bilden, wie bestimmte Eingaben zu bestimmten Ausgaben führen. Die Ergebnisse sind zwar beeindruckend, doch generatives ML weist ein Problem auf, das als Halluzination bezeichnet wird. Halluzinationen entstehen, wenn eine Maschine eine überzeugende, aber frei erfundene Antwort liefert, die von den erwarteten oder „normalen“ Ergebnissen abweicht. Anders gesagt: Diese Systeme können mehrdeutige Informationen zwar gut entschlüsseln, ihre Ergebnisse sind jedoch nicht garantiert korrekt und können äußerst überzeugend irreführend sein, da sie nicht erklären können, warum sie eine Antwort für richtig halten.

Symbolische KI dagegen eignet sich für Aufgaben mit klarer Struktur, benötigt keine Trainingsdaten und kann erklären, warum ihre Ergebnisse korrekt sind. Symbolische KI verankert Regeln und Logik im System, die anschließend zur Analyse und zur Entscheidung über eine Antwort verwendet werden. Da die Regeln Teil des Systems sind, kann ich Ihnen erklären, wie es zu einer Antwort gelangt. Ihre Schwäche liegt jedoch in Situationen mit Mehrdeutigkeiten.

Um Halluzinationen vorzubeugen, wird Snyk generatives ML mit symbolischer KI kombinieren. Snyk verwendet seine eigenen generativen Modelle, die für die Erstellung von Quellcode optimiert sind, und setzt symbolische KI ein, um zu überprüfen, ob der generierte Code frei von Problemen ist. Als Endnutzer erhalten Sie von Snyk automatisch Code, der das vorliegende Problem behebt. Außerdem wird geprüft, ob die Fehlerbehebung keine neuen Probleme einführt.