Skip to main content

Suchen und Beheben des Sicherheitsrisikos deiner ersten Abhängigkeit

Hier erfährst du, wie du deine Abhängigkeiten sicher halten, indem du Dependabot und die dazugehörigen Features in einem Demorepository aktivierst.

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, Pull Requests zur Behebung auslösen und sogar verhindern, dass sie in Zukunft auftreten. In diesem Tutorial erfährst du, wie du Dependabot und die dazugehörigen Features aktivierst und verwendest, um deine Abhängigkeiten sicher zu halten.

Einrichten des Demo-Repositorys

Beginnen wir mit dem Erstellen eines Demoprojekts mit einigen Abhängigkeitsrisiken. Da das Projekt nicht bereitgestellt wird, besteht in dieser Übung kein Sicherheitsrisiko.

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

Aktivieren von Abhängigkeitssicherheitsfeatures

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

  1. Klicke in der Navigationsleiste für dein Repository auf Security.
  2. Klicke in der Zeile „Dependabot alerts“ auf Enable Dependabot alerts.
  3. Klicke im Abschnitt „Dependabot“ neben „Dependabot alerts“ auf Enable.
  4. Lies im daraufhin angezeigten Popup die Anweisung zum Aktivieren des Abhängigkeitsdiagramms, und klicke dann auf Enable.
  5. Um zuzulassen, dass Dependabot automatisch Pull Requests öffnet, die Abhängigkeitsrisiken beheben, klicke neben „Dependabot security updates“ auf Enable.

Anzeigen deiner unsicheren Abhängigkeiten

Wenn Dependabot konfiguriert ist, können wir herausfinden, welche unserer Abhängigkeiten Sicherheitsrisiken enthalten.

  1. Klicke in der Navigationsleiste für dein Repository auf Security.
  2. Um die Dependabot alerts für dein Repository anzuzeigen, klicke in der seitlichen Navigationsleiste auf Dependabot.
  3. Wenn du detaillierte Informationen zu einer Warnung anzeigen möchtest, klicke auf den Warnungstitel. Klicke für diese Übung auf Command Injection in hot-formula-parser

Grundlegendes zu einer Dependabot-Warnung

Nachdem Dependabot einige Sicherheitsrisiken in unseren Abhängigkeiten identifiziert hat, werden wir die Informationen aus der Warnung „Command Injection in hot-formula-parser“ entschlüsseln.

Zusammenfassung für den Fix

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 in unserer javascript/package-lock.json-Datei beheben wird.

In diesem Abschnitt wird auch der Fortschritt 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 „ Review security update“ angezeigt, die eine Verknüpfung zum Pull Request bereitstellt.

Screenshot des Abschnitts zur Zusammenfassung für den Fix einer Dependabot-Warnung

Details zum Sicherheitsrisiko

Unter den Fixdetails enthältDependabot 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 du die Details zum Sicherheitsrisiko nicht vollständig verstehst, versuche, eine Erläuterung zu erhalten, indem du Copilot Chat eine Frage stellst.

Zeitachse

Schließlich kannst du die Zeitleiste der Warnung am unteren Rand der Seite sehen. Unsere Zeitachse enthält derzeit den Zeitstempel, als Dependabot die Warnung geöffnet hat, und er 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 Fix an, der von Dependabot erstellt wurde.

  1. Klicke im Warnungsfeld mit der Fixzusammenfassung auf Review security update.

  2. Klicke auf der Pull Request-Seite auf Files changed, um die Änderungen von Dependabot anzuzeigen. Nachdem du die Änderungen überprüft hast, klicke auf Conversation, um zur Übersicht des Pull Requests 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 Fixzeit wird der Zeitachse hinzugefügt.

Verhindern zukünftiger Abhängigkeitsrisiken

Um unsichere Abhängigkeiten in Zukunft zu vermeiden, werden wir Dependabot erlauben, Pull Requests, die deine Abhängigkeiten aktualisieren, automatisch zu öffnen, wenn neue Versionen herausgegeben werden.

  1. Klicke in der Navigationsleiste für dein Repository auf Settings.
  2. Klicke im Abschnitt „Security“ der Randleiste auf Advanced Security.
  3. Klicke neben „Dependabot version updates“ auf Enable.

Nächste Schritte

Nachdem du nun Dependabot und die dazugehörigen Features in einem Demorepository ausprobiert hast, aktiviere sie in deinen eigenen Projekten, um Abhängigkeitsrisiken auf einfache Weise zu finden, zu beheben und zu verhindern.