Informationen zur CodeQL CLI
Softwareentwickler*innen und Sicherheitsfachkräfte können ihren Code mithilfe der CodeQL-Analyse sichern. Weitere Informationen zu CodeQL findest du unter Informationen zu Codescans mit CodeQL.
Die CodeQL CLI ist ein eigenständiges Befehlszeilentool, mit dem du Code analysieren kannst. Ihr Hauptzweck besteht darin, eine Datenbankdarstellung einer Codebasis zu generieren: eine CodeQL-Datenbank. Wenn die Datenbank bereit ist, kannst du sie interaktiv abfragen oder eine Reihe von Abfragen ausführen, um Ergebnissets im SARIF-Format zu generieren und auf GitHub.com hochzuladen.
Du kannst die CodeQL CLI verwenden, um Folgendes zu tun:
- Ausführen von CodeQL-Analysen mithilfe von Abfragen, die von GitHub-Entwickler*innen und der Open-Source-Community bereitgestellt werden
- Generieren von Codescanwarnungen, um diese für die Anzeige in GitHub Enterprise Cloud hochzuladen
- Erstellen von CodeQL-Datenbanken zur Verwendung in der CodeQL für die Visual Studio Code-Erweiterung
- Entwickeln und Testen von benutzerdefinierten CodeQL-Abfragen für die Verwendung in eigenen Analysen
Die CodeQL CLI kann Folgendes analysieren:
- Dynamische Sprachen, z. B. JavaScript und Python.
- Kompilierte Sprachen wie C/C++, C#, Go und Java.
- Codebases, die in einer Mischung aus Sprachen geschrieben wurden.
Weitere Informationen zur Einrichtung der CodeQL CLI findest du unter Einrichten der CodeQL-CLI.
Informationen zum Verwenden der CodeQL CLI in einem CI-System eines Drittanbieters, um Ergebnisse zu erstellen, die in GitHub als Codeüberprüfungswarnungen angezeigt werden, findest du unter Konfigurieren von CodeQL CLI in deinem CI-System. Weitere Informationen zum Aktivieren von CodeQL-Codescans mithilfe von GitHub Actions findest du unter Konfigurieren des Standardsetups für das Codescanning und Konfigurieren des erweiterten Setups für das Codescanning.
Informationen zur Verwendung der CodeQL CLI für das code scanning
Du kannst die CodeQL CLI zum Ausführen von code scanning von Code verwenden, den du in einem CI-System (Continuous Integration) eines Drittanbieters verarbeitest. Code scanning ist ein Feature, das du zum Analysieren des Codes in einem GitHub-Repository verwendest, um Sicherheitsrisiken und Codefehler zu finden. Alle von der Analyse identifizierten Probleme werden in GitHub Enterprise Cloud angezeigt. Eine Übersicht über die Optionen für CI-Systeme (Continuous Integration) findest du unter Informationen zur CodeQL-Codeüberprüfung in deinem CI-System. Die empfohlenen Spezifikationen (RAM, CPU-Kerne und Festplatte) zum Ausführen von CodeQL-Analysen findest du unter Empfohlene Hardwareressourcen zum Ausführen von CodeQL.
Du kannst alternativ GitHub Actions oder Azure DevOps-Pipelines verwenden, um Code mithilfe der CodeQL CLI zu überprüfen. Weitere Informationen finden Sie unter "Konfigurieren des Standardsetups für das Codescanning" oder unter Konfigurieren von GitHub Advanced Security for Azure DevOps in Microsoft Learn.
Eine Übersicht über alle Optionen zur Verwendung der CodeQL-Analyse für die Codeüberprüfung findest du unter Informationen zu Codescans mit CodeQL.
Hinweise:
- Die CodeQL CLI kann in öffentlichen Repositorys, die auf GitHub.com verwaltet werden, kostenlos verwendet werden und steht in privaten Repositorys, die Kunden mit einer Lizenz für Advanced Security gehören, zur Verfügung. Weitere Informationen findest du unter GitHub Enterprise Cloud CodeQL-Geschäftsbedingungen und CodeQL-CLI.
- Die CodeQL CLI ist derzeit nicht mit Nicht-Glibc-Linux-Distributionen wie (musl-basiertem) Alpine Linux kompatibel.
Informationen zum Generieren von Codeüberprüfungsergebnissen mit CodeQL CLI
Wenn du die CodeQL CLI direkt ausführen möchtest, musst du zuerst die CodeQL CLI loak installieren. Wenn du die CodeQL CLI mit einem externen CI-System (Continuous Integration) verwenden möchtest, musst du die CodeQL CLI für alle Server in deinem CI-System verfügbar machen, und du musst sicherstellen, dass diese Server sich mit GitHub Enterprise Cloud authentifizieren können. Weitere Informationen findest du unter Einrichten der CodeQL-CLI.
Sobald die CodeQL CLI eingerichtet ist, kannst du drei verschiedene Befehle verwenden, um Ergebnisse zu generieren oder diese auf GitHub Enterprise Cloud hochzuladen:
database create
: Mit diesem Befehl erstellst du eine CodeQL-Datenbank, die die hierarchische Struktur aller unterstützten Programmiersprachen im Repository darstellt. Weitere Informationen findest du unter Vorbereiten des Codes für die CodeQL-Analyse.database analyze
: Mit diesem Befehl führst du Abfragen aus, um jede CodeQL-Datenbank zu analysieren und die Ergebnisse in einer SARIF-Datei zusammenzufassen. Weitere Informationen findest du unter Analysieren des Codes mit CodeQL-Abfragen.github upload-results
: Mit diesem Befehl lädst du die SARIF-Dateien auf GitHub Enterprise Cloud hoch, wo die Ergebnisse mit einem Branch oder Pull Request abgeglichen und als Warnungen der Codeüberprüfung ( code scanning) angezeigt werden. Weitere Informationen findest du unter Hochladen von CodeQL-Analyseergebnissen auf GitHub.
Informationen zur GitHub CodeQL-Lizenz
Lizenzhinweis: Wenn du keine GitHub Enterprise-Lizenz besitzt, stimmst du mit dem Installieren dieses Produkts den GitHub CodeQL-Geschäftsbedingungen zu.
GitHub CodeQL wird auf Benutzerbasis lizenziert. Im Rahmen der Lizenzbeschränkungen kannst du CodeQL verwenden, um die folgenden Aufgaben auszuführen:
- Durchführen wissenschaftlicher Forschung
- Vorstellen der Software
- Testen der CodeQL-Abfragen, die unter einer von der OSI genehmigten Lizenz veröffentlicht werden, um zu bestätigen, dass neue Versionen dieser Abfragen weiterhin die richtigen Sicherheitsrisiken ermitteln
„Von der OSI genehmigte Lizenz“ meint dabei eine von der Open Source Initiative (OSI) genehmigte Open-Source-Softwarelizenz.
Wenn du mit einer Open-Source-Codebasis arbeitest (d. h. einer Codebasis, die unter einer von der OSI genehmigten Lizenz veröffentlicht wurde), kannst du CodeQL auch für die folgenden Aufgaben verwenden:
- Durchführen der Analyse der Open-Source-Codebasis
- Wenn die Open-Source-Codebasis auf GitHub.com gehostet und verwaltet wird: Generieren von CodeQL-Datenbanken für oder während Continuous Integration, Continuous Delivery oder der automatisierten Analyse
CodeQL kann nicht für automatisierte Analysen, Continuous Integration oder Continuous Delivery verwendet werden, weder als Teil normaler Softwareentwicklungsprozesse noch anderweitig, außer in den hier ausdrücklich genannten Fällen. Wende dich für diese Verwendungszwecke an das Vertriebsteam.