Skip to main content

Schwachstellen mit Zuversicht beheben – mit ML-gestütztem Merge Advice von Snyk

Artikel von
fix vulnerabilities

2. Juni 2020

0 Min. Lesezeit

Wir freuen uns, die Beta-Version von Merge Advice anzukündigen – die neueste Erweiterung der Snyk-Funktionen zur Behebung von Schwachstellen, mit der Sie diese zuverlässig beheben können. Merge Advice nutzt Machine Learning und gibt Entwicklern mehr Sicherheit dabei, Schwachstellen in ihren Open-Source-Abhängigkeiten zu beheben.

Mehr Sicherheit für Entwickler

Das Risiko, durch Änderungen einen Branch zu beschädigen, kann dafür sorgen, dass sich ein Klick auf die Schaltfläche zum Zusammenführen wie Russisches Roulette anfühlt. Selbst etwas so Einfaches wie ein Paket-Upgrade kann mitunter Code beeinträchtigen, der von dieser Abhängigkeit abhängt.

Pull Requests mit Zuversicht zusammenzuführen ist entscheidend. Deshalb investieren wir weiterhin in die Genauigkeit der Fix- und Upgrade-Pull-Requests von Snyk und nehmen so wenige Änderungen wie möglich vor, um die Schwachstelle zu beseitigen. Bei Sicherheitskorrekturen empfehlen wir beispielsweise immer die niedrigste nicht anfällige Version, die mit Ihrem Projekt kompatibel ist. Merge Advice geht noch einen Schritt weiter und nutzt Machine Learning, damit sich mehr Schwachstellen zuverlässig beheben lassen.

Jeder kompatible Pull Request, der von Snyk oder über Snyk erstellt wurde, erhält ein Badge, das anzeigt, ob der Fix wahrscheinlich zu Breaking Changes führt. Entwickler verfügen nun über die nötigen Informationen, um fundierte Merge-Entscheidungen zu treffen.

Wie funktioniert es?

Um Merge Advice für jeden PR zu ermitteln, werden umfangreiche Daten ausgewertet:

  1. Die PR-Aktivität wird sowohl in öffentlichen GitHub-Repositories als auch in den von Snyk überwachten Repositories erfasst.

  2. Dabei werden drei Kennzahlen gemessen: CI-Testergebnisse, Merge-Raten und Rollbacks von PRs.

  3. Anschließend sagt Machine Learning den Erfolg eines PR-Merges voraus.

Das Ergebnis dieses Prozesses ist ein Merge Advice-Badge, das oben in kompatiblen Pull Requests angezeigt wird:

Tabelle mit Erläuterungen zu Snyk Merge Advice und den Kennzeichnungen „Hohe Erfolgsaussicht“ und „Überprüfung empfohlen“.

Präzise Prognosen mithilfe von Machine Learning

Der Algorithmus hinter Merge Advice wurde dafür entwickelt, den Erfolg von Merge-Pull-Requests mit hoher Zuverlässigkeit vorherzusagen. Grundlage ist ein statistisches Modell, das sowohl die Anzahl der Datenpunkte als auch deren beobachtete Verteilung für ein Upgrade einer bestimmten Abhängigkeit von Version X auf Version Y berücksichtigt. Wenn nicht genügend Daten für eine verlässliche Prognose vorliegen, wird für ein Upgrade KEINE Empfehlung angezeigt.

Das Modell hinter Snyks Merge Advice verfolgt einen besonderen Ansatz und erfasst mehrere Kennzahlen:

  • die Bestehens- und Fehlerrate der CI-Test-Suites beim Upgrade eines Pakets von Version X auf Y,

  • die Merge-Rate dieser Upgrades

  • und die Anzahl der Rollbacks eines Upgrades.

Diese Kennzahlen werden außerdem über mehrere Datenquellen hinweg erfasst. Mithilfe von GHArchive überwachen wir die Aktivität in öffentlichen GitHub-Repositories. Das Projekt zeichnet öffentliche GitHub-Aktivitäten auf, archiviert sie und stellt sie für weitere Analysen zur Verfügung. Natürlich beziehen wir auch die derzeit über 750.000 Repositories ein, die von Snyk-Nutzern geschützt werden.

Durch die Kombination dieser Datenquellen entsteht ein umfangreicher Datensatz, aus dem sich Erkenntnisse ableiten lassen und der dem von Merge Advice verwendeten Modell mehr statistische Aussagekraft verleiht.

Zusammenführen oder nicht zusammenführen – das ist hier die Frage!

Wie sieht das also in Ihrem GitHub-Alltag aus? Sehen wir uns das genauer an.

Wie bisher können Snyk-Nutzer über die Snyk-Oberfläche manuell einen PR erstellen, um eine bestimmte Schwachstelle oder eine Gruppe von Schwachstellen zu beheben. Snyk kann außerdem in zwei Fällen automatisch einen Pull Request erstellen: wenn eine neue Schwachstelle in vorhandenen Abhängigkeiten erkannt wird oder wenn eine veraltete Abhängigkeit festgestellt wird.

Unabhängig vom Auslöser enthalten diese Pull Requests jetzt das neue Merge Advice-Badge. Die angezeigte Empfehlung basiert auf dem oben beschriebenen Prognosemodell.

GitHub-Pull-Request von snyk-bot, der adm-zip aktualisiert, mit einem roten Pfeil, der das Merge-Advice-Label „Überprüfung empfohlen“ hervorhebt.

Jetzt beheben!

Merge Advice soll Entwickler dabei unterstützen, fundierte Entscheidungen zu treffen, wenn sie Pull Requests zum Schutz ihrer Open-Source-Abhängigkeiten zusammenführen. Damit die Ergebnisse stets optimal sind, verbessern wir kontinuierlich den Algorithmus hinter dieser Funktion. Auch Faktoren wie saisonale Schwankungen können die Ergebnisse beeinflussen und fließen deshalb ebenfalls in die Berechnungen ein.

Derzeit sind Merge Advice-Badges nur für einen kleinen Teil der GitHub-Pull-Requests für Yarn- und npm-Pakete sichtbar, bei denen jeweils nur ein einzelnes Paket aktualisiert wird. Im Laufe der Beta-Version werden wir die Unterstützung ausweiten und vertiefen. Bleiben Sie also auf dem Laufenden.

Merge Advice ist für alle Nutzer und alle Tarife verfügbar, einschließlich des Free-Tarifs.

Viel Erfolg beim Zusammenführen!

Starten Sie mit Capture the Flag

Erfahren Sie in unserem virtuellen On-Demand-Workshop für Einsteiger, wie Sie Capture-the-Flag-Herausforderungen lösen.

Weiterlesen

blog feature snyk container custom base recommendations
Blog

Evo Agentic AppSec: Sicherheit, die mit der KI-Entwicklung Schritt hält

KI-gestützte Entwicklung überholt herkömmliche Security-Workflows. Snyk Agentic AppSec setzt Security-Agenten ein, die Schwachstellen kontinuierlich finden, beheben und überprüfen – während Menschen die Maßstäbe festlegen.

feature insights context
Blog

Autonome Angriffe sind bereits Realität. Die Verteidigung muss Schritt halten.

Autonome Angreifer verkürzen das Zeitfenster für die Verteidigung. Erfahren Sie, wie kontinuierliches Erkennen, Beheben, Validieren und Verhindern Sicherheitsteams helfen kann, Schritt zu halten.

Blog

Warum KI-Coding-Agenten immer wieder fehlerhafte Zugriffskontrollen schreiben

KI-Coding-Agenten können Autorisierungslogik erzeugen, die kompiliert und die Prüfung besteht, dabei aber die Daten eines Mandanten für einen anderen offenlegt. Erfahren Sie, warum fehlerhafte Zugriffskontrollen schwer zu erkennen sind und wie Sie sie verhindern.