Beheben Sie Schwachstellen effizienter mit Reachable Vulnerabilities für GitHub
21. Januar 2021
0 Min. LesezeitWir freuen uns, das neue Jahr mit der Beta-Version von Reachable Vulnerabilities für GitHub zu beginnen. Sie bietet Entwicklungs- und Sicherheitsteams detaillierte Einblicke auf Anwendungsebene in Schwachstellen, die in auf GitHub gehosteten Anwendungen gefunden wurden, und hilft ihnen, Korrekturen effizienter zu priorisieren.
Reachable Vulnerabilities wurde im Juli letzten Jahres angekündigt und analysiert den Ausführungspfad einer Anwendung, um festzustellen, ob der verwundbare Teil einer Abhängigkeit tatsächlich erreicht wird. Dieser Anwendungskontext hilft dabei, den Behebungsaufwand auf die richtigen Schwachstellen zu konzentrieren – also auf jene, die das größte Risiko für das Unternehmen darstellen.
Nutzer*innen der Snyk CLI setzen Reachable Vulnerabilities bereits ein, um Korrekturen für ihre Schwachstellen zu priorisieren. Nun freuen wir uns, diese Funktion auch für unsere GitHub-Integration bereitzustellen. Damit wird die Priorisierung in von GitHub verwalteten Repositorys deutlich einfacher.

Was bedeutet „Erreichbarkeit“ und warum ist sie wichtig?
Die meisten SCA-Lösungen (Software Composition Analysis) scannen Ihre Anwendung, um festzustellen, welche Open-Source-Abhängigkeiten eingebunden sind. Anschließend vergleichen sie diese Ergebnisse mit einer Schwachstellendatenbank und erstellen einen Bericht über anfällige Abhängigkeiten.
Diese Berichte wachsen mit der Zeit auf Hunderte, wenn nicht Tausende von Problemen an. Da Unternehmen nicht alle diese Schwachstellen beheben können – und das auch nicht sollten –, müssen sie Prioritäten setzen. Die meisten verfügbaren Lösungen geben CVSS-basierte Schweregrade als Orientierung vor. Doch bei Hunderten von Schwachstellen mit hohem Schweregrad oder fünf Schwachstellen mit demselben CVSS-Score ist das schlicht nicht zielführend.
Hier kommt die „Erreichbarkeit“ ins Spiel: Sie liefert Ihnen detaillierte Einblicke auf Anwendungsebene, damit Sie Risiken schnell und präziser einschätzen können. Ähnlich wie man nur die unverdorbenen Stellen einer faulen Frucht isst, bedeutet eine Schwachstelle in einem Teil Ihres Codes nicht zwangsläufig, dass die gesamte Bibliothek anfällig ist. Nicht erreichbare Schwachstellen gefährden in der Regel nicht die Anwendung als Ganzes und stellen daher ein geringeres Risiko dar als erreichbare Schwachstellen.
Reachable Vulnerabilities verringert die Zahl der Schwachstellen, die sofortige Aufmerksamkeit erfordern, erheblich. Rund 3 % der Schwachstellen in den Java-Maven-Projekten, die wir mit Reachable Vulnerabilities getestet haben, sind tatsächlich „erreichbar“. Bedeutet das, dass die übrigen Schwachstellen ignoriert werden können? Natürlich nicht. Auch sie sind wichtig und müssen bewertet werden. Genau darin liegt der Unterschied zwischen dringend und wichtig.
Wie funktioniert Reachable Vulnerabilities?
Wenn Sie wissen möchten, wie Reachable Vulnerabilities genau funktioniert, bietet dieser Blogbeitrag einen ausführlichen technischen Einblick. Darin erfahren Sie, wie Snyk eigene Sicherheitsforschung mit automatisierter statischer Analyse kombiniert, um Schwachstellen präzise zu analysieren und detaillierte Einblicke auf Anwendungsebene zu liefern.
Die Erweiterung dieser Funktion für unsere GitHub-Integration erforderte zusätzliche Entwicklungsarbeit. Entscheidend für die Analyse ist die Erstellung eines Call Graphs, der die verschiedenen Interaktionen zwischen Ihrer Anwendung und ihren Abhängigkeiten abbildet. Bei auf GitHub gehosteten Anwendungen klont Snyk Ihr Repository, erstellt die Anwendung und generiert den benötigten Call Graph, um die Erreichbarkeit zu bestimmen. Sobald der Call Graph erstellt wurde, wird der gesamte Quellcode von den Snyk-Servern entfernt.
Reachable Vulnerabilities für Ihre GitHub-Projekte aktivieren
Durch die Integration von Snyk mit GitHub können Sie alle Ihre auf GitHub gehosteten Code-Repositorys kontinuierlich auf Sicherheitsprobleme testen, Schwachstellen in Ihren Open-Source-Abhängigkeiten finden und diese anschließend mithilfe automatisierter Workflows für Korrekturen und Upgrades beheben. Falls Sie die Integration mit GitHub noch nicht eingerichtet haben, folgen Sie den Schritten in unserer Dokumentation.
Reachable Vulnerabilities für GitHub ist standardmäßig NICHT aktiviert. Da wir den Anforderungen an die Datensicherheit Rechnung tragen, müssen Sie der Analyse ausdrücklich zustimmen.
Um Reachable Vulnerabilities für Ihre GitHub-Projekte zu aktivieren, öffnen Sie die Organisationseinstellungen für die GitHub-Integration und betätigen Sie einfach den Schalter im Abschnitt Reachable Vulnerabilities analysis.

Reachable Vulnerabilities wird anschließend für alle neuen GitHub-Projekte aktiviert, die Sie importieren, UND für bestehende GitHub-Projekte, die nach dem nächsten täglichen oder nächtlichen Test analysiert werden.
Mit Reachable Vulnerabilities priorisieren
Nach der Aktivierung werden auf den entsprechenden Projektseiten in Snyk verschiedene Indikatoren und Informationen zur Erreichbarkeit angezeigt. Damit können Sie die im Projekt gefundenen Probleme schnell filtern.

Reachable Vulnerabilities fließt auch in den Snyk-Priority Score (1) ein – ein fortschrittliches, integriertes Bewertungssystem, das von einem proprietären Algorithmus angetrieben wird. Dieser verarbeitet zahlreiche Faktoren, darunter den CVSS-Score, die Verfügbarkeit einer Korrektur, bekannte Exploits, das Alter der Schwachstelle und – wie erwähnt – ihre Erreichbarkeit. Der resultierende Score wird oben rechts auf den einzelnen Problemkarten angezeigt und hilft Ihnen, Ihren Backlog schnell zu filtern und zu sortieren.
Relevante Schwachstellen erhalten eine Kennzeichnung zur Erreichbarkeit (2). Mit Erreichbarkeitsfiltern (3) können Sie die für das Projekt gefundenen Probleme schnell sortieren und sich auf jene mit dem größten Risiko konzentrieren. Außerdem zeigt Snyk detailliert (4) den genauen Pfad, über den die anfällige Funktion von der Anwendung aufgerufen wird.
Erreichbare Schwachstellen beheben
Mit der GitHub-Integration von Snyk können Sie Probleme nicht nur finden, sondern auch direkt in Ihrem Git-basierten Workflow beheben.
Sie können direkt in der Snyk-Benutzeroberfläche manuell einen Pull Request für eine Schwachstelle erstellen. Noch einfacher wird es dadurch, dass Snyk in verschiedenen Fällen automatisch einen Pull Request auslöst – etwa wenn Snyk eine neue behebbare Schwachstelle findet oder für eine bestehende Schwachstelle eine neue Korrektur verfügbar wird. Auch Snyks Backlog Management löst Pull Requests auf Grundlage des Priority Score aus (mehr über Backlog Management erfahren Sie hier).
In all diesen Pull Requests werden Informationen zur Erreichbarkeit zusammen mit den weiteren Korrekturhinweisen von Snyk auf dem Tab „Conversation“ angezeigt. Dieser Kontext erleichtert Ihnen die Entscheidung, ob Sie den Pull Request mergen möchten.

Erreichbarkeitsdaten sind auch auf der Seite Reports Issues verfügbar. So können Sie Ihre Schwachstellen im Zeitverlauf einfacher überwachen und nachverfolgen.

Legen Sie jetzt los!
Eine präzise und schnelle Risikobewertung ist entscheidend für eine wirksame Priorisierung. CVSS ist vielleicht ein guter Ausgangspunkt, aber allein nicht umfassend genug und bietet keinen detaillierten Kontext zu den subjektiven Faktoren einer Schwachstelle.
Durch die Analyse des Ausführungspfads der Anwendung und die Korrelation mit den umfangreichen Sicherheitsdaten von Snyk liefert Snyks Reachable Vulnerabilities – jetzt auch für auf GitHub gehostete Anwendungen verfügbar – die detaillierten Einblicke auf Anwendungsebene, die für eine wirksame Priorisierung erforderlich sind.
Reachable Vulnerabilities für GitHub wird schrittweise als Betaversion für alle Snyk-Pläne bereitgestellt und unterstützt derzeit Java-Projekte (Maven). Wenn Sie nicht warten möchten und früher Zugriff erhalten möchten, wenden Sie sich an uns unter: support@snyk.io. Weitere Informationen finden Sie in der Hauptdokumentation.


