Skip to main content

Bearbeiten der Konfiguration des Standardsetups

Sie können Ihre vorhandene Standardkonfiguration des Setups bearbeiten, um code scanning besser an Ihre Anforderungen anzupassen.

Wer kann dieses Feature verwenden?

Organisationsbesitzerinnen, Sicherheitsmanagerinnen und Organisationsmitglieder mit der Administratorrolle

Nachdem Sie eine anfängliche Analyse des Codes mit Standardsetup ausgeführt haben, können Sie Änderungen an Ihrer Konfiguration vornehmen, um Ihre Anforderungen besser zu erfüllen. Sie können Ihre Konfiguration auf der Benutzeroberfläche anpassen oder Repositoryeigenschaften verwenden, um benutzerdefinierte Abfragen hinzuzufügen oder eine benutzerdefinierte Konfigurationsdatei anzuwenden. Siehe Informationen zu Konfigurationstypen für die Code-Analyse und Repositoryeigenschaften für code scanning.

Anpassen der vorhandenen Konfiguration des Standardsetups

  1. Navigieren Sie auf GitHub zur Hauptseite des Repositorys.

  2. Klicke unter dem Repositorynamen auf Settings. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.

    Screenshot eines Repositoryheaders mit den Registerkarten. Die Registerkarte „Einstellungen“ ist dunkelorange umrandet.

  3. Klicke im Abschnitt „Security“ der Randleiste auf Advanced Security.

  4. Wählen Sie in der Zeile "CodeQL Analyse" des Abschnitts "Code Security" die Option aus, und klicken Sie dann auf "Konfiguration anzeigen CodeQL ".

  5. Klicken Sie im Fenster "CodeQL Standardkonfiguration" auf "Bearbeiten".

  6. Optional kannst du im Abschnitt „Sprachen“ die Sprachen für die Analyse auswählen oder deaktivieren.

  7. Wähle optional in der Zeile „Query suite“ (Abfragesuite) des Abschnitts „Scan settings“ eine andere Abfragesuite aus, die für deinen Code ausgeführt werden soll.

  8. Wenn Sie optional beschriftete Läufer verwenden möchten, wählen Sie im Abschnitt "Runner-Typ" des modalen Dialogfelds "CodeQLStandardkonfiguration" die Option "StandardläuferGitHub" aus, um ein Dropdownmenü zu öffnen, und wählen Sie dann "Bezeichneter Läufer" aus. Geben Sie dann neben "Runner-Label" das Label eines vorhandenen selbst gehosteten oder GitHub-gehosteten Runners ein. Weitere Informationen findest du unter Konfigurieren des Standardsetups für das Code-Scanning.

  9. (Öffentliche Vorschau) Wählen Sie optional in der Zeile "Bedrohungsmodell" im Abschnitt "Scaneinstellungen" die Option "Remote- und lokale Quellen" aus. Diese Option ist nur für Repositorys mit Code in einer unterstützten Sprache verfügbar: Java/Kotlin und C#.

  10. Klicke auf Änderungen speichern, um die Konfiguration zu aktualisieren und eine erste Analyse des Codes mit der neuen Konfiguration auszuführen. Alle zukünftigen Analysen verwenden die neue Konfiguration.

Definieren der Warnungsschweregrade, die einen Überprüfungsfehler für eine Pullanforderung verursachen

Sie können Regelsätze verwenden, um zu verhindern, dass Pullanforderungen zusammengeführt werden, wenn eine der folgenden Bedingungen erfüllt ist:

  • Ein Pflichttool entdeckt eine code scanning-Warnung mit einem Schweregrad, der im Regelsatz definiert ist.
  • Die Analyse eines erforderlichen Tools wird noch ausgeführt.
  • Für das Repository ist kein erforderliches Tool konfiguriert.

Weitere Informationen findest du unter Festlegen des Zusammenführungsschutzes für Codeüberprüfung. Weitere allgemeine Informationen zu Regelsätzen findest du unter Informationen zu Regelsätzen.

Einschließen lokaler Quellen von Daten m Standard-Set-up

Hinweis

Gefahrenmodelle befinden sich derzeit in der Öffentliche Vorschau. Änderungen sind vorbehalten. Während der Öffentliche Vorschau werden Gefahrenmodelle nur durch die Analyse für Java/Kotlin und C# unterstützt.

Wenn in Ihrer Codebasis nur Remote-Netzwerkanfragen als potenzielle Quellen für verdächtige Daten in Frage kommen, empfehlen wir die Verwendung des Standard-Bedrohungsmodells. Wenn Ihre Codebasis andere Quellen als Netzwerkanfragen mit potenziell verunreinigten Daten berücksichtigt, können Sie Bedrohungsmodelle verwenden, um diese zusätzlichen Quellen in Ihre CodeQL-Analyse hinzuzufügen. Während des Öffentliche Vorschau können Sie lokale Quellen (z. B. Befehlszeilenargumente, Umgebungsvariablen, Dateisysteme und Datenbanken) hinzufügen, die Ihre Codebasis möglicherweise als zusätzliche Quellen für verfälschte Daten erachten kann.

Sie können das in einer Standardkonfiguration verwendete Gefahrenmodell bearbeiten. Weitere Informationen findest du unter Anpassen der vorhandenen Konfiguration des Standardsetups.

Erweitern der CodeQL-Abdeckung mit CodeQL-Modellpaketen im Standardsetup

Hinweis

CodeQL-Modellpakete liegen derzeit als Öffentliche Vorschau vor und können noch geändert werden. Modellpakete werden für die C/C++, C#, Java/Kotlin, Python, Ruby und Rust-Analyse unterstützt.

Der CodeQL-Modell-Editor in der CodeQL-Erweiterung für Visual Studio Code unterstützt Modellierungsabhängigkeiten für C#, Java/Kotlin, Python und Ruby.

Wenn Ihr Unternehmen auf GitHub.com gehostet wird und Sie Frameworks und Bibliotheken verwenden, die von den Standardbibliotheken in CodeQL nicht erkannt werden, können Sie Ihre Abhängigkeiten modellieren und die Analyse von code scanning erweitern. Weitere Informationen finden Sie in der Dokumentation zu unterstützten Sprachen und Frameworks.CodeQL

Für das Standardsetup müssen Sie die Modelle ihrer zusätzlichen Abhängigkeiten in CodeQL Modellpaketen definieren. Sie können die Abdeckung im Standardsetup mit CodeQL Modellpaketen für einzelne Repositorys oder in großem Umfang für alle Repositorys in einer Organisation erweitern.

Weitere Informationen zu CodeQL Modellpaketen und zum Schreiben eigener Modellpakete finden Sie unter Verwenden des CodeQL-Modell-Editors.

Erweitern der Abdeckung für ein Repository

  1. Kopieren Sie im .github/codeql/extensions-Verzeichnis des Repositorys das Modellpaketverzeichnis, das eine codeql-pack.yml-Datei und alle .yml-Dateien enthalten soll, die zusätzliche Modelle für die Bibliotheken oder Frameworks enthalten, die Sie in Ihre Analyse einbeziehen möchten.
  2. Die Modellpakete werden automatisch erkannt und in Ihrer code scanning Analyse verwendet.
  3. Wenn Sie später Ihre Konfiguration ändern, um das erweiterte Setup zu verwenden, werden alle Modellpakete in dem .github/codeql/extensions-Verzeichnis weiterhin erkannt und verwendet.

Erweitern der Abdeckung für alle Repositorys in einer Organisation

Hinweis

Wenn Sie die Abdeckung mit CodeQL Modellpaketen für alle Repositorys in einer Organisation erweitern, müssen die von Ihnen angegebenen Modellpakete in der GitHubContainer registry und für die ausgeführten Repositorys code scanningzugänglich sein. Weitere Informationen findest du unter Arbeiten mit der Containerregistrierung.

  1. Klicke in der rechten oberen Ecke von GitHub auf dein Profilbild und dann auf Your organizations.

  2. Klicke unter dem Organisationsnamen auf Settings. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.

    Screenshot der Registerkarten im Profil einer Organisation. Die Registerkarte „Einstellungen“ ist dunkelorange umrandet.

  3. Klicke im Abschnitt „Security“ der Randleiste auf Advanced Security und anschließend auf Global settings.

  4. Suchen Sie den Abschnitt "Code scanning".

  5. Klicken Sie neben "Analyse erweitern CodeQL " auf "Konfigurieren".

  6. Geben Sie Verweise auf die veröffentlichten Modellpakete ein, die Sie verwenden möchten, eine pro Zeile, und klicken Sie dann auf Speichern.

    Screenshot der Ansicht „CodeQL-Analyse erweitern“ in den Einstellungen für eine Organisation.

  7. Die Modellpakete werden automatisch erkannt und verwendet, wenn code scanning in einem beliebigen Repository der Organisation mit aktivierter Standard-Konfiguration ausgeführt wird.

Anpassen des Standardsetups mit einer Konfigurationsdatei

Sie können das Standardsetup weiter anpassen, indem Sie eine CodeQL Konfigurationsdatei mithilfe der github-codeql-config-file Repositoryeigenschaft anwenden. Die Konfiguration in der Datei wird mit dem Konfigurationsstandardsetup automatisch zusammengeführt, sodass Sie z. B. zusätzliche Abfragen hinzufügen oder Pfade ausschließen können, ohne zum erweiterten Setup wechseln zu müssen. Weitere Informationen dazu, was Sie in einer CodeQL Konfigurationsdatei konfigurieren können und wie sie mit dem Standardsetup zusammengeführt wird, finden Sie unter Repositoryeigenschaften für code scanning.

Anwenden einer Konfigurationsdatei auf alle Repositorys in einer Organisation

Die empfohlene Möglichkeit zum Anpassen der Standardeinrichtung im großen Maßstab ist das Festlegen eines organisationsweiten Standardwerts für die github-codeql-config-file Repositoryeigenschaft, sodass Sie keine einzelnen Repositorys aktualisieren müssen, wenn Sie ihrer Organisation weitere hinzufügen.

  1. Erstellen Sie eine CodeQL Konfigurationsdatei in einem zentralen Repository. Sie können zu diesem Zweck entweder ein neues Repository erstellen oder die Datei zu einer vorhandenen datei hinzufügen. Ihre organisationsweite Konfiguration kann dann an einer zentralen Stelle verwaltet werden. Informationen zum Format der Konfigurationsdateien finden Sie unter Workflowkonfigurationsoptionen für die Codeüberprüfung.

    Wenn die Konfigurationsdatei in einem anderen als dem analysierten Repository gespeichert ist, müssen Sie auch eine private Git Source-Registrierungskonfiguration einrichten, damit das Standardsetup von anderen Repositorys darauf zugreifen kann. Siehe Gewähren des Zugriffs auf private Registrierungen für Sicherheitsfeatures.

  2. Erstellen Sie eine github-codeql-config-file Repositoryeigenschaft für Ihre Organisation, und legen Sie den Standardwert auf den Pfad der Konfigurationsdatei fest. Wenn Sie ihre Konfigurationsdatei beispielsweise als codeql.yml``main Verzweigung octo-org/configfestgelegt haben, legen Sie den Wert der Repositoryeigenschaft auf remote=octo-org/config@main:codeql.yml.

    Es wird empfohlen, die Konfigurationsdatei in einem einzelnen Repository zu testen, bevor Sie die organisationsweite Standardeinstellung festlegen. Siehe Repositoryeigenschaften für code scanning.

  3. Die Konfigurationsdatei wird automatisch erkannt und mit dem Konfigurationsstandardsetup zusammengeführt und generiert die nächste Ausführung code scanning für jedes Repository in der Organisation. Repositorys, die bereits über einen expliziten Wert für die github-codeql-config-file Eigenschaft verfügen, verwenden diesen Wert weiterhin anstelle des organisationsweiten Standardwerts. Weitere Informationen zur Interaktion von Standard- und expliziten Repositoryeigenschaftenwerten finden Sie unter Verwalten von benutzerdefinierten Eigenschaften für Repositorys in Ihrer Organisation.

Anwenden einer Konfigurationsdatei auf ein Repository

Wenn Sie nur das Standardsetup für ein einzelnes Repository anpassen oder eine Konfiguration testen müssen, bevor Sie sie für Ihre Organisation bereitstellen, können Sie die Eigenschaft stattdessen direkt in diesem Repository festlegen.

  1. Erstellen Sie eine CodeQL Konfigurationsdatei. Dies kann eine Datei innerhalb des zu analysierenden Repositorys oder eine Datei in einem separaten Repository sein. Informationen zum Format der Konfigurationsdateien finden Sie unter Workflowkonfigurationsoptionen für die Codeüberprüfung.

    Wenn die Konfigurationsdatei in einem anderen als dem analysierten Repository gespeichert ist, müssen Sie auch eine private Git Source-Registrierungskonfiguration einrichten, damit das Standardsetup von anderen Repositorys darauf zugreifen kann. Siehe Gewähren des Zugriffs auf private Registrierungen für Sicherheitsfeatures.

  2. Legen Sie die github-codeql-config-file Repositoryeigenschaft für das Repository auf den lokalen oder Remotepfad der Konfigurationsdatei fest. Weitere Informationen zu akzeptablen Werten für diese Eigenschaft und Verwalten von benutzerdefinierten Eigenschaften für Repositorys in Ihrer Organisation zum Festlegen eines Repositoryeigenschaftswerts finden Sie unter Repositoryeigenschaften für code scanning.

  3. Die Konfigurationsdatei wird automatisch erkannt und mit dem Konfigurationsstandardsetup zusammengeführt, das beim nächsten Ausführen code scanning im Repository generiert wird.

Fortsetzen von Scans auf inaktiven Repositorys

By default, code scanning default setup pauses weekly scheduled scans on repositories that have had no commits pushed or pull requests opened for 180 days. Sie können dieses Verhalten in einer Organisation außer Kraft setzen, obwohl der Überprüfungszeitraum nicht konfigurierbar ist.

  1. Klicke in der rechten oberen Ecke von GitHub auf dein Profilbild und dann auf Your organizations.

  2. Klicke unter dem Organisationsnamen auf Settings. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.

    Screenshot der Registerkarten im Profil einer Organisation. Die Registerkarte „Einstellungen“ ist dunkelorange umrandet.

  3. Klicke im Abschnitt „Security“ der Randleiste auf Advanced Security und anschließend auf Global settings.

  4. Aktivieren Sie im Abschnitt "Code scanning" die Einstellung Geplante Scans für inaktive Repositorys alle 30 Tage weiter ausführen.

Weitere Anpassung

Wenn Sie andere Aspekte Ihrer code scanning Konfiguration ändern müssen, sollten Sie die Konfiguration des erweiterten Setups in Betracht ziehen. Siehe Konfigurieren des erweiterten Setups für das Code-Scanning.