Optionen zum Konfigurieren der code scanning
Du entscheidest, wie du code scanning-Warnungen generieren möchtest und welche Tools auf Repositoryebene verwendet werden sollen. GitHub bietet eine vollständig integrierte Unterstützung für CodeQL-Analysen sowie für Analysen mit Drittanbietertools. Weitere Informationen findest du unter den folgenden Aufzählungspunkten und Informationen zu Codescans.
-
CodeQL : Verwendet GitHub Actions mit dem Standardsetup (siehe Konfigurieren der Codeüberprüfung für ein Repository) oder mit einem erweiterten Setup (siehe Konfigurieren der Codeüberprüfung für ein Repository) oder führt die CodeQL-Analyse im CI-System (Continuous Integration) eines Drittanbieters aus (siehe Informationen zur CodeQL-Codeüberprüfung in deinem CI-System).
-
Drittanbieter: Verwendet GitHub Actions (siehe Konfigurieren der Codeüberprüfung für ein Repository) oder Drittanbietertools und lädt die Ergebnisse in GitHub hoch (siehe Uploading a SARIF file to GitHub).
Wenn du die Codeüberprüfung mit mehreren Konfigurationen ausführst, kann es passieren, dass eine Warnung mehrere Analyseursprünge aufweist. Wenn eine Warnung mehrere Analyseursprünge hat, kannst du den Status der Warnung für jeden Analyseursprung auf der Warnungsseite einsehen. Weitere Informationen findest du unter Informationen zu Codeüberprüfungswarnungen.
Automatisches Konfigurieren der code scanning
Das Standardsetup für code scanning konfiguriert code scanning automatisch mit den besten Einstellungen für dein Repository. Das Standardsetup ist für dein Repository möglich, wenn es GitHub Actions verwendet und nur die folgenden von CodeQL unterstützten Sprachen verwendet: JavaScript/TypeScript, Python und Ruby. Du kannst das Standardsetup zwar auch verwenden, wenn dein Sprachen nicht von CodeQL unterstützte Sprachen wie R enthält, doch das erweiterte Setup ist erforderlich, wenn andere von CodeQL unterstützte Sprachen als die zuvor aufgeführten enthalten sind. Weitere Informationen zu den von CodeQL unterstützten Sprachen findest du unter Informationen zu Codescans mit CodeQL.
Das Standardsetup ist die schnellste Möglichkeit zum Konfigurieren der code scanning für dein Repository. Darüber hinaus fällt beim Standardsetup im Gegensatz zur Verwendung einer CodeQL-Workflowdatei kein Wartungsaufwand an. Bevor du das Standardsetup aktivierst, siehst du die Sprachen, die es analysiert, die Abfragesammlungen, die ausgeführt werden, und die Ereignisse, die einen neuen Scan auslösen.
Probiere das Standardsetup aus, wenn keine zusätzlichen Abfragen ausgeführt werden müssen, der Scanzeitplan nicht geändert werden muss und keine Sprache gescannt werden muss, die vom Standardsetup derzeit nicht unterstützt wird.
-
Navigiere auf GitHub.com zur Hauptseite des Repositorys. 1. Klicke unter dem Repositorynamen auf Einstellungen.
-
Klicke im Abschnitt „Sicherheit“ der Randleiste auf Codesicherheit und -analyse.
-
Wähle im Abschnitt „“ die Option Setup aus, und klicke dann auf Standard.
-
Überprüfe im angezeigten Fenster für die CodeQL-Standardkonfiguration die Einstellungen für dein Repository, und klicke dann auf CodeQL aktivieren.
Hinweise:
- Das Fenster für die CodeQL-Standardkonfiguration zeigt die Details des Standardsetups an, einschließlich der zu analysierenden Sprachen, der auszuführenden Abfragesammlungen und der Ereignisse, die einen neuen Scan auslösen. Wenn du ändern möchtest, welche Abfragesammlungen ausgeführt werden und welche Ereignisse einen neuen Scan auslösen, oder andere code scanning-Features bearbeiten möchtest, ist ein erweitertes Setup erforderlich. Weitere Informationen findest du unter Konfigurieren der Codeüberprüfung für ein Repository.
- Wenn du vom erweiterten Setup zum Standardsetup wechselst, wird eine Warnung angezeigt, die dich darüber informiert, dass das Standardsetup vorhandene Konfigurationen überschreibt. Nachdem du CodeQL aktiviert hast, musst du die vorhandene Workflowdatei löschen oder deaktivieren. Andernfalls wird der Workflow weiterhin regelmäßig ausgeführt, ohne code scanning-Ergebnisse hochzuladen, wofür deine GitHub Actions-Minuten verbraucht werden.
- Wenn du nach der Konfiguration das CodeQL-Standardsetup ansehen möchtest, wähle aus, und klicke dann auf CodeQL-Konfiguration anzeigen.
Erweitertes Setup
Das erweiterte Setup für code scanning ist hilfreich, wenn du code scanning anpassen musst. Durch das Erstellen und Bearbeiten einer Workflowdatei kannst du auswählen, welche Abfragen ausgeführt werden sollen, den Scanzeitplan ändern, alle von CodeQL unterstützten Sprachen scannen, einen Matrixbuild verwenden und vieles mehr.
Konfigurieren der code scanning mithilfe von Startworkflows
Hinweis: Startworkflows für Advanced Security wurden in die Kategorie „Sicherheit“ auf der Registerkarte Aktionen eines Repositorys konsolidiert. Diese neue Konfiguration befindet sich derzeit in der Betaphase und kann sich noch ändern.
GitHub bietet Startworkflows für Sicherheitsfeatures wie code scanning. Du kannst diese vorgeschlagenen Workflows zum Erstellen von Workflows zur code scanning verwenden. So musst du die Workflows nicht von Grund auf neu erstellen. -Startworkflows sind für dein Repository nur verfügbar, wenn die code scanning aktiviert ist.
Beim Einsatz von Aktionen zum Ausführen von code scanning werden Minuten verwendet. Weitere Informationen findest du unter Informationen zur Abrechnung für GitHub Actions.
- Navigiere auf GitHub.com zur Hauptseite des Repositorys. 1. Klicke unter deinem Repositorynamen auf Aktionen.
- Wurde für das Repository bereits mindestens ein Workflow konfiguriert und ausgeführt, klicke auf Neuer Workflow, um die Startworkflows anzuzeigen. Sind derzeit keine Workflows für das Repository konfiguriert, fahre mit dem nächsten Schritt fort.
- Scrolle in der Ansicht „Workflow auswählen“ oder „Erste Schritte mit GitHub Actions“ nach unten zur Kategorie „Sicherheit“, und klicke unter dem Workflow, den du konfigurieren möchtest, auf Konfigurieren. Möglicherweise musst du auf Alle anzeigen klicken, um den Sicherheitsworkflow zu finden, den du konfigurieren möchtest.
- Befolge alle Anweisungen im Workflow, um ihn an deine Anforderungen anzupassen. Um allgemeinere Unterstützung zu Workflows zu erhalten, klicke im rechten Bereich der Workflowseite auf Dokumentation.
Weitere Informationen findest du unter Verwenden von Startworkflows und unter Anpassen der Codeüberprüfung.
Manuelles Konfigurieren der code scanning
Du kannst die code scanning anpassen, indem du eine Workflowdatei erstellst und bearbeitest. Das erweiterte Setup generiert eine einfache Workflowdatei, die du anpassen kannst.
Beim Einsatz von Aktionen zum Ausführen von code scanning werden Minuten verwendet. Weitere Informationen findest du unter Informationen zur Abrechnung für GitHub Actions.
Hinweis: Du kannst die code scanning für jedes öffentliche Repository konfigurieren, auf das du Schreibzugriff hast.
-
Navigiere auf GitHub.com zur Hauptseite des Repositorys. 1. Klicke unter dem Repositorynamen auf Einstellungen.
-
Klicke im Abschnitt „Sicherheit“ der Randleiste auf Codesicherheit und -analyse.
-
Scrolle nach unten zum Abschnitt „“, wähle die Option Setup aus, und klicke dann auf Erweitert.
Hinweis: Wenn du vom Standardsetup zum erweiterten code scanning-Setup wechselst, musst du im Abschnitt „“ das Symbol auswählen und dann auf Erweitert klicken. Klicken im daraufhin angezeigten Popupfenster auf CodeQL deaktivieren.
-
Bearbeite den Workflow, wenn du die Codeüberprüfung durch code scanning anpassen möchtest.
In der Regel kannst du CodeQL-Analyseworkflow ohne Änderungen committen. Viele der Drittanbieterworkflows erfordern jedoch eine zusätzliche Konfiguration. Lies daher vor dem Committen die Kommentare im Workflow.
Weitere Informationen findest du unter Anpassen der Codeüberprüfung.
-
Verwende die Dropdownliste Start commit (Commit starten), und gib eine Commitnachricht ein.
-
Wähle aus, ob du direkt in den Standardbranch committen möchtest, oder erstelle einen neuen Branch, und starte einen Pull Request.
-
Klicke auf Commit new file (Neue Datei committen) oder Propose new file (Neue Datei vorschlagen).
Im empfohlenen CodeQL-Analyseworkflow wird code scanning so konfiguriert, dass dein Code jedes Mal analysiert wird, wenn du entweder eine Änderung an den Standardbranch oder an geschützte Branches pushst oder einen Pull Request für den Standardbranch auslöst. Daraufhin wird code scanning gestartet.
Die on:pull_request
- und on:push
-Trigger für Codescans sind jeweils für unterschiedliche Zwecke nützlich. Weitere Informationen findest du unter Anpassen der Codeüberprüfung.
Massenkonfiguration der code scanning
Mithilfe eines Skripts kannst du die code scanning für viele Repositorys gleichzeitig konfigurieren. Wenn du mit einem Skript Pull Requests auslösen möchtest, die mehreren Repositorys einen GitHub Actions-Workflow hinzufügen, findest du im Repository jhutchings1/Create-ActionsPRs
ein Beispiel mit PowerShell bzw. im Repository nickliffen/ghas-enablement
ein Beispiel für NodeJS (anstelle von PowerShell).
Anzeigen der Protokollausgabe von code scanning
Nach dem Konfigurieren der code scanning für dein Repository kannst du die Ausgabe der Aktionen während der Ausführung überwachen.
-
Klicke unter deinem Repositorynamen auf Aktionen.
Es wird eine Liste angezeigt, die einen Eintrag für die Ausführung des code scanning-Workflows enthält. Der Text des Eintrags entspricht dem Titel deiner Commitnachricht.
-
Klicke auf den Eintrag für den code scanning-Workflow.
-
Klicke auf den Namen des Auftrags auf der linken Seite. Beispiel: Analyse (SPRACHE) .
-
Überprüfe die Protokollausgabe der Aktionen in diesem Workflow während der Ausführung.
-
Sobald alle Aufträge abgeschlossen sind, kannst du die Details aller identifizierten code scanning-Warnungen anzeigen. Weitere Informationen findest du unter Verwalten von Codescanwarnungen für dein Repository.
Hinweis: Wenn du zum Hinzufügen des code scanning-Workflows zu deinem Repository einen Pull Request ausgelöst hast, werden Warnungen aus diesem Pull Request erst direkt auf der Seite „“ angezeigt, wenn der Pull Request gemergt wurde. Falls Warnungen gefunden wurden, kannst du diese vor dem Mergen des Pull Requests ansehen. Klicke hierzu auf der Seite „“ im Banner auf den Link ANZAHL Warnungen gefunden.
Grundlegendes zu den Überprüfungen von Pull Requests
Jeder code scanning-Workflow, den du für Pull Requests festgelegt hast, weist immer mindestens zwei Einträge im Abschnitt „Überprüfungen“ eines Pull Requests auf. Ein Eintrag bezieht sich auf die einzelnen Analyseaufträge im Workflow und der letzte Eintrag auf die Ergebnisse der Analyse.
Der Name der code scanning-Analyseüberprüfungen wird im Format „TOOLNAME / AUFTRAGSNAME (TRIGGER)“ angegeben. So erhält beispielsweise die CodeQL-Analyse von C++-Code den Eintrag „CodeQL / Analyse (cpp) (pull_request)“. Klicke für einen code scanning -Analyseeintrag auf Details, um die Protokolldaten anzuzeigen. Auf diese Weise kannst du bei einem Fehler im Analyseauftrag das Problem debuggen. Dies kann etwa bei der code scanning-Analyse kompilierter Sprachen der Fall sein, wenn der Code mit der Aktion nicht erstellt werden kann.
Nach Abschluss der code scanning-Aufträge überprüft GitHub, ob vom Pull Request Warnungen hinzugefügt wurden, und fügt der Liste mit den Überprüfungen den Eintrag „-Ergebnisse / TOOLNAME“ hinzu. Nach mindestens einer Ausführung von code scanning kannst du auf Details klicken, um die Ergebnisse der Analyse anzuzeigen.
Nächste Schritte
Nach dem Konfigurieren der code scanning und dem Abschluss der Aktionen kannst du Folgendes tun:
- Anzeigen aller für dieses Repository generierten code scanning-Warnungen. Weitere Informationen findest du unter Verwalten von Codescanwarnungen für dein Repository.
- Anzeigen von Warnungen, die für einen Pull Request generiert wurden, der nach dem Konfigurieren der code scanning übermittelt wurde. Weitere Informationen findest du unter Filtern von Codescanbenachrichtigungen in Pull-Anforderungen.
- Konfigurieren von Benachrichtigungen für abgeschlossene Ausführungen. Weitere Informationen findest du unter Benachrichtigungen konfigurieren.
- Anzeigen der Protokolle, die bei der code scanning-Analyse generiert wurden. Weitere Informationen findest du unter Anzeigen von Codescanprotokollen.
- Untersuchen von Problemen, die bei der Erstkonfiguration der code scanning mit CodeQL auftreten können. Weitere Informationen findest du unter Problembehandlung für deine erweiterte Einrichtung für CodeQL.
- Passe an, wie die code scanning den Code in deinem Repository überprüft. Weitere Informationen findest du unter Anpassen der Codeüberprüfung.