{"meta":{"title":"CodeQL-Befehlszeilenschnittstelle","intro":"Sie können CodeQL CLI verwenden, um CodeQL-Prozesse lokal in Softwareprojekten auszuführen oder code scanning-Ergebnisse zum Hochladen auf GitHub zu generieren.","product":"Sicherheit und Codequalität","breadcrumbs":[{"href":"/de/code-security","title":"Sicherheit und Codequalität"},{"href":"/de/code-security/concepts","title":"Concepts"},{"href":"/de/code-security/concepts/code-scanning","title":"Codeüberprüfung"},{"href":"/de/code-security/concepts/code-scanning/codeql","title":"CodeQL"},{"href":"/de/code-security/concepts/code-scanning/codeql/codeql-cli","title":"CodeQL-Befehlszeilenschnittstelle"}],"documentType":"article"},"body":"# CodeQL-Befehlszeilenschnittstelle\n\nSie können CodeQL CLI verwenden, um CodeQL-Prozesse lokal in Softwareprojekten auszuführen oder code scanning-Ergebnisse zum Hochladen auf GitHub zu generieren.\n\nSoftwareentwickler und Sicherheitsforscher können ihren Code mithilfe von CodeQL Analysen sichern. Weitere Informationen zu CodeQL findest du unter [Codeüberprüfung mit CodeQL](/de/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql#about-codeql).\n\nDies CodeQL CLI ist ein eigenständiges Befehlszeilentool, mit dem Sie Code analysieren können. Der Hauptzweck besteht darin, eine Datenbankdarstellung einer Codebasis, einer CodeQL Datenbank zu generieren. Sobald die Datenbank fertig ist, können Sie sie interaktiv abfragen oder eine Reihe von Abfragen ausführen, um eine Reihe von Ergebnissen im SARIF-Format zu generieren und die Ergebnisse hochzuladen.GitHub\n\nSie können das CodeQL CLI verwenden, um:\n\n* Führen Sie CodeQL Analysen mithilfe von Abfragen aus, die von GitHub Ingenieuren und der Open-Source-Community bereitgestellt werden.\n* Generieren Sie Code-Scanning-Warnungen, die Sie hochladen können, damit sie in GitHub angezeigt werden.\n* Erstellen Sie CodeQL Datenbanken zur Verwendung im CodeQL für die Erweiterung Visual Studio Code.\n* Entwickeln und Testen von benutzerdefinierten CodeQL Abfragen zur Verwendung in Ihren eigenen Analysen\n\nCodeQL CLI kann analysieren:\n\n* Dynamische Sprachen, z. B. JavaScript und Python.\n* Kompilierte Sprachen, z. B. C/C++, C#, Go, Java, Kotlin, Rust, and Swift\n* Codebases, die in einer Mischung aus Sprachen geschrieben wurden.\n\n## Informationen zur Verwendung von CodeQL CLI für code scanning\n\nSie können CodeQL CLI verwenden, um code scanning für Code auszuführen, den Sie in einem CI-System eines Drittanbieters verarbeiten.\nCode 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 ermittelten Probleme werden im Repository angezeigt. Eine Übersicht über die Verwendung von Codescans mit externen CI-Systemen finden Sie unter [Verwenden der Codeüberprüfung mit deinem vorhandenen CI-System](/de/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system). Empfohlene Spezifikationen (RAM, CPU-Kerne und Datenträger) für die laufende CodeQL Analyse finden Sie unter [Empfohlene Hardwareressourcen zum Ausführen von CodeQL](/de/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/recommended-hardware-resources-for-running-codeql).\n\nAlternativ können Sie GitHub Actions oder Azure DevOps Pipelines verwenden, um Code mithilfe der CodeQL CLI zu scannen. Weitere Informationen finden Sie unter [Konfigurieren des Standardsetups für das Code-Scanning](/de/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning) oder [Configure GitHub Advanced Security for Azure DevOps](https://learn.microsoft.com/en-us/azure/devops/repos/security/configure-github-advanced-security-features) in Microsoft Learn.\n\nEine Übersicht über alle Optionen für die Verwendung der CodeQL-Analyse für die Codeüberprüfung finden Sie unter [Codeüberprüfung mit CodeQL](/de/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql).\n\n> \\[!NOTE]\n>\n> * Die CodeQL CLI kann in öffentlichen Repositorys kostenlos eingesetzt werden. Die CodeQL CLI ist ebenfalls in privaten Repositorys im Besitz von Organisationen verfügbar, die GitHub Team oder GitHub Enterprise Cloud verwenden und über eine Lizenz für GitHub Code Security verfügen. Weitere Informationen findest du in den [Geschäftsbedingungen von GitHub CodeQL](https://securitylab.github.com/tools/codeql/license) und der [CodeQL-CLI](https://codeql.github.com/docs/codeql-cli/).\n> * Die CodeQL CLI ist derzeit nicht mit Nicht-Glibc-Linux-Distributionen wie (musl-basiertem) Alpine Linux kompatibel.\n\n## Informationen zum Generieren von Codescanergebnissen mit dem CodeQL CLI\n\nWenn Sie CodeQL CLI direkt ausführen möchten, müssen Sie zunächst CodeQL CLI lokal installieren. Wenn Sie planen, die CodeQL CLI mit einem externen CI-System zu verwenden, müssen Sie die CodeQL CLI den Servern in Ihrem CI-System verfügbar machen.\n\nSobald CodeQL CLI eingerichtet ist, können Sie drei verschiedene Befehle verwenden, um Ergebnisse zu generieren und sie auf GitHub hochzuladen:\n\n1. `database create` um eine CodeQL Datenbank zu erstellen, die die hierarchische Struktur jeder unterstützten Programmiersprache im Repository darstellt. Weitere Informationen findest du unter [Vorbereiten des Codes für die CodeQL-Analyse](/de/code-security/codeql-cli/getting-started-with-the-codeql-cli/preparing-your-code-for-codeql-analysis).\n2. `database analyze` um Abfragen auszuführen, um jede CodeQL Datenbank zu analysieren und die Ergebnisse in einer SARIF-Datei zusammenzufassen. Weitere Informationen findest du unter [Analyzing your code with CodeQL queries](/de/code-security/codeql-cli/getting-started-with-the-codeql-cli/analyzing-your-code-with-codeql-queries).\n3. `github upload-results` um die resultierenden SARIF-Dateien zu GitHub hochzuladen, wo die Ergebnisse einem Branch oder Pull Request zugeordnet und als code scanning Warnungen angezeigt werden. Weitere Informationen findest du unter [Hochladen von CodeQL-Analyseergebnissen in GitHub](/de/code-security/codeql-cli/getting-started-with-the-codeql-cli/uploading-codeql-analysis-results-to-github).\n\n> \\[!NOTE]\n> Das Hochladen von SARIF-Daten zur Anzeige von code scanning-Ergebnissen in GitHub wird für Repositorys im Besitz von Organisationen mit aktivierter GitHub Code Security und öffentliche Repositorys auf GitHub.com unterstützt. Weitere Informationen finden Sie unter [Verwalten von Sicherheits- und Analyseeinstellungen für dein Repository](/de/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository).\n\n### Beispiel einer CI-Konfiguration für die CodeQL-Analyse\n\nDies ist ein Beispiel für die vollständige Befehlsfolge für CodeQL CLI, die Sie verwenden können, um eine Codebasis mit zwei unterstützten Sprachen zu analysieren und die Ergebnisse anschließend auf GitHub hochzuladen.\n\n```shell\n# Create CodeQL databases for Java and Python in the 'codeql-dbs' directory\n# Call the normal build script for the codebase: 'myBuildScript'\n\ncodeql database create codeql-dbs --source-root=src \\\n    --db-cluster --language=java,python --command=./myBuildScript\n\n# Analyze the CodeQL database for Java, 'codeql-dbs/java'\n# Tag the data as 'java' results and store in: 'java-results.sarif'\n\ncodeql database analyze codeql-dbs/java java-code-scanning.qls \\\n    --format=sarif-latest --sarif-category=java --output=java-results.sarif\n\n# Analyze the CodeQL database for Python, 'codeql-dbs/python'\n# Tag the data as 'python' results and store in: 'python-results.sarif'\n\ncodeql database analyze codeql-dbs/python python-code-scanning.qls \\\n    --format=sarif-latest --sarif-category=python --output=python-results.sarif\n\n# Upload the SARIF file with the Java results: 'java-results.sarif'\n# The GitHub App or personal access token created for authentication\n# with GitHub's REST API is available in the `GITHUB_TOKEN` environment variable.\n\ncodeql github upload-results \\\n    --repository=my-org/example-repo \\\n    --ref=refs/heads/main --commit=deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 \\\n    --sarif=java-results.sarif\n\n# Upload the SARIF file with the Python results: 'python-results.sarif'\n\ncodeql github upload-results \\\n    --repository=my-org/example-repo \\\n    --ref=refs/heads/main --commit=deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 \\\n    --sarif=python-results.sarif\n```\n\n### Datenbankextraktion\n\nDie CodeQL CLI verwendet spezielle Programme, sogenannte Extraktoren, um Informationen aus dem Quellcode eines Softwaresystems in eine abfragbare Datenbank zu extrahieren. Sie können das Verhalten von Extraktoren anpassen, indem Sie Konfigurationsoptionen von Extraktoren über CodeQL CLI festlegen. Siehe [Extraktoroptionen](/de/code-security/reference/code-scanning/codeql/codeql-cli/extractor-options).\n\n## Informationen zur GitHub CodeQL-Lizenz\n\n**Lizenzhinweis:** Wenn du über keine Lizenz für GitHub Code Security verfügst, stimmst du bei der Installation dieses Produkts den [Geschäftsbedingungen für GitHub CodeQL](https://github.com/github/codeql-cli-binaries/blob/main/LICENSE.md) zu.\n\nInformationen zum kostenlosen Testen von GitHub Enterprise mit GitHub Advanced Security findest du in der GitHub Enterprise Cloud-Dokumentation unter [Einrichten einer Testversion von GitHub Enterprise Cloud](/de/enterprise-cloud@latest/admin/overview/setting-up-a-trial-of-github-enterprise-cloud) und [Einrichten einer Testversion von GitHub Advanced Security](/de/enterprise-cloud@latest/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/setting-up-a-trial-of-github-advanced-security#setting-up-your-trial-of-github-advanced-security).\n\n## Informationen zu CodeQL CLI Datenbankbündeln\n\nDer CodeQL CLI Befehl \"Datenbankbundle\" kann verwendet werden, um ein wiederverwendbares Archiv einer CodeQL Datenbank zu erstellen.\n\nEine Kopie eines Datenbankbundles kann verwendet werden, um Informationen zur Problembehandlung mit Ihren Teammitgliedern oder mit GitHub-Supportihnen zu teilen. Siehe [Erstellen von CodeQL CLI-Datenbankpaketen](/de/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/creating-database-bundle-for-troubleshooting).\n\n## Erste Schritte\n\nDie einfachste Möglichkeit für die ersten Schritte finden Sie unter [Einrichten der CodeQL-CLI](/de/code-security/codeql-cli/getting-started-with-the-codeql-cli/setting-up-the-codeql-cli).\n\nErweiterte Setup-Optionen sind verfügbar, wenn Sie sie benötigen. Beispielsweise, wenn Sie:\n\n* Möchten Sie zu Open Source freigegebenen CodeQL-Abfragen beitragen und lieber direkt mit dem Quellcode CodeQL arbeiten. Siehe [Auschecken des CodeQL CLI-Quellcodes](/de/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/check-out-source-code).\n* Mehrere Versionen von CodeQL CLI müssen parallel installiert werden. Wenn z. B. eine Codebasis eine bestimmte Version erfordert, während eine andere die neueste Version verwendet. Sie können jede Version herunterladen und beide CLI-Archive im selben übergeordneten Verzeichnis entpacken.\n* Sie recherchieren oder entwickeln Abfragen und möchten Datenbanken von GitHub.com herunterladen. Siehe [Herunterladen von CodeQL-Datenbanken aus GitHub](/de/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/download-databases)."}