Skip to main content
Wir veröffentlichen regelmäßig Aktualisierungen unserer Dokumentation, und die Übersetzung dieser Seite ist möglicherweise noch nicht abgeschlossen. Aktuelle Informationen findest du in der englischsprachigen Dokumentation.
GitHub AE ist derzeit begrenzt freigegeben.

Configuring code scanning for a repository

You can configure code scanning for a repository to find security vulnerabilities in your code.

Wer kann dieses Feature verwenden?

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

Code scanning ist für organisationseigene Repositorys in GitHub AE verfügbar. Dies ist ein GitHub Advanced Security-Feature (kostenlos während der Betaphase). 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 AE 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.

  • CodeQL : Verwendet GitHub Actions (siehe unten) 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 oder Drittanbietertools und lädt die Ergebnisse in GitHub AE 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.

Hinweis: In diesem Artikel werden die Features beschrieben, die in der Version der CodeQL-Aktion und dem zugehörigen CodeQL CLI-Bundle im ursprünglichen Release dieser Version von GitHub AE enthalten sind. Wenn dein Unternehmen eine neuere Version der CodeQL-Aktion verwendet, findest du Informationen zu den neuesten Features in der GitHub Enterprise Cloud-Version dieses Artikels.

Voraussetzungen

Bevor du die code scanning für ein Repository konfigurierst, stelle sicher, dass mindestens ein selbstgehosteter GitHub Actions-Runner für das Repository verfügbar ist.

Enterprise-Besitzer sowie Organisations- und Repositoryadministratoren können selbstgehostete Runner hinzufügen. Weitere Informationen findest du unter Informationen zu selbstgehosteten Runnern und Hinzufügen selbstgehosteter Runner.

Manuelles Konfigurieren der code scanning

  1. Navigiere auf dein Unternehmen zur Hauptseite des Repositorys. 1. Wähle unter dem Repositorynamen die Option Sicherheit aus. Wenn die Registerkarte „Sicherheit“ nicht angezeigt wird, wähle im Dropdownmenü die Option Sicherheit aus. Screenshot eines Repositoryheaders mit den Registerkarten. Die Registerkarte „Sicherheit“ ist dunkelorange umrandet.

  2. Klicke rechts neben „-Warnungen“ auf code scanning einrichten. Wenn „code scanning-Warnungen“ fehlt, musst du einen Organisationsbesitzer oder Repositoryadministrator bitten, GitHub Advanced Security zu aktivieren.. Weitere Informationen findest du unter Verwalten von Sicherheits- und Analyseeinstellungen für deine Organisation oder Verwalten von Sicherheits- und Analyseeinstellungen für dein Repository.

  3. Klicke unter „Erste Schritte mit code scanning“ für CodeQL-Analyseworkflow oder einen Drittanbieterworkflow auf Diesen Workflow einrichten. Schaltfläche „Diesen Workflow einrichten“ unter der Überschrift „Erste Schritte mit code scanning“Workflows werden nur angezeigt, wenn sie für die im Repository erkannten Programmiersprachen relevant sind. CodeQL-Analyseworkflow wird immer angezeigt. Die Schaltfläche „Diesen Workflow einrichten“ ist jedoch nur aktiviert, wenn die CodeQL-Analyse die im Repository vorhandenen Sprachen unterstützt.

  4. 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 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-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 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 „“ 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.

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 „-Ergebnisse / TOOLNAME“ hinzu. Nach mindestens einer Ausführung von code scanning kannst du auf Details klicken, um die Ergebnisse der Analyse anzuzeigen.

Wenn du code scanning mithilfe eines Pull Requests dem Repository hinzugefügt hast, wird beim Klicken auf Details für den Eintrag „-Ergebnisse/TOOLNAME“ zunächst die Meldung „Keine Analyse gefunden“ angezeigt.

Meldung „Analyse nicht gefunden“ für Commit

In der Tabelle wird mindestens eine Kategorie aufgeführt. Jede Kategorie bezieht sich auf bestimmte Analysen für dasselbe Tool und denselben Commit, die für eine andere Sprache oder einen anderen Teil des Codes ausgeführt wurden. Für jede Kategorie werden in der Tabelle die beiden Analysen angezeigt, die in code scanning miteinander verglichen wurden, um die im Pull Request eingeführten oder behobenen Warnungen zu ermitteln.

Im vorherigen Screenshot wurde von code scanning z. B. eine Analyse für den Mergecommit des Pull Requests gefunden, jedoch keine Analyse für den Kopfteil des Mainbranches.

Gründe für die Meldung „Keine Analyse gefunden“

Nach der Analyse des Codes in einem Pull Request durch code scanning müssen die Analysen des Topic-Branches (den du zur Erstellung des Pull Requests verwendet hast) und des Basis-Branches (in den der Merge des Pull Requests erfolgen soll) miteinander verglichen werden. Dadurch kann code scanning berechnen, welche Warnungen vom Pull Request neu eingeführt wurden, welche Warnungen im Basis-Branch bereits vorhanden waren und ob durch die Änderungen im Pull Request vorhandene Warnungen behoben wurden. Wenn du code scanning mithilfe eines Pull Requests dem Repository hinzugefügt hast, wurde der Basis-Branch noch nicht analysiert. Daher ist die Berechnung dieser Details zunächst nicht möglich. Wenn du in diesem Fall auf die Ergebnisüberprüfung für den Pull Request klickst, wird die Meldung „Keine Analyse gefunden“ angezeigt.

Es gibt weitere Situationen, in denen möglicherweise keine Analyse des neuesten Commits für den Basis-Branch eines Pull Requests vorhanden ist. Dazu zählen unter anderem folgende Einstellungen:

  • Der Pull Request wurde für einen anderen Branch als den Standardbranch ausgelöst, der nicht analysiert wurde.

    Wenn du überprüfen möchtest, ob ein Branch bereits überprüft wurde, wechsle zur Seite „“, klicke auf das Dropdownmenü Branch, und wähle den entsprechenden Branch aus.

    Wähle einen Branch aus der Dropdownliste „Branch“ aus.

    Füge in diesem Fall den Spezifikationen on:push und on:pull_request im code scanning-Workflow für diesen Branch den Namen des Basis-Branches hinzu. Füge zudem eine Änderung hinzu, mit der der offene Pull Request, den du überprüfen möchtest, aktualisiert wird.

  • Der neueste Commit für den Basis-Branch des Pull Requests wird derzeit analysiert, weshalb die Analyse noch nicht verfügbar ist.

    Warte ein paar Minuten, bevor du eine Änderung per Push an den Pull Request überträgst, um code scanning erneut auszulösen.

  • Während der Analyse des neuesten Commits für den Basis-Branch trat ein Fehler auf, weshalb die Analyse für diesen Commit nicht verfügbar ist.

    Merge eine geringfügige Änderung in den Basis-Branch, um code scanning für den neuesten Commit auszulösen. Übertrage anschließend per Push eine Änderung an den Pull Request, um code scanning erneut auszulösen.

Nächste Schritte

Nach dem Konfigurieren der code scanning und dem Abschluss der Aktionen kannst du Folgendes tun: