Skip to main content

Finden und Beheben Ihrer ersten Abhängigkeitsverwundbarkeit

Erfahren Sie, wie Sie Ihre Abhängigkeiten sicher halten, indem Sie Dependabot und seine Funktionen in einem Demo-Repository aktivieren.

Es ist üblich, vordefinierte Codesammlungen in deinem Projekt zu verwenden. Diese werden als Bibliotheken oder Pakete bezeichnet. Diese Codemodule sind sehr zeitsparend, sodass du dich auf die neuen, kreativen Aspekte deiner Arbeit konzentrieren kannst, anstatt große wiederverwendbare Komponenten von Grund auf neu zu programmieren. Wenn sie deinem Projekt hinzugefügt werden, werden sie als Abhängigkeiten bezeichnet, da deine Arbeit vom darin enthaltenen Code abhängig ist.

Während die Verwendung von Abhängigkeiten vollkommen normal ist, können Abhängigkeiten Coderisiken enthalten, was wiederum dazu führen würde, dass dein Projekt unsicher ist. Glücklicherweise können Tools wie Dependabot Abhängigkeitsrisiken finden, Pullanforderungen auslösen, um sie zu beheben, und sogar verhindern, dass sie in Zukunft stattfinden. In diesem Tutorial erfahren Sie, wie Sie Dependabot aktivieren und verwenden können, um Ihre Abhängigkeiten abzusichern und deren Funktionen zu nutzen.

Einrichten des Demo-Repositorys

Lassen Sie uns damit beginnen, ein Demoprojekt mit einigen Abhängigkeitsverletzlichkeiten zu forken. Da das Projekt nicht bereitgestellt wird, besteht in dieser Übung kein Sicherheitsrisiko.

  1. Navigieren Sie zum new2code/dependabot-demo-Repository.
  2. Klicken Sie oben rechts auf der Seite auf Fork.
  3. Klicke auf der angezeigten Seite auf Create fork.

Aktivieren von Sicherheitsfunktionen für Abhängigkeiten

Nachdem wir das Projekt eingerichtet haben, konfigurieren wir Dependabot, um Korrekturen für unsichere Abhängigkeiten zu finden und zu erstellen.

  1. Klicken Sie in der Navigationsleiste für Ihr Repository auf Security and quality.
  2. Klicken Sie in der Zeile "Dependabot alerts" auf "Aktivieren" Dependabot alerts.
  3. Klicken Sie im Abschnitt "Dependabot" neben "Dependabot alerts" auf "Aktivieren".
  4. Lies im daraufhin angezeigten Popup die Anweisung zum Aktivieren des Abhängigkeitsdiagramms, und klicke dann auf Enable.
  5. de-DE: Um das automatische Öffnen von Pull-Anfragen zur Behebung von Abhängigkeits-Schwachstellen zu ermöglichen, klicken Sie neben "Dependabot security updates" auf Aktivieren.

Anzeigen Ihrer unsicheren Abhängigkeiten

Mit Dependabot konfiguriert, finden wir heraus, welche unserer Abhängigkeiten Sicherheitslücken enthalten.

  1. Klicken Sie in der Navigationsleiste für Ihr Repository auf Security and quality.
  2. Um das Dependabot alerts Ihres Repositories anzuzeigen, klicken Sie in der Seitenleiste auf Dependabot.
  3. Wenn du detaillierte Informationen zu einer Warnung anzeigen möchtest, klicke auf den Warnungstitel. Für diese Übung klickst du auf Command Injection in hot-formula-parser.

Grundlegendes zu einer Dependabot-Warnung

Jetzt, da Dependabot einige Sicherheitsrisiken in unseren Abhängigkeiten identifiziert hat, lassen Sie uns die in der Warnung "Command Injection in hot-formula-parser" aufgeschlüsselten Informationen genauer betrachten.

Fix-Zusammenfassung

Unterhalb des Titels der Warnung wird eine kurze Zusammenfassung des Fixes für diese Sicherheitsanfälligkeit angezeigt, einschließlich der Anzahl der Warnungen, die geschlossen werden, und der Ort der Sicherheitsanfälligkeit. In unserem Fall teilt uns die Warnung mit, dass ein Upgrade des hot-formula-parser Pakets auf Version 3.0.1 eine Dependabot warnung beheben wird, die in unserer javascript/package-lock.json Datei identifiziert wurde.

In diesem Abschnitt werden auch die Fortschritte von Dependabot beim Erstellen eines Pull-Requests nachverfolgt, um die Sicherheitsanfälligkeit zu beheben. Sobald ein Fix verfügbar ist, wird eine Schaltfläche mit der Bezeichnung " Sicherheitsupdate überprüfen" angezeigt, die mit der Pullanforderung verknüpft ist.

Screenshot des Abschnitts „Fix-Zusammenfassung“ einer Dependabot-Warnung.

Details zum Sicherheitsrisiko

Unter den Fixdetails Dependabot finden Sie weitere Informationen zur Sicherheitsanfälligkeit, einschließlich:

  • Den Namen des anfälligen Pakets
  • Die Versionen des Pakets, die die Sicherheitsanfälligkeit enthalten
  • Die Version des Pakets, das die Sicherheitsanfälligkeit behebt
  • Details zur Art der Sicherheitsanfälligkeit und wie sie ausgenutzt werden kann

Screenshot des Abschnitts mit den Details eines Sicherheitsrisikos einer Dependabot-Warnung.

In dieser Warnung können wir sehen, dass die parse-Funktion im hot-formula-parser-Paket nicht ordnungsgemäß überprüft, ob die Benutzereingabe sicher ist, bevor sie ausgeführt wird, wodurch Angreifer böswillige Befehle ausführen können.

Tipp

Wenn Sie die Details der Sicherheitslücke nicht vollständig verstehen, versuchen Sie, jemanden zu bitten, sie zu erklären.

Zeitachse

Schließlich kannst du die Zeitleiste der Warnung am unteren Rand der Seite sehen. Unsere Zeitachse enthält derzeit den Zeitstempel beim Dependabot Öffnen der Warnung und wird automatisch aktualisiert, wenn wir die Sicherheitsanfälligkeit beheben.

Screenshot: Zeitleiste einer Dependabot-Warnung

Sichern eigener Abhängigkeiten

Um unser Projekt schnell und einfach zu sichern, wenden wir den erstellten Fix Dependabot an.

  1. Klicken Sie im Warnungsfeld mit der Fixzusammenfassung auf Sicherheitsupdate überprüfen.

  2. Klicken Sie auf der Pull-Request-Seite auf "Dateien geändert", um die Änderungen von Dependabot anzuzeigen. Nachdem Sie die Änderungen überprüft haben, klicken Sie auf Unterhaltung, um zur Übersicht über den Pull-Request zurückzukehren.

  3. Um den Fix anzuwenden, klicke unten auf der Seite auf Merge pull request, und klicke dann auf Confirm merge.

    Sobald der Pull-Request zusammengeführt wird, wird die verknüpfte Dependabot Warnung automatisch geschlossen, und die Behebungszeit wird der Zeitachse hinzugefügt.

Verhindern zukünftiger Abhängigkeitsrisiken

Um unsichere Abhängigkeiten zukünftig zu vermeiden, lassen Sie zu, dass Dependabot automatisch Pull-Requests öffnet, um Ihre Abhängigkeiten zu aktualisieren, sobald neue Versionen freigegeben werden.

  1. Klicken Sie in der Navigationsleiste für Ihr Repository auf "Einstellungen".
  2. Klicken Sie im Abschnitt "Sicherheit" der Randleiste auf Advanced Security.
  3. Klicken Sie neben "Dependabot version updates" auf "Aktivieren".

Nächste Schritte

Nachdem Sie nun ihre Features in einem Demo-Repository ausprobiert Dependabot haben, aktivieren Sie sie in Ihren eigenen Projekten , um Abhängigkeitsrisiken problemlos zu finden, zu beheben und zu verhindern.