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 any secrets. Service providers can partner with GitHub to provide their secret formats for scanning. For details of the supported secrets and service providers, see "秘密扫描 partners."
To find out about our partner program, see "秘密扫描 partner program."
秘密扫描 is automatically enabled on public repositories. When you push to a public repository, GitHub Enterprise Cloud scans the content of the commits for secrets.
When 秘密扫描 detects a potential secret, we notify the service provider who issued the secret. The service provider validates the string and then decides whether they should revoke the secret, issue a new secret, or contact you directly. Their action will depend on the associated risks to you or them.
You cannot change the configuration of 秘密扫描 on public repositories.
If you're a repository administrator or an organization owner, you can enable 秘密扫描 for private repositories that are owned by organizations. You can enable 秘密扫描 for all your organization's repositories, or for all new repositories within your organization. 秘密扫描 is not available for private repositories owned by user accounts. 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 秘密扫描."
When you push commits to a private repository with 秘密扫描 enabled, GitHub scans the contents of the commits for secrets.
When 秘密扫描 detects a secret in a private repository, 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 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 private repositories. For more information about API endpoints, see "秘密扫描."