Mit der Snyk Vulnerability Database Projekte für The Big Fix finden
DeveloperSteve Coochin
16. Februar 2022
0 Min. LesezeitAls Entwicklerinnen und Entwickler haben wir alle unsere morgendliche Routine: Kaffee machen, Slack/Discord/E-Mails checken und die neuesten Nachrichten lesen. Ein Teil meiner täglichen Morgenroutine ist es, in der Snyk Vulnerability Database nach den neuesten Open-Source-Schwachstellen zu suchen.
Besonders interessant finde ich die Arten von Exploits und Schwachstellen, die in verschiedenen Ökosystemen auftreten. Seit Mai 2021 verfolge ich beispielsweise das Auftreten von Schwachstellen in Tensorflow-Bibliotheken. Zum Zeitpunkt der Veröffentlichung dieses Artikels sind erneut welche aufgetaucht – fast zwei Seiten voll!
Ein weiteres weit verbreitetes Ökosystem, das in letzter Zeit mehrfach aufgetaucht ist, ist ElectronJS. Es bildet die Grundlage vieler beliebter Apps, etwa Slack, VSCode und Twitch, um nur einige zu nennen.
Ich zeige Ihnen, wie Sie nicht nur ein Projekt finden können, an dem Sie mitarbeiten, sondern sich auch eines der limitierten Sonder-T-Shirts von #thebigfix sichern und dazu beitragen können, Nutzerinnen und Nutzer vor Schwachstellen zu schützen. Dabei gewinnen alle!
Erste Schritte mit The Big Fix
Melden Sie sich zuerst für ein kostenloses Snyk-Konto an, falls Sie noch keines haben. Rufen Sie die Seite mit den ersten Schritten auf und geben Sie die üblichen Angaben ein (eine Kreditkarte ist nicht erforderlich). Besuchen Sie anschließend die Website von The Big Fix und klicken Sie auf Jetzt registrieren. Tragen Sie Ihren Namen und Ihre E-Mail-Adresse ein – und schon können Sie loslegen.
Nach der Anmeldung geht es darum, etwas zu finden, das Sie beheben können. Dafür gibt es mehrere Möglichkeiten.
Ein vorhandenes Repository verbinden
Wenn Sie bereits ein Projekt-Repository im Sinn haben, können Sie es schnell und einfach verbinden. Öffnen Sie Ihr Snyk-Dashboard und klicken Sie auf Projekt hinzufügen. Wenn Ihr gewünschtes Repository nicht im Schnellmenü aufgeführt ist, klicken Sie auf Andere. Daraufhin wird eine umfassende Liste mit Integrationsoptionen angezeigt.
Wählen Sie das gewünschte Repository aus und folgen Sie den Schritten zum Verbinden und Konfigurieren.

Klicken Sie nach dem Verbinden erneut auf Projekt hinzufügen und wählen Sie das Repository aus, in dem Sie einen Open-Source-Schwachstellenscan durchführen möchten. Sie können auch private Repositories scannen.

Wenn Sie mit Snyk Open Source verbunden sind, identifiziert der Scan anfällige Pakete im verbundenen Paketmanifest. Außerdem ermittelt er Korrekturen und mögliche Behebungsschritte. Mit Snyk Open Source können Sie auch automatisch einen Pull Request mit möglichen Korrekturen im Repository erstellen lassen. Denken Sie daran, die Anwendung zu testen, um sicherzustellen, dass im Projekt alles wie erwartet funktioniert.
Ein Projekt finden, zu dem Sie beitragen können
Wenn Sie ein Projekt suchen, in dem Sie bei der Behebung einer Schwachstelle helfen können, finden Sie eines in der Snyk Vulnerability Database. Durchsuchen Sie dazu Pakete oder das Ökosystem Ihrer Wahl.
Eines meiner Lieblingsprojekte aus dem PHP-Open-Source-Ökosystem, zu dem ich kürzlich im Rahmen von The Big Fix beigetragen habe, ist Invoice Ninja. Dieses Open-Source-Projekt unterstützt Unternehmen auf der ganzen Welt bei Rechnungsstellung und Buchhaltung und lässt sich mit zahlreichen Business-Tools von Drittanbietern verbinden.
Zuerst erstellte ich einen Fork des Haupt-Repositorys in meinem eigenen Konto. Anschließend verband ich das Repository wie oben beschrieben mit Snyk Open Source.

Der Scan fand einige Schwachstellen im PHP-Composer-Paketmanifest. Eine davon wurde über DOMPDF 0.6.2 als Abhängigkeitsbibliothek eingebunden.

Bei genauerer Untersuchung einiger Ergebnisse entdeckte ich mehrere Probleme, darunter einen für Cross-Site-Scripting (XSS) anfälligen Pfad in PHP-Font-Lib – eine Schwachstelle aus dem Jahr 2014. Die Rückverfolgung durch das Projekt half dabei, nicht nur das Problem selbst, sondern auch die notwendige Korrektur zu finden.
Bei der Bereitstellung von Korrekturen sollten Sie einige Dinge beachten. Am wichtigsten ist, sicherzustellen, dass das gesamte Projekt weiterhin funktioniert. Bei Upgrades von Bibliotheken und Abhängigkeiten ist das besonders wichtig. Viele Menschen sind für ihren Geschäftsalltag auf diese Projekte angewiesen. Eine inkompatible Änderung möchte daher niemand in seinem Projekt sehen.
Ich holte das geforkte Repository mit einem Git-Pull-Request auf meinen lokalen Rechner und startete VSCode, auf dem das Snyk-Plugin installiert war. So konnte ich die betroffenen Pakete aktualisieren und debuggen. Anschließend führte ich den Code zum Testen auf meinem lokalen Rechner über einen lokalen Server aus (das ist auch mit dem integrierten PHP-Server möglich).
Zum Schluss commitete ich die Änderungen in mein geforktes Repository und reichte einen Git-Pull-Request ein. Die Community prüfte und untersuchte die Änderungen, bevor sie sie zusammenführte.
Das beglückende Gefühl, Beiträge geleistet zu haben
Ich helfe gerne etwas zurück, besonders wenn ich damit eine andere Community schützen und Schwachstellen verhindern kann. Als Beitragende und Beitragende in Open-Source-Communities ist es immer wichtig, sich einzubringen und dazu beizutragen, alle Nutzerinnen und Nutzer eines Projekts zu schützen.
Als Extra erhalten Sie ein kostenloses T-Shirt und nehmen mit Ihrem Namen an einer Verlosung von Preisen im Rahmen von The Big Fix teil.
Melden Sie sich bei The Big Fix an und legen Sie gleich mit dem Beheben los!
Seien Sie bei The Big Fix dabei
Schließen Sie sich den Tausenden Entwicklerinnen und Entwicklern an, die ihre Anwendungen bereits mit Snyk absichern.



