About secret scanning

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

秘密扫描 适用于启用了 GitHub Advanced Security 的组织拥有的仓库。 更多信息请参阅“关于 GitHub Advanced Security”。

注意:组织拥有的仓库的 秘密扫描 目前处于公测阶段,可能会有变动。

If you're using an earlier version of GitHub Enterprise Server, you'll have to upgrade to use 秘密扫描. For more information about upgrading your GitHub Enterprise Server instance, see "About upgrades to new releases" and refer to the Upgrade assistant to find the upgrade path from your current release version.

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.

If someone checks a secret with a known pattern into a repository on GitHub AE, 秘密扫描 catches the secret as it's checked in, and helps you mitigate the impact of the leak. Repository administrators are notified about any commit that contains a secret, and they can quickly view all detected secrets in the Security tab for the repository.

About 秘密扫描 on GitHub AE

秘密扫描 is available on all organization-owned repositories as part of GitHub Advanced Security. It is not available on user-owned repositories.

If you're a repository administrator or an organization owner, you can enable 秘密扫描 for repositories that are owned by organizations. You can enable 秘密扫描 for all your repositories, or for all new repositories within your 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 that only apply to your repository or organization. For more information, see "Defining custom patterns for 秘密扫描."

When you push commits to a repository with 秘密扫描 enabled, GitHub scans the contents of the commits for secrets.

When 秘密扫描 detects a secret in a 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."

List of supported secrets

GitHub currently scans repositories for secrets issued by the following service providers.

Provider支持的密钥API slug
Adafruit IOAdafruit IO 密钥adafruit_io_key
AdobeAdobe Device Tokenadobe_device_token
AdobeAdobe Service Tokenadobe_service_token
AdobeAdobe Short-Lived Access Tokenadobe_short_lived_access_token
AdobeAdobe JSON Web Tokenadobe_jwt Alibaba Cloud
AsanaAsana Personal Access Tokenasana_personal_access_token Atlassian
AtlassianBitbucket Server Personal Access Tokenbitbucket_server_personal_access_token Azure
AzureAzure SQL Connection Stringazure_sql_connection_string Azure
Checkout.comCheckout.com Production Secret Keycheckout_production_secret_key
Checkout.comCheckout.com Test Secret Keycheckout_test_secret_key Clojars
CloudBees CodeShipCloudBees CodeShip Credentialcodeship_credential Databricks
DopplerDoppler Personal Tokendoppler_personal_token
DopplerDoppler Service Tokendoppler_service_token
DopplerDoppler CLI Tokendoppler_cli_token
DopplerDoppler SCIM Tokendoppler_scim_token
DopplerDoppler Audit Tokendoppler_audit_token Dropbox
DuffelDuffel Live Access Tokenduffel_live_access_token
DuffelDuffel Test Access Tokenduffel_test_access_token
DynatraceDynatrace Access Tokendynatrace_access_token Dynatrace
EasyPostEasyPost Production API Keyeasypost_production_api_key
EasyPostEasyPost Test API Keyeasypost_test_api_key
FastlyFastly API Tokenfastly_api_token Finicity
FlutterwaveFlutterwave Live API Secret Keyflutterwave_live_api_secret_key
FlutterwaveFlutterwave Test API Secret Keyflutterwave_test_api_secret_key Frame.io
GitHubGitHub Personal Access Tokengithub_personal_access_token
GitHubGitHub OAuth Access Tokengithub_oauth_access_token
GitHubGitHub Refresh Tokengithub_refresh_token
GitHubGitHub App Installation Access Tokengithub_app_installation_access_token GitHub
GrafanaGrafana API Keygrafana_api_key HashiCorp
IntercomIntercom Access Tokenintercom_access_token
IonicIonic Personal Access Tokenionic_personal_access_token
IonicIonic Refresh Tokenionic_refresh_token
LinearLinear API Keylinear_api_key
LinearLinear OAuth Access Tokenlinear_oauth_access_token
LobLob Live API Keylob_live_api_key
LobLob Test API Keylob_test_api_key Mailchimp
MessageBirdMessageBird API Keymessagebird_api_key
MetaFacebook Access Tokenfacebook_access_token npm
OnfidoOnfido Live API Tokenonfido_live_api_token
OnfidoOnfido Sandbox API Tokenonfido_sandbox_api_token
OpenAIOpenAI API Keyopenai_api_key Palantir
PyPIPyPI API Tokenpypi_api_token
RubyGemsRubyGems API Keyrubygems_api_key Samsara
SendGridSendGrid API Keysendgrid_api_key
ShippoShippo Live API Tokenshippo_live_api_token
ShippoShippo Test API Tokenshippo_test_api_token Shopify
StripeStripe Live API Secret Keystripe_live_secret_key
StripeStripe Test API Secret Keystripe_test_secret_key
StripeStripe Live API Restricted Keystripe_live_restricted_key
StripeStripe Test API Restricted Keystripe_test_restricted_key
StripeStripe Webhook Signing Secretstripe_webhook_signing_secret Tableau
TelegramTelegram Bot Tokentelegram_bot_token Tencent Cloud

Note: 秘密扫描 does not currently allow you to define your own patterns for detecting secrets.

Further reading

此文档对您有帮助吗?

隐私政策

帮助我们创建出色的文档!

所有 GitHub 文档都是开源的。看到错误或不清楚的内容了吗?提交拉取请求。

做出贡献

或者, 了解如何参与。