Informationen zu code scanning
Code scanning ist ein Feature, das du zum Analysieren des Codes in einem GitHub-Repository verwendest, um Sicherheitsrisiken und Codefehler zu finden. Alle von der Analyse ermittelten Probleme werden im Repository angezeigt.
Du kannst das code scanning so konfigurieren, dass die CodeQL-Analyse und Drittanbieteranalysen ausgeführt werden. Das Code scanning unterstützt auch das native Ausführen von Analysen mithilfe von GitHub Actions oder das externe Ausführen von Analysen mithilfe vorhandener CI/CD-Infrastrukturen. In den folgenden Aufzählungspunkten werden die Optionen zusammengefasst, die Benutzer*innen zur Verfügung stehen, wenn du deine Ihre GitHub Enterprise Server-Instance so konfigurierst, dass das code scanning mithilfe von Aktionen zulässig ist.
-
CodeQL : Verwendet GitHub Actions (siehe unten) oder führt die CodeQL-Analyse im CI-System (Continuous Integration) eines Drittanbieters aus (siehe Verwenden der Codeüberprüfung mit deinem vorhandenen CI-System).
-
Drittanbieter: Verwendet GitHub Actions oder Drittanbietertools und lädt die Ergebnisse in GitHub Enterprise Server hoch (siehe Hochladen einer SARIF-Datei in GitHub).
Überprüfen, ob deine Lizenz GitHub Advanced Security
umfasst
Du kannst ermitteln, ob dein Unternehmen über eine GitHub Advanced Security-Lizenz verfügt, indem du deine Unternehmenseinstellungen überprüfst. Weitere Informationen findest du unter Aktivieren von GitHub Advanced Security für dein Unternehmen.
Voraussetzungen für das code scanning
-
Eine Lizenz für GitHub Advanced Security (siehe Informationen zur Abrechnung von GitHub Advanced Security)
-
Aktivierung des Code scanning in der Verwaltungskonsole (siehe Aktivieren von GitHub Advanced Security für dein Unternehmen)
-
Eine VM oder ein Container für die Ausführung der code scanning-Analyse
Ausführen des code scanning mithilfe von GitHub Actions
Bereitstellen eines selbst gehosteten Runners
GitHub Enterprise Server kann das code scanning mithilfe eines GitHub Actions-Workflows ausführen. Zunächst musst du einen oder mehrere selbstgehostete GitHub Actions-Runner in deiner Umgebung bereitstellen. Du kannst selbstgehostete Runner auf Repository-, Organisations- oder Unternehmenskontoebene bereitstellen. Weitere Informationen findest du unter Informationen zu selbstgehosteten Runnern und unter Selbst-gehostete Runner hinzufügen.
Du musst sicherstellen, dass sich Git in der PATH-Variablen für alle selbstgehosteten Runner befindet, die du für die Ausführung von CodeQL-Aktionen verwendest.
Hinweis: Wenn Sie CodeQL code scanning verwenden, um in Python geschriebenen Code in Ihrem Unternehmen zu analysieren, müssen Sie sicherstellen, dass für Ihren selbstgehosteten Runner Python 3 installiert ist.
Bereitstellen einer Runner-Skalierungsgruppe
Sie können Actions Runner Controller verwenden, um eine dedizierte Runner-Skalierungsgruppe für Ihre GitHub Enterprise Server-Instanz zu erstellen. Weitere Informationen findest du unter Bereitstellen von Runner-Skalierungsgruppen mit Actions Runner Controller.
Bereitstellen der Aktionen für das code scanning
Wenn du Aktionen für die Ausführung des code scanning in GitHub Enterprise Server verwenden möchtest, müssen die Aktionen auf deiner Appliance verfügbar sein.
Die CodeQL-Aktion ist in deiner GitHub Enterprise Server-Installation enthalten. Wenn GitHub Enterprise Server 3.8 und dein Runner GitHub Actions Zugriff auf das Internet besitzen, lädt die Aktion automatisch das CodeQL 2.12.7-Bundle herunter, das zum Durchführen der Analyse erforderlich ist. Alternativ kannst du ein Synchronisierungstool verwenden, um die neueste veröffentlichte Version des CodeQL-Analysebundles lokal verfügbar zu machen. Weitere Informationen findest du weiter unten im Abschnitt Konfigurieren der CodeQL-Analyse auf einem Server ohne Internetzugriff.
Du kannst für das code scanning auch Aktionen von Drittanbietern für Benutzer*innen zur Verfügung stellen, indem du GitHub Connect einrichtest. Weitere Informationen findest du weiter unten unter Konfigurieren der Codeüberprüfung für Ihre Anwendung.
Konfigurieren der CodeQL-Analyse auf einem Server ohne Internetzugriff
Wenn der Server, auf dem du GitHub Enterprise Server ausführst, nicht mit dem Internet verbunden ist und du Benutzer*innen das Aktivieren des CodeQL-code scanning für ihre Repositorys ermöglichen möchtest, musst du mit dem CodeQL-Aktionssynchronisierungstool das CodeQL-Analysebundle von GitHub.com auf deinen Server kopieren. Das Tool und Informationen zur Verwendung findest du unter https://github.com/github/codeql-action-sync-tool.
Wenn du das CodeQL-Aktionssynchronisierungstool konfigurierst, kannst du damit die neuesten Releases der CodeQL-Aktion und das zugehörige CodeQL-Analysebundle synchronisieren. Diese sind mit GitHub Enterprise Server kompatibel.
Konfigurieren von GitHub Connect zum Synchronisieren von GitHub Actions
- Wenn du bei Bedarf Aktionsworkflows von GitHub.com herunterladen möchtest, musst du GitHub Connect aktivieren. Weitere Informationen findest du unter Verwalten von GitHub Connect.
- Du musst auch GitHub Actions für Ihre GitHub Enterprise Server-Instance aktivieren. Weitere Informationen findest du unter Erste Schritte mit GitHub Actions für GitHub Enterprise Server.
- Der nächste Schritt besteht darin, den Zugriff auf Aktionen auf GitHub.com mithilfe von GitHub Connect zu konfigurieren. Weitere Informationen findest du unter Aktivieren des automatischen Zugriffs auf GitHub.com-Aktionen mit GitHub Connect.
- Füge deinem Repository-, Organisations- oder Unternehmenskonto einen selbstgehosteten Runner hinzu. Weitere Informationen findest du unter Selbst-gehostete Runner hinzufügen.
Ausführen des Codescannings mithilfe der CodeQL CLI
Wenn du GitHub Actions nicht verwenden möchtest, solltest du das code scanning mithilfe der CodeQL CLI ausführen.
Die CodeQL CLI ist ein Befehlszeilentool, das du zum Analysieren von Codebasen auf jedem beliebigen Computer (einschließlich eines CI/CD-Drittanbietersystems) verwenden kannst. Weitere Informationen findest du unter Verwenden der Codeüberprüfung mit deinem vorhandenen CI-System.