Vom Anfänger zum Security-Hero: GitHub-Projekte auf bekannte Schwachstellen testen
12. November 2020
0 Min. LesezeitNutzen Sie GitHub für Ihre Projekte? Großartig! Aber wie stellen Sie sicher, dass Ihre Open-Source-Abhängigkeiten frei von Schwachstellen sind?
In diesem Blogbeitrag zeigen wir Ihnen, wie Sie ein kostenloses Snyk-Konto erstellen, Ihr erstes GitHub-Projekt in Snyk importieren und Ihre Open-Source-Abhängigkeiten auf bekannte Schwachstellen testen. Wenn Sie möchten, können Sie die Schritte direkt mitverfolgen – wir verwenden dieselben Repositorys und dieselbe App.
Wenn Sie lieber ein Video ansehen möchten: Hier finden Sie eine 90-Sekunden-Version dieses Beitrags, in der ich Sie durch dieselben Schritte führe: ein neues Snyk-Konto erstellen, ein Projekt aus GitHub importieren und es zum ersten Mal testen.

Fangen wir ganz von vorne an!
Ich muss ein neues Konto erstellen. Dazu rufe ich die Snyk.io-Website auf, klicke oben rechts auf dieser Seite in der Menüleiste auf Anmelden und wähle mein GitHub-Konto aus der Liste der Optionen als föderierte Anmeldung aus, wie unten gezeigt:

Bei der Kontoerstellung muss ich Snyk Zugriff gewähren, um die mit meinem GitHub-Konto verknüpfte E-Mail-Adresse zu lesen. Snyk sendet mir relevante Informationen, etwa Sicherheitsbenachrichtigungen und Berichte zu meinen importierten Projekten, an diese E-Mail-Adresse.
Uns wird eine Liste beliebter Möglichkeiten angezeigt, Projekte in Snyk zu importieren und auf Schwachstellen zu testen, wie unten gezeigt:

Verwenden Sie die Quelle, die am besten zu Ihrer Umgebung passt – der Ablauf ist sehr ähnlich.
In meinem Fall befindet sich das Projekt, das ich testen möchte, auf GitHub. Daher wähle ich diese Option aus. Ich möchte, dass Snyk meine Projekte regelmäßig scannt und automatisch Fix-Pull-Requests in meinem Repository erstellt, damit Sicherheitsprobleme automatisch behoben werden können. Dafür sind zusätzliche Berechtigungen erforderlich, die ich über mein GitHub-Konto erteilen muss. Ich akzeptiere dazu die Standardeinstellungen, wie im folgenden Screenshot zu sehen. Selbstverständlich können Sie diese Berechtigungen deaktivieren. Dann können Sie jedoch die erweiterten und nützlichen Fix-Pull-Request-Funktionen von Snyk nicht nutzen.

Als Nächstes wähle ich das goof-Projekt aus meiner Liste der GitHub-Repositorys aus und füge es als Projekt meinem Snyk-Konto hinzu. Wenn Sie mitmachen möchten, müssen Sie zunächst das Snyk-goof-Projekt forken. Anschließend können Sie in den folgenden Schritten dieses Projekt aus Ihrer eigenen Repository-Liste verwenden. Im folgenden Bild sehen Sie, dass ich das goof-Projekt aus der Liste der Repositorys ausgewählt habe, die Snyk unter meinem GitHub-Benutzerkonto gefunden hat. Zum Importieren in Snyk klicke ich oben rechts auf dem Bildschirm auf Ausgewählte Repositorys hinzufügen.

Snyk liest die Manifestdatei package.json im goof-Projekt aus, da es sich um ein Node.js-Projekt handelt, und erstellt daraus einen Abhängigkeitsgraphen. Dieser umfasst die direkten Abhängigkeiten des goof-Projekts sowie die transitiven Abhängigkeiten, von denen diese direkten Abhängigkeiten abhängen.
Dabei geht Snyk so tief wie nötig, um den vollständigen Abhängigkeitsgraphen zu erstellen. Snyk prüft diese Abhängigkeiten anhand der Snyk Vulnerability Database und erstellt einen vollständigen Bericht. Bereits im Dashboard sehen wir, dass insgesamt 60 Sicherheitsprobleme gefunden wurden, darunter 31 Schwachstellen mit hohem Schweregrad.
Sieht gut aus, oder? Probieren Sie es gleich aus!
Beim nächsten Mal sehen wir uns diese Liste der Schwachstellen genauer an und zeigen Ihnen, wie Sie sie beheben können, indem Sie automatische Fix-Pull-Requests als Gegenmaßnahme erstellen.
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.
