Skip to main content

Bewährte Verfahren zur Pflege von Abhängigkeiten

Leitfaden und Empfehlungen für die Verwaltung der von dir verwendeten Abhängigkeiten, einschließlich der Sicherheitsprodukte von GitHub, die dabei helfen können.

Bewährte Verfahren zur Pflege von Abhängigkeiten

Damit Abhängigkeiten aktuell bleiben, muss für eine sichere Softwareumgebung gesorgt werden. Hier sind einige Empfehlungen dafür:

          **Verwenden von sicherheitsorientierten Tools für die Verwaltung von Abhängigkeiten**
  • Verwenden Sie Tools, die Ihre Abhängigkeiten auf Schwachstellen überprüfen und automatisch Aktualisierungen vorschlagen, und richten Sie sie ein.

  • Sorgen Sie dafür, dass diese Tools zur kontinuierlichen Überwachung und Aktualisierung in deine CI/CD-Pipeline integriert werden.

  • Richten Sie Ihre Prozesse so ein, dass sie der semantischen Versionierung folgen, um Breaking Changes zu vermeiden.

         **Durchführen regelmäßiger Überprüfungen und Überwachungen auf Sicherheitsrisiken**
    
  • Planen Sie regelmäßige Überwachungen und Überprüfungen auf Abhängigkeiten, um veraltete oder anfällige Abhängigkeiten zu identifizieren.

         **Automatisieren der Sicherheitspatchverwaltung**
    
  • Konfigurieren Sie Ihre Tools zur Verwaltung von Abhängigkeiten so, dass sie automatisch Sicherheitspatches anwenden.

  • Richten Sie automatische Pull Requests für kritische Sicherheitsupdates ein, damit diese schnell geprüft und zusammengeführt werden können.

         **Erzwingen von Richtlinien für die Verwendung von Abhängigkeiten**
    
  • Implementieren Sie die Richtlinien, die die Verwendung von sicheren Versionen von Abhängigkeiten erzwingen.

  • Verwenden Sie Tools, die das Zusammenführen von Pull Requests blockieren können, wenn diese Sicherheitslücken enthalten oder anfällige Abhängigkeiten nicht aktualisieren.

         **Integrieren von Sicherheitstests in CI/CD**
    
  • Integrieren Sie Sicherheitstesttools in Ihre CI/CD-Pipeline.

  • Sorgen sie dafür, dass Abhängigkeitsupdates automatisch auf die Einhaltung von Sicherheitsvorschriften getestet werden.

         **Verwenden von Sperrdateien und Abhängigkeitsanheftungen**
    
  • Verwenden Sie Sperrdateien (z. B., package-lock.json, yarn.lock, Pipfile.lock), um Abhängigkeiten an bekanntermaßen sichere Versionen zu heften.

  • Aktualisieren und überprüfen Sie diese Sperrdateien regelmäßig, um sicherzustellen, dass die Abhängigkeiten aktuell sind und keine unerwünschten Sicherheitsprobleme enthalten.

         **Überwachen von Sicherheitsempfehlungen**
    
  • Abonnieren Sie Sicherheitshinweise für die von Ihnen verwendeten Sprachen und Frameworks.

  • Automatisieren Sie die Integration von Empfehlungen in deinen Entwicklungsworkflow, um über neue Sicherheitsrisiken informiert zu bleiben.

  • Achten Sie auf die Dashboards, die von Ihren Tools zur Verwaltung von Abhängigkeiten bereitgestellt werden.

  • Achten Sie auf kritische Updates, insbesondere auf Sicherheitspatches, und priorisieren Sie sie.

         **Versionskontrolle und Change Management**
    
  • Verfolgen Sie Änderungen an Abhängigkeiten in der Versionskontrolle (z. B. durch automatische Pull Requests).

  • Führen Sie regelmäßige Codeüberprüfungen durch, um sicherzustellen, dass durch Updates keine neuen Sicherheitsrisiken entstehen.

          **Bewusstsein und Training**
    
  • Klären Sie Ihre Entwicklungs- und Betriebsteams darüber auf, wie wichtig es ist, Abhängigkeiten sicher und aktuell zu halten.

  • Bieten Sie Schulungen zur konsequenten Nutzung von Sicherheitstools und von Tools zur Verwaltung von Abhängigkeiten an.

         **Plan zur Reaktion auf Sicherheitsrisiken**
    
  • Halten Sie einen übersichtlichen Plan zur Reaktion auf Vorfälle für den Fall bereit, dass Sicherheitsrisiken in Abhängigkeiten erkannt werden.

  • Sorgen Sie dafür, dass das Team weiß, wie es Sicherheitsprobleme schnell angehen und beheben kann.

Wenn Sie diese Methoden anwenden, können Sie das Risiko, das von veralteten und anfälligen Abhängigkeiten ausgeht, erheblich reduzieren und für eine sicherere Umgebung sorgen.

So kann GitHub helfen

GitHub bietet eine Reihe von Sicherheitsfeatures, mit denen du die Sicherheit deiner Codebasen gewährleisten kannst:

          **Abhängigkeitsdiagramm**
  • Stellt eine tabellarische Darstellung der Abhängigkeiten deines Projekts bereit.

  • Anhand des Diagramms können Sie sich einen Überblick über die Abhängigkeiten deines Projekts verschaffen. GitHub verwendet es, um anfällige Abhängigkeiten zu identifizieren.

  • Weitere Informationen finden Sie unter Informationen zum Abhängigkeitsdiagramm.

         **Abhängigkeitsüberprüfung**
    
  • Ist in Ihre CI/CD-Pipeline integriert und ermöglicht es Ihnen, bei jeder Pull Request unsichere Abhängigkeiten in deinem Code zu erkennen. Weitere Informationen finden Sie unter Informationen zur Abhängigkeitsüberprüfung.

  • Bei der Abhängigkeitsüberprüfungsaktion handelt es sich um ein Tool, das das Zusammenführen von Pull Requests blockieren kann, wenn diese Sicherheitslücken enthalten oder anfällige Abhängigkeiten nicht aktualisieren. Weitere Informationen finden Sie unter „Über Abhängigkeitsüberprüfungsaktion“ unter Informationen zur Abhängigkeitsüberprüfung.

         **Dependabot**
    
  •           **Dependabot alerts**: Dependabot durchsucht Ihre Abhängigkeiten nach bekannten Sicherheitsrisiken und erstellt automatisch Warnungen, wenn Sicherheitsrisiken im Repository gefunden werden. Weitere Informationen finden Sie unter [AUTOTITLE](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts).
    
  •           **Dependabot security updates**: Öffnet automatisch Pull Requests, um anfällige Abhängigkeiten auf Versionen zu aktualisieren, die keine bekannten Sicherheitsrisiken aufweisen. So können Sie Korrekturen schnell überprüfen und zusammenführen. Weitere Informationen finden Sie unter [AUTOTITLE](/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates).
    
  •           **Dependabot version updates**: Kann auch so konfiguriert werden, dass automatisch Pull-Requests geöffnet werden, um Ihre Abhängigkeiten regelmäßig auf die neuesten Versionen zu aktualisieren und so sicherzustellen, dass Sie immer aktuelle Pakete verwenden. Weitere Informationen finden Sie unter [AUTOTITLE](/code-security/dependabot/dependabot-version-updates/about-dependabot-version-updates).
    
  •           **Updates gruppieren**: Vereinfacht die Überprüfung und Bereitstellung von Pull-Anfragen für Dependabot updates, indem mehrere Updates in einer einzigen Pull-Anfrage zusammengefasst werden. Siehe [Informationen zu gruppierten Sicherheitsupdates](/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates#about-grouped-security-updates) und Beispiele in [AUTOTITLE](/code-security/dependabot/dependabot-version-updates/optimizing-pr-creation-version-updates#reducing-the-volume-of-dependabot-pull-requests)
    
         **Sicherheitsempfehlungen**
    
  •           **Privater Bericht zu Sicherheitsrisiken**: Ermöglicht Maintainern, Sicherheitsempfehlungen für ihre Repositorys privat zu erörtern, zu korrigieren und zu veröffentlichen. Weitere Informationen findest du unter [AUTOTITLE](/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/privately-reporting-a-security-vulnerability).
    
  •           **GitHub Advisory Database**: Eine Datenbank mit Sicherheitsempfehlungen, die von Dependabot verwendet wird, um Sicherheitsrisiken in deinen Abhängigkeiten zu identifizieren. Weitere Informationen finden Sie unter [AUTOTITLE](/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/about-the-github-advisory-database).
    
         **Sicherheitsübersicht**
    
  • Auf der Seite mit der Sicherheitsübersicht kannst du die Dashboards im Auge behalten, die Einblicke in die Sicherheitslandschaft und den Fortschritt deiner Organisation oder deines Unternehmens bieten. Es hilft Benutzenden, Repositorys zu ermitteln, die Aufmerksamkeit benötigen, und die Integrität ihres Anwendungssicherheitsprogramms zu überwachen. Du kannst beispielsweise eine Zusammenfassung des Sicherheitsrisikos einer Organisation, Trends bei der Erkennung, Behebung und Verhinderung von Sicherheitswarnungen sowie den Aktivierungsstatus der Sicherheitsfeatures von GitHub einsehen. Weitere Informationen finden Sie unter Informationen zur Sicherheitsübersicht.

         **Sicherheitsrichtlinie**
    
  • Sie können in Ihrem Repository die Datei SECURITY.md erstellen, in der die Sicherheitsrichtlinien und Verfahren zur Meldung und Behandlung von Sicherheitsproblemen beschrieben werden. Weitere Informationen finden Sie unter Hinzufügen einer Sicherheitsrichtlinie für dein Repository.

Weitere Leitfäden zur Verwendung der Sicherheitsfeatures von GitHub in der gesamten Lieferkette finden Sie unter Sichern einer End-to-End-Lieferkette.