Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Konfigurieren der Codeüberprüfung für ein Repository

Du kannst die code scanning für ein Repository konfigurieren, um Sicherheitsrisiken in deinem Code zu ermitteln.

Who can use this feature

If you have write permissions to a repository, you can configure code scanning for that repository.

Code scanning ist für alle öffentlichen Repositorys auf GitHub.com verfügbar. Zur Verwendung von code scanning in einem privaten organisationseigenen Repository musst du über eine Lizenz für GitHub Advanced Security verfügen. Weitere Informationen findest du unter Informationen zu GitHub Advanced Security.

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 Enterprise Cloud 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 unter Informationen zur code scanning.

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 code scanning 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.

  1. Navigiere auf GitHub.com zur Hauptseite des Repositorys. 1. Klicke unter dem Repositorynamen auf Einstellungen. Schaltfläche „Repositoryeinstellungen“

  2. Klicke im Abschnitt „Sicherheit“ der Randleiste auf Codesicherheit und -analyse.

  3. Wähle im Abschnitt „Code scanning“ die Option Setup aus, und klicke dann auf Standard.

    Screenshot des Abschnitts „Code scanning“ mit hervorgehobener Setupoption „Standard“

  4. Überprüfe im angezeigten Fenster für die CodeQL-Standardkonfiguration die Einstellungen für dein Repository, und klicke dann auf CodeQL aktivieren.

    Screenshot des Popupfensters „CodeQL-Standardkonfiguration“ mit hervorgehobener Schaltfläche „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 Erweitertes Setup.
    • 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 Enterprise Cloud 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. Code scanning-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.

  1. Navigiere auf GitHub.com zur Hauptseite des Repositorys. 1. Klicke unter deinem Repositorynamen auf Aktionen. Registerkarte „Aktionen“ auf der Navigationsleiste des Hauptrepositorys
  2. Wurde für das Repository bereits mindestens ein Workflow konfiguriert und ausgeführt, klicke auf Neuer Workflow, und fahre mit Schritt 5 fort. Sind derzeit keine Workflows für das Repository konfiguriert, fahre mit dem nächsten Schritt fort. Screenshot: Schaltfläche „Neuer Workflow“
  3. Scrolle nach unten zur Kategorie „Sicherheit“, und klicke unterhalb des Workflows, den du konfigurieren möchtest, auf Konfigurieren. Alternativ kannst du auf Alle anzeigen klicken, um alle verfügbaren Sicherheitsworkflows anzuzeigen. Screenshot: Abschnitt „Sicherheit“ für Actions-Workflows
  4. Klicke im rechten Bereich der Seite „Workflow“ auf Dokumentation, und folge den Anweisungen auf dem Bildschirm, um den Workflow deinen Anforderungen anzupassen. Screenshot: Registerkarte „Dokumentation“ für Startworkflows Weitere Informationen findest du unter Verwenden von Startworkflows und unter Anpassen der code scanning.

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.

  1. Navigiere auf GitHub.com zur Hauptseite des Repositorys. 1. Klicke unter dem Repositorynamen auf Einstellungen. Schaltfläche „Repositoryeinstellungen“

  2. Klicke im Abschnitt „Sicherheit“ der Randleiste auf Codesicherheit und -analyse.

  3. Wähle im Abschnitt „Code scanning“ die Option Setup aus, und klicke dann auf Erweitert.

    Hinweis: Wenn du vom Standardsetup zum erweiterten code scanning-Setup wechselst, musst du im Abschnitt „Code scanning“ das Symbol auswählen und dann auf Erweitert klicken. Klicken im daraufhin angezeigten Popupfenster auf CodeQL deaktivieren.

    Screenshot des Abschnitts „Code scanning“ mit hervorgehobener Setupoption „Erweitert“

  4. Bearbeite den Workflow, wenn du die Codeüberprüfung durch code scanning anpassen möchtest.

    In der Regel kannst du CodeQL analysis workflow 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 scanning.

  5. Verwende die Dropdownliste Start commit (Commit starten), und gib eine Commitnachricht ein. Starten des Commits

  6. Wähle aus, ob du direkt in den Standardbranch committen möchtest, oder erstelle einen neuen Branch, und starte einen Pull Request. Auswählen des Orts für den Commit

  7. Klicke auf Commit new file (Neue Datei committen) oder Propose new file (Neue Datei vorschlagen).

Im empfohlenen CodeQL analysis workflow 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 scanning.

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.

  1. Klicke unter deinem Repositorynamen auf Aktionen. Registerkarte „Aktionen“ auf der Navigationsleiste des Hauptrepositorys

    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.

    Liste der Aktionen mit code scanning-Workflow

  2. Klicke auf den Eintrag für den code scanning-Workflow.

  3. Klicke auf den Namen des Auftrags auf der linken Seite. Beispiel: Analyse (SPRACHE) .

    Protokollausgabe des code scanning-Workflows

  4. Überprüfe die Protokollausgabe der Aktionen in diesem Workflow während der Ausführung.

  5. Sobald alle Aufträge abgeschlossen sind, kannst du die Details aller identifizierten code scanning-Warnungen anzeigen. Weitere Informationen findest du unter Verwalten von code scanning-Warnungen 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 „Code scanning“ 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 „Code scanning“ im Banner auf den Link ANZAHL Warnungen gefunden.

Klicke auf den Link „n 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.

code scanning-Überprüfungen von Pull Requests

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 „Code scanning-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: