Mit der Snyk Vulnerability Database Projekte für The Big Fix finden
DeveloperSteve Coochin
30. März 2022
0 Min. LesezeitAls Entwicklerinnen und Entwickler haben wir alle unsere morgendliche Startroutine: Kaffee kochen, Slack/Discord/E-Mails checken und die neuesten Nachrichten lesen. Zu meiner täglichen Startroutine gehört auch, in der Snyk Vulnerability Database nach den neuesten Open-Source-Schwachstellen zu suchen.
Besonders interessant ist es zu sehen, welche Arten von Exploits und Schwachstellen in verschiedenen Ökosystemen auftreten. Seit Mai 2021 beobachte ich das Auftreten von Schwachstellen in Tensorflow-Bibliotheken. Zum Zeitpunkt der Erstellung dieses Beitrags sind sie erneut aufgetaucht – fast zwei Seiten davon! Auch in ElectronJS, dem Ökosystem hinter Slack, VS Code, Twitch und vielen anderen beliebten Apps, wurden in den jüngsten Berichten wiederholt Schwachstellen entdeckt.
Die Snyk Vulnerability Database erleichtert nicht nur die sichere Entwicklung im Alltag, sondern trägt auch dazu bei, das Internet insgesamt sicherer zu machen. Bei Snyks einmonatigem Schwachstellen-Sprint The Big Fix kamen Entwicklerinnen und Entwickler, DevOps-Fachleute und Sicherheitsexpertinnen und -experten zusammen, um so viele Schwachstellen wie möglich zu beheben. Den Höhepunkt bildete der 24-stündige Livestream Big Fix-A-Thon. Viele Teilnehmende nutzten die Snyk Vulnerability Database, um schädliche Pakete in verschiedenen Open-Source-Projekten zu finden und zu beheben.
Das offizielle Event ist zwar vorbei, doch die Community von The Big Fix ist aktiver denn je. Heute zeige ich Ihnen, wie Sie mit der Open-Source-Schwachstellendatenbank ein Projekt finden und so dazu beitragen können, Nutzerinnen und Nutzer zu schützen – und sich nebenbei ein T-Shirt in limitierter Auflage mit dem Aufdruck #thebigfix sichern.
Erste Schritte mit The Big Fix
Melden Sie sich zunächst für ein kostenloses Snyk-Konto an. Falls Sie noch keins haben, rufen Sie die Seite „Erste Schritte“ 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. Geben Sie zum Schluss Ihren Namen und Ihre E-Mail-Adresse ein – und schon können Sie loslegen.
Sobald Sie sich angemeldet haben, geht es im nächsten Schritt darum, ein Projekt zu finden. Dafür gibt es verschiedene 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 das gewünschte Repository nicht im Schnellmenü aufgeführt ist, klicken Sie auf Sonstiges. 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.

Sobald die Verbindung hergestellt ist, klicken Sie erneut auf Projekt hinzufügen und wählen Sie das Repository aus, in dem Sie einen Open-Source-Schwachstellen-Scan durchführen möchten. Sie können auch private Repositories scannen.

Nach der Verbindung mit Snyk ermittelt der Scan anfällige Pakete im verbundenen Paketmanifest. Anschließend können Sie diese Pakete auswählen, um empfohlene Korrekturen und mögliche Maßnahmen zur Behebung anzuzeigen. Snyk bietet Ihnen außerdem die Möglichkeit, automatisch einen Pull Request mit empfohlenen Korrekturen zu erstellen. Denken Sie daran, die Anwendung zu testen, um sicherzustellen, dass alles im Projekt erwartungsgemäß funktioniert.
Ein Projekt finden
Wenn Sie ein Projekt suchen, in dem Sie bei der Behebung einer Schwachstelle helfen können, nutzen Sie die Snyk Vulnerability Database, um nach Projekten in einem Paket oder Ökosystem Ihrer Wahl zu suchen.
Während The Big Fix habe ich zu Invoice Ninja beigetragen, einem meiner Lieblingsprojekte aus dem PHP-Open-Source-Ökosystem. Dieses Open-Source-Projekt unterstützt Unternehmen auf der ganzen Welt bei der Rechnungsstellung und Buchhaltung, indem es Verbindungen zu einer Vielzahl von Business-Tools anderer Anbieter herstellt.
Zuerst habe ich das Haupt-Repository geforkt und in mein eigenes Konto übernommen. Anschließend habe ich das Repository wie oben beschrieben mit Snyk verbunden.

Der Scan fand mehrere Schwachstellen im PHP-Composer-Paketmanifest. Eine davon wurde durch die Abhängigkeit DOMPDF 0.6.2 eingeführt.

Bei der näheren Untersuchung einiger Ergebnisse entdeckte ich mehrere Probleme, darunter einen Cross-Site-Scripting-Pfad (XSS) in PHP-Font-Lib – eine Schwachstelle aus dem Jahr 2014. Durch die Rückverfolgung im Projekt ließ sich nicht nur das Problem selbst ermitteln, sondern auch die notwendige Korrektur.
Bei der Bereitstellung von Korrekturen sollten Sie einige Dinge beachten. Am wichtigsten ist, sicherzustellen, dass das Projekt insgesamt weiterhin funktioniert. Das gilt insbesondere für Aktualisierungen von Bibliotheken und Abhängigkeiten. Viele Menschen sind im Geschäftsalltag auf diese Projekte angewiesen, und kein Projekt möchte eine Änderung bereitstellen, die bestehende Funktionen beeinträchtigt.
Ich habe das geforkte Repository per Git-Pull-Request auf meinen lokalen Rechner gezogen und VS Code gestartet. Mit installiertem Snyk-Plugin konnte ich die betroffenen Pakete aktualisieren und Fehler beheben. Anschließend habe ich den Code zum Testen auf meinem lokalen Rechner mit einem lokalen Server ausgeführt (das funktioniert auch mit dem integrierten PHP-Server).
Zum Schluss habe ich die Änderungen in mein geforktes Repository übernommen und einen Git-Pull-Request eingereicht, der von der Community geprüft und anschließend zusammengeführt wurde.
Die Freude, Beiträge zu leisten
Ich unterstütze gerne andere – besonders, wenn ich dazu beitragen kann, eine weitere Community sicher und frei von Schwachstellen zu halten. Als Mitglieder der Open-Source-Community sollten wir alle einen Beitrag leisten und dazu beitragen, Open-Source-Nutzerinnen und -Nutzer zu schützen. Arbeiten wir also gemeinsam daran, die digitale Welt sicherer zu machen.
