About default setup
Default setup for code scanning is the quickest, easiest, most low-maintenance way to enable code scanning for your repository. Based on the code in your repository, default setup will automatically create a custom code scanning configuration. After enabling default setup, the code written in CodeQL-supported languages in your repository will be scanned:
- On each push to the repository's default branch, or any protected branch. For more information on protected branches, see Informationen zu geschützten Branches.
- When creating or committing to a pull request based against the repository's default branch, or any protected branch, excluding pull requests from forks.
- On a weekly schedule.
Hinweis
If no pushes and pull requests have occurred in a repository with default setup enabled for 6 months, the weekly schedule will be disabled to save your GitHub Actions minutes.
You can also enable default setup for multiple or all repositories in an organization at the same time. For information on bulk enablement, see Konfigurieren des Standardsetups für das Codescanning im großen Stil.
If you need more granular control over your code scanning configuration, you should instead configure advanced setup. For more information, see Configuring advanced setup for code scanning.
Requirements for using default setup
Your repository is eligible for default setup for code scanning if:
- GitHub Actions sind aktiviert.
- Es ist öffentlich sichtbar, oder GitHub Code Security ist aktiviert.
Es wird empfohlen, das Standardsetup für berechtigte Repositorys zu aktivieren, wenn die Repositorys in Zukunft mindestens eine von CodeQL unterstützte Sprache enthalten. Wenn du das Standardsetup für ein Repository aktivierst, das keine von CodeQL unterstützten Sprachen enthält, führt das Standardsetup keine Scans aus und nutzt keine GitHub Actions-Minuten. Wenn die von CodeQL unterstützten Sprachen zum Standardbranch des Repositorys hinzugefügt werden, beginnt das Standardsetup automatisch mit dem Scannen der von CodeQL unterstützten Sprachen und der Nutzung von GitHub Actions-Minuten. Weitere Informationen zu den von CodeQL unterstützten Sprachen findest du unter Informationen zu Codescans mit CodeQL.
You can use default setup for all CodeQL-supported languages for self-hosted runners or GitHub-hosted runners. See Assigning labels to runners, later in this article.
Default setup uses the none build mode for C/C++, C#, Java und Rust and uses the autobuild build mode for other compiled languages. You should configure your self-hosted runners to make sure they can run all the necessary commands for C/C++, C#, and Swift analysis. Analysis of JavaScript/TypeScript, Go, Ruby, Python, and Kotlin code does not currently require special configuration.
Customizing default setup
We recommend that you start using code scanning with default setup. After you've initially configured default setup, you can evaluate code scanning to see how it's working for you. If you find that something isn't working as you expect, you can customize default setup to better meet your needs. For more information, see Auswerten des Standardsetups für die Codeüberprüfung.
About adding new languages to your default setup
If the code in a repository changes to include any CodeQL-supported languages, GitHub will automatically update the code scanning configuration to include the new language. If code scanning fails with the new configuration, GitHub will resume the previous configuration automatically so the repository does not lose code scanning coverage.
Configuring default setup for a repository
Hinweis
If the analyses fail for all CodeQL-supported languages in a repository, default setup will still be enabled, but it will not run any scans or use any GitHub Actions minutes until another CodeQL-supported language is added to the repository or default setup is manually reconfigured, and the analysis of a CodeQL-supported language succeeds.
-
Navigieren Sie auf GitHub zur Hauptseite des Repositorys.
Hinweis
If you are configuring default setup on a fork, you must first enable GitHub Actions. To enable GitHub Actions, under your repository name, click Actions, then click I understand my workflows, go ahead and enable them. Be aware that this will enable all existing workflows on your fork.
-
Klicke unter dem Repositorynamen auf Settings. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.

-
Klicke im Abschnitt „Security“ der Randleiste auf Advanced Security.
-
Wähle unter „Code Security“ rechts von „CodeQL analysis“ die Option Set up aus, und klicke dann auf Default.

You will then see a "CodeQL default configuration" dialog summarizing the code scanning configuration automatically created by default setup.
-
Optionally, to customize your code scanning setup, click Edit.
- To add or remove a language from the analysis performed by default setup, select or deselect that language in the "Languages" section.
- To specify the CodeQL query suite you would like to use, select your preferred query suite in the "Query suites" section.
-
Review the settings for default setup on your repository, then click Enable CodeQL. This will trigger a workflow that tests the new, automatically generated configuration.
Hinweis
If you are switching to default setup from advanced setup, you will see a warning informing you that default setup will override existing code scanning configurations. This warning means default setup will disable the existing workflow file and block any CodeQL analysis API uploads.
-
Optionally, to view your default setup configuration after enablement, select , then click View CodeQL configuration.
Assigning labels to runners
Hinweis
Code scanning sees assigned runners when default setup is enabled. If a runner is assigned to a repository that is already running default setup, you must disable and re-enable default setup to start using the runner. If you add a runner and want to start using it, you can change the configuration manually without needing to disable and re-enable default setup.
You can also assign self-hosted runners with the default code-scanning label, or you can optionally give them custom labels so that individual repositories can use different runners. For information about assigning labels to self-hosted runners, see Verwenden von Bezeichnungen mit selbstgehosteten Runnern.
Specifying custom labels for self-hosted runners is optional. Unless you have a specific use case, we recommend that you only assign runners with the default code-scanning label. For example, you may want to:
- Assign more powerful self-hosted runners to critical repositories for faster code scanning analysis.
- Run your code scanning analyses on a particular platform (for example, macOS).
- Have granular control over the workload for your GitHub-hosted runners and self-hosted runners.
Once you've assigned custom labels to self-hosted runners, your repositories can use those runners for code scanning default setup. For more information, see Configuring default setup for a repository, earlier in this article.
You can also use security configurations to assign labels to self-hosted runners for code scanning. See Erstellen einer benutzerdefinierten Sicherheitskonfiguration.
Assigning größere Runner
To assign a größerer Runner, name the runner code-scanning. This will automatically add the code-scanning label to the größerer Runner. An organization can only have one größerer Runner with the code-scanning label, and that runner will handle all code scanning jobs from repositories within your organization with access to the runner's group. See Configuring larger runners for default setup.
Next steps
After your configuration runs successfully at least once, you can start examining and resolving code scanning alerts. For more information on code scanning alerts, see Informationen zu Codeüberprüfungswarnungen and Bewerten von Warnungen der Codeüberprüfung für das Repository.
After you've configured default setup for code scanning, you can read about evaluating how it's working for you and the next steps you can take to customize it. For more information, see Auswerten des Standardsetups für die Codeüberprüfung.
You can find detailed information about your code scanning configuration, including timestamps for each scan and the percentage of files scanned, on the tool status page. For more information, see About the tool status page for code scanning.
When you configure default setup, you may encounter an error. For information on troubleshooting specific errors, see Troubleshooting analysis errors.