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.

Diese Version von GitHub Enterprise wurde eingestellt am 2023-03-15. Es wird keine Patch-Freigabe vorgenommen, auch nicht für kritische Sicherheitsprobleme. Für bessere Leistung, verbesserte Sicherheit und neue Features aktualisiere auf die neueste Version von GitHub Enterprise. Wende dich an den GitHub Enterprise-Support, um Hilfe zum Upgrade zu erhalten.

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.

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 Enterprise Server verfügbar. Dieses Feature erfordert eine Lizenz für GitHub Advanced Security. Weitere Informationen findest du unter Informationen zu GitHub Advanced Security.

Hinweis: Dein Websiteadministrator muss code scanning für deine GitHub Enterprise Server-Instanz aktivieren, damit du dieses Feature verwenden kannst. Wenn du GitHub Actions zum Überprüfen deines Codes verwenden möchtest, muss der Websiteadministrator auch GitHub Actions aktivieren und die erforderliche Infrastruktur einrichten. Weitere Informationen findest du unter Konfigurieren des Codescannings für deine Appliance.

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 Server 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.

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 Enterprise Server 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. Informationen zur Verwendung der aktuellen Version findest du unter Konfigurieren des Codescannings für deine Appliance.

Manuelles Konfigurieren der code scanning

  1. Navigiere auf deine GitHub Enterprise Server-Instanz 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. Wähle rechts neben „Code scanning-Warnungen“ die Option code scanning einrichten aus. Wenn „code scanning-Warnungen“ fehlt, bitte einen Organisationsbesitzerin oder Repositoryadministrator*in, 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überprüfung.

  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ü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.

  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 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 „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 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 durch den Pull Request Warnungen hinzugekommen sind, und fügt der Liste mit den Überprüfungen den Eintrag „Code scanning-Ergebnisse/“ 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 „Code scanning-Ergebnisse/“ 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 gehören:

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