Codeüberprüfung und CodeQL

Abgeschlossen

Je nachdem, welches Tool Sie für die Analyse verwenden möchten und wie Sie Warnungen generieren möchten, gibt es einige unterschiedliche Optionen zum Einrichten der Codeüberprüfung in Ihrem Repository. Die drei wichtigsten Möglichkeiten sind:

  • Verwenden Sie das Standardsetup, um schnell CodeQL-Analysen für die Codeüberprüfung in Ihrem Repository zu konfigurieren. Beim Standardsetup werden automatisch die zu analysierende Sprache, die auszuführende Abfragesammlung und Ereignisse ausgewählt, die Überprüfungen auslösen. Wenn Sie möchten, können Sie die auszuführende Abfragesuite und die zu analysierenden Sprachen manuell auswählen. Nachdem Sie CodeQL aktiviert haben, führen GitHub Actions Workflows aus, um Ihren Code zu überprüfen. Weitere Informationen finden Sie unter „Konfigurieren des Standardsetups für die Codeüberprüfung“.
  • Verwenden Sie das erweiterte Setup, um den CodeQL-Workflow direkt Ihrem Repository hinzuzufügen. Dadurch wird eine anpassbare Workflowdatei generiert, die „github/codeql-action“ verwendet, um die CodeQL CLI auszuführen. Weitere Informationen finden Sie unter „Konfigurieren des erweiterten Setups für die Codeüberprüfung“.
  • Ausführen der CodeQL CLI direkt in einem externen CI-System und Hochladen der Ergebnisse in GitHub. Weitere Informationen finden Sie unter „Verwenden der Codeüberprüfung mit Ihrem vorhandenen CI-System“.[2]

Zuvor haben wir erfahren, wie Sie mit der Standardeinrichtung und -konfiguration beginnen. Jetzt erfahren Sie, wie Sie die Codeüberprüfung mit dem erweiterten Setup einrichten und wie Sie einen Massensetup eines Codescanworkflows für mehrere Repositorys ausführen.

Codeüberprüfung mit GitHub Actions und CodeQL

Gehen Sie wie folgt vor, um die Codeüberprüfung mit dem erweiterten Setup einzurichten:

  1. Wechseln Sie zur Registerkarte Settings (Einstellungen) Ihres Repositorys.
  2. Navigieren Sie im linken Bereich zu Code security and analysis (Codesicherheit und -analyse), klicken Sie auf das Dropdownmenü Setup, und wählen Sie Advanced (Erweitert) aus. Möglicherweise müssen Sie GitHub Advanced Security aktivieren, bevor Sie die Codeüberprüfung aktivieren.
  3. Sie werden zu einer neuen Seite mit einer generierten Workflowdatei weitergeleitet. Diese Datei erhält standardmäßig den Namen codeql.yml und ist eine konfigurierbare Workflowdatei, die in Ihr Repository committet werden muss, um mit der Ausführung der Codeüberprüfung beginnen zu können.
  4. Bearbeiten Sie den Workflow, um anzupassen, wie Codescans Ihren Code scannen. Im Allgemeinen können Sie den CodeQL-Analyseworkflow committen, ohne Änderungen daran vorzunehmen.
  5. Verwenden Sie die Schaltfläche Commit changes... (Änderungen übernehmen) in der oberen rechten Ecke, und geben Sie eine Commit-Nachricht in das Popupfeld ein.
  6. Wählen Sie aus, ob Sie die Datei direkt in den Standardbranch committen möchten, oder erstellen Sie einen neuen Branch, und starten Sie einen Pull Request.
  7. Klicke auf Änderungen committen.

Im CodeQL-Analysestandardworkflow werden Codeüberprüfungen so konfiguriert, dass Ihr Code jedes Mal analysiert wird, wenn Sie entweder eine Änderung an den Standardbranch oder an geschützte Branches pushen oder einen Pull Request für den Standardbranch auslösen. Daher beginnt nun der Codescan.

Die on:pull_request- und on:push-Trigger für Codescans sind jeweils für unterschiedliche Zwecke nützlich.

Masseneinrichtung der Codeüberprüfung

Sie können die Codeüberprüfung in vielen Repositorys gleichzeitig mithilfe eines Skripts einrichten. Wenn Sie ein Skript zum Auslösen von Pull Requests verwenden möchten, die mehreren Repositorys einen GitHub Actions-Workflow hinzufügen, finden Sie im Repository „jhutchings1/Create-ActionsPRs“[3] ein Beispiel mit PowerShell oder im Repository „nickliffen/ghas-enablement“[4] ein Beispiel mit NodeJS.