Was ist GitHub Advanced Security?

Abgeschlossen

GitHub verfügt über viele Features, die Ihnen helfen, die Qualität Ihres Codes zu verbessern und aufrechtzuerhalten. Einige dieser Features sind in allen Plänen enthalten, z. B. Abhängigkeitsdiagramm und Dependabot-Warnungen. Andere werden nur in einem eingeschränkten Funktionalitätsmodus in öffentlichen Repositorys ausgeführt. Es gibt auch andere, die eine GitHub Advanced Security-Lizenz zum Ausführen auf privaten Repositorys erfordern.

In dieser Lektion erfahren Sie mehr über GitHub Advanced Security und erfahren, wie ein Projekt mit GitHub Advanced Security aussieht.

Die Features von GitHub Advanced Security

In der folgenden Tabelle sind die Verfügbarkeit von GitHub Advanced Security-Features in öffentlichen und privaten Repositorys zusammengefasst.

Merkmal Öffentliches Repository Privates Repository ohne Advanced Security Privates Repository mit erweiterter Sicherheit
Code-Überprüfung Ja Nein Ja
Geheimnisüberprüfung Ja (nur eingeschränkte Funktionalität) Nein Ja
Abhängigkeitsüberprüfung Ja Nein Ja
Sicherheitsübersicht Nein Nein Ja

Wie in der vorherigen Tabelle beschrieben, sind alle GitHub Advanced Security-Features außer der Sicherheitsübersicht standardmäßig für alle öffentlichen Repositorys auf GitHub.com aktiviert. Um auf diese Features in privaten und internen Repositorys zuzugreifen, benötigen Sie ein GitHub-Unternehmenskonto mit einer GitHub Advanced Security-Lizenz.

Eine GitHub Advanced Security-Lizenz bietet diese Features für private und interne Repositorys:

  • Codeüberprüfung: Erkennt automatisch häufige Sicherheitsrisiken und Codierungsfehler.
  • Geheimnisüberprüfung: Erhält Warnungen, wenn Geheimnisse oder Schlüssel eingecheckt werden, schließt Dateien vom Scannen aus und definiert bis zu 100 benutzerdefinierte Muster.
  • Abhängigkeitsüberprüfung: Zeigt den vollständigen Effekt von Änderungen an Abhängigkeiten an und sieht Details zu anfälligen Versionen, bevor Sie eine Pullanforderung zusammenführen.
  • Sicherheitsübersicht: Überprüft die Sicherheitskonfiguration und Warnungen für eine Organisation und identifiziert die Repositorys mit größtem Risiko.

GitHub Advanced Security im Lebenszyklus der Softwareentwicklung

Welchen Unterschied machen die GitHub Advanced Security-Features in Ihrem Softwareentwicklungslebenszyklus? Sehen wir uns zunächst ein grundlegendes Sicherheitsszenario an.

Diagramm, das die verschiedenen Phasen des Softwareentwicklungslebenszyklus in einem herkömmlichen Sicherheitsansatz darstellt.

In diesem Beispiel wird ein herkömmlicher Sicherheitsansatz als Gate-Ansatz veranschaulicht, bei dem während der Qualitätssicherungsphase ein einzelner Sicherheitstest oder eine Reihe von Sicherheitstests durchgeführt werden. In diesem Szenario stellt die Sicherheit in der Regel einen Engpass bei der Auslieferung der Software dar. Dies ist, was Ihr Unternehmen beheben möchte, indem die Sicherheit nach links verschoben wird.

Sehen wir uns nun den gleichen Softwareentwicklungslebenszyklus mit GitHub Advanced Security an.

Diagramm, das die verschiedenen Phasen des Softwareentwicklungslebenszyklus mit GitHub Advanced Security darstellt.

In diesem Szenario wird die Sicherheit von Anfang an über Sicherheitsrichtlinien in der Projektkonfigurationsphase eingerichtet. Entwickler werden bei jedem Schritt des Entwicklungsprozesses auf potenzielle Sicherheitsprobleme aufmerksam gemacht:

  • Codeüberprüfung: Überprüft bei jedem Commit und Zusammenführen auf potenzielle Sicherheitsrisiken und Codierungsfehler.
  • Geheime Überprüfung: Überprüft bei jedem Commit und Zusammenführen nach Token und privaten Schlüsseln, die versehentlich zugesichert wurden.
  • Überprüfung der Abhängigkeit: Verfolgt die Änderungen der Projektabhängigkeit und deren Auswirkungen auf die Projektsicherheit. Es vergleicht die Repositorymanifestdateien mit den Datenbanken bekannter Sicherheitsrisiken bei jeder Pullanforderung.

Darüber hinaus bietet die Sicherheitsübersicht Administratoren eine allgemeine Übersicht über den Sicherheitsstatus des Projekts. Mit dieser Ansicht können Administratoren problematische Repositorys identifizieren, die einen Eingriff erfordern.

Die Sicherheit Ihres Codes wird mehrmals überprüft, bevor Sie zur Qualitätssicherungsphase gelangen, sodass es weniger Chancen auf einen Engpass vor dem Versand und weniger technische Schulden gibt.