Skip to main content

About secret scanning

GitHub Enterprise Server scans repositories for known types of secrets, to prevent fraudulent use of secrets that were committed accidentally.

秘密扫描 is available for organization-owned repositories in GitHub Enterprise Server if your enterprise has a license for GitHub Advanced Security. For more information, see "GitHub's products."

Note: Your site administrator must enable 秘密扫描 for 您的 GitHub Enterprise Server 实例 before you can use this feature. For more information, see "Configuring 秘密扫描 for your appliance."

About 秘密扫描

If your project communicates with an external service, you might use a token or private key for authentication. Tokens and private keys are examples of secrets that a service provider can issue. If you check a secret into a repository, anyone who has read access to the repository can use the secret to access the external service with your privileges. We recommend that you store secrets in a dedicated, secure location outside of the repository for your project.

秘密扫描 will scan your entire Git history on all branches present in your GitHub repository for secrets, even if the repository is archived.

Service providers can partner with GitHub to provide their secret formats for scanning. To find out about our partner program, see "秘密扫描 partner program" in the GitHub Enterprise Cloud documentation.

You can also enable 秘密扫描 as a push protection for a repository or an organization. When you enable this feature, 秘密扫描 prevents contributors from pushing code with a detected secret. To proceed, contributors must either remove the secret(s) from the push or, if needed, bypass the protection. For more information, see "Protecting pushes with 秘密扫描."

About 秘密扫描 on GitHub Enterprise Server

秘密扫描 is available on all organization-owned repositories as part of GitHub Advanced Security. It is not available on user-owned repositories. When you enable 秘密扫描 for a repository, GitHub scans the code for patterns that match secrets used by many service providers. For more information, see "秘密扫描 patterns."

If you're a repository administrator you can enable > - 秘密扫描 for any repository, including archived repositories. Organization owners can also enable > - 秘密扫描 for all repositories or for all new repositories within an organization. For more information, see "Managing security and analysis settings for your repository" and "Managing security and analysis settings for your organization."

You can also define custom 秘密扫描 patterns for a repository, organization, or enterprise. For more information, see "Defining custom patterns for 秘密扫描."

About 秘密扫描 alerts

When you push commits to a repository with 秘密扫描 enabled, GitHub scans the contents of those commits for secrets that match patterns defined by service providers and any custom patterns defined in your enterprise, organization, or repository.

If 秘密扫描 detects a secret, GitHub generates an alert.

  • GitHub sends an email alert to the repository administrators and organization owners.

  • GitHub sends an email alert to the contributor who committed the secret to the repository, with a link to the related 秘密扫描 alert. The commit author can then view the alert in the repository, and resolve the alert.

  • GitHub displays an alert in the "Security" tab of the repository.

For more information about viewing and resolving 秘密扫描 alerts, see "Managing alerts from 秘密扫描."

Repository administrators and organization owners can grant users and teams access to 秘密扫描 alerts. For more information, see "Managing security and analysis settings for your repository."

You can use the security overview to see an organization-level view of which repositories have enabled 秘密扫描 and the alerts found. For more information, see "Viewing the security overview." You can also use the REST API to monitor results from 秘密扫描 across your repositories or your organization. For more information about API endpoints, see "秘密扫描."

Further reading