About secret scanning

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

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

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 more information, see "Secret scanning partner program."

如果有人将使用已知模式的密码检入 GitHub 上的公共或私有仓库,则 秘密扫描 在该密码检入时可以捕获它,帮助您减小密码泄露的影响。 仓库管理员会收到包含密码的任何提交的通知, 然后他们可以快速查看仓库安全选项卡中所有检测到的密码。

About 秘密扫描 for public repositories

秘密扫描 is automatically enabled on public repositories. When you push to a public repository, GitHub scans the content of the commits for secrets. If you switch a private repository to public, GitHub scans the entire repository for secrets.

When 秘密扫描 detects a set of credentials, we notify the service provider who issued the secret. The service provider validates the credential and then decides whether they should revoke the secret, issue a new secret, or reach out to you directly, which will depend on the associated risks to you or the service provider. For an overview of how we work with token-issuing partners, see "Secret scanning partner program."

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

Adafruit IOAdafruit IO 密钥
AdobeAdobe 设备令牌
AdobeAdobe 服务令牌
AdobeAdobe 短暂访问令牌
AdobeAdobe JSON Web 令牌
Alibaba CloudAlibaba 云端访问密钥 ID 和访问密钥对
Amazon Web Services (AWS)Amazon AWS 访问密钥 ID 和秘密访问密钥对
AtlassianAtlassian API 令牌
AtlassianAtlassian JSON Web 令牌
AzureAzure DevOps 个人访问令牌
AzureAzure SAS 令牌
AzureAzure 服务管理证书
AzureAzure SQL 连接字符串
AzureAzure 存储账户密钥
ClojarsClojars 部署令牌
CloudBees CodeShipCloudBees CodeShip 凭据
DatabricksDatabricks 访问令牌
DatadogDatadog API 密钥
DiscordDiscord 自动程序令牌
DopplerDoppler 个人令牌
DopplerDoppler 服务令牌
DopplerDoppler CLI 令牌
DopplerDoppler SCIM 令牌
DropboxDropbox 访问令牌
DropboxDropbox 短暂访问令牌
DynatraceDynatrace 访问令牌
DynatraceDynatrace 内部令牌
FinicityFinicity App 密钥
Frame.ioFrame.io JSON Web 令牌
Frame.ioFrame.io Developer 令牌
GitHubGitHub 个人访问令牌
GitHubGitHub OAuth 访问令牌
GitHubGitHub 刷新令牌
GitHubGitHub App 安装访问令牌
GitHubGitHub SSH 私钥
GoCardlessGoCardless 实时访问令牌
GoCardlessGoCardless Sandbox 访问令牌
Google CloudGoogle API 密钥
Google CloudGoogle Cloud 私钥 ID
Hashicorp TerraformTerraform Cloud / Enterprise API 令牌
HubspotHubspot API 密钥
MailchimpMailchimp API 密钥
MailchimpMandril API 密钥
MailgunMailgun API 密钥
MessageBirdMessageBird API 密钥
npmnpm 访问令牌
NuGetNuGet API 密钥
OpenAIOpenAI API 密钥
PalantirPalantir JSON Web 令牌
PlivoPlivo 验证令牌
PostmanPostman API 密钥
ProctorioProctorio 消费者密钥
ProctorioProctorio 链接密钥
ProctorioProctorio 注册密钥
ProctorioProctorio 密钥
PulumiPulumi 访问令牌
RubyGemsRubyGems API 密钥
SamsaraSamsara API 令牌
SamsaraSamsara OAuth 访问令牌
SendGridSendGrid API Key
ShopifyShopify App 共享密钥
ShopifyShopify 访问令牌
ShopifyShopify 自定义应用访问令牌
ShopifyShopify 私人应用密码
SlackSlack API 令牌
SlackSlack 传入 web 挂钩 URL
SlackSlack 工作流程 web 挂钩 URL
SSLMateSSLMate 集群密钥
StripeStripe Live API 密钥
StripeStripe 测试 API 密钥
StripeStripe Live API 限制密钥
StripeStripe 测试 API 限制密钥
Tencent Cloud腾讯云密钥 ID
TwilioTwilio 帐户字符串标识符
TwilioTwilio API 密钥
ValourValour 访问令牌

About 秘密扫描 for private 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 repositories, or for all new repositories within your organization. 秘密扫描 is not available for user-owned private repositories. 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 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."

To monitor results from 秘密扫描 across your private repositories or your organization, you can use the 秘密扫描 API. For more information about API endpoints, see "秘密扫描."

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

合作伙伴支持的密钥API slug
Adafruit IOAdafruit IO Keyadafruit_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 CloudAlibaba Cloud Access Key IDalibaba_cloud_access_key_id
Alibaba CloudAlibaba Cloud Access Key Secretalibaba_cloud_access_key_secret
Amazon Web Services (AWS)Amazon AWS Access Key IDaws_access_key_id
Amazon Web Services (AWS)Amazon AWS Secret Access Keyaws_secret_access_key
AsanaAsana Personal Access Tokenasana_personal_access_token
AtlassianAtlassian API Tokenatlassian_api_token
AtlassianAtlassian JSON Web Tokenatlassian_jwt
AtlassianBitbucket Server Personal Access Tokenbitbucket_server_personal_access_token
AzureAzure DevOps Personal Access Tokenazure_devops_personal_access_token
AzureAzure SAS Tokenazure_sas_token
AzureAzure Service Management Certificateazure_management_certificate
AzureAzure SQL Connection Stringazure_sql_connection_string
AzureAzure Storage Account Keyazure_storage_account_key
ClojarsClojars Deploy Tokenclojars_deploy_token
CloudBees CodeShipCloudBees CodeShip Credentialcodeship_credential
DatabricksDatabricks Access Tokendatabricks_access_token
DiscordDiscord Bot Tokendiscord_bot_token
DopplerDoppler Personal Tokendoppler_personal_token
DopplerDoppler Service Tokendoppler_service_token
DopplerDoppler CLI Tokendoppler_cli_token
DopplerDoppler SCIM Tokendoppler_scim_token
DropboxDropbox Access Tokendropbox_access_token
DropboxDropbox Short Lived Access Tokendropbox_short_lived_access_token
DynatraceDynatrace Access Tokendynatrace_access_token
DynatraceDynatrace Internal Tokendynatrace_internal_token
EasyPostEasyPost Production API Keyeasypost_production_api_key
EasyPostEasyPost Test API Keyeasypost_test_api_key
FacebookFacebook Access Tokenfacebook_access_token
FastlyFastly API Tokenfastly_api_token
FinicityFinicity App Keyfinicity_app_key
Frame.ioFrame.io JSON Web Tokenframeio_jwt
Frame.ioFrame.io Developer Tokenframeio_developer_token
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
GitHubGitHub SSH Private Keygithub_ssh_private_key
GoCardlessGoCardless Live Access Tokengocardless_live_access_token
GoCardlessGoCardless Sandbox Access Tokengocardless_sandbox_access_token
Google CloudGoogle API Keygoogle_api_key
Google CloudGoogle Cloud Private Key IDgoogle_cloud_private_key_id
GrafanaGrafana API Keygrafana_api_key
Hashicorp TerraformTerraform Cloud / Enterprise API Tokenterraform_api_token
HubspotHubspot API Keyhubspot_api_key
IntercomIntercom Access Tokenintercom_access_token
LobLob Live API Keylob_live_api_key
LobLob Test API Keylob_test_api_key
MailchimpMailchimp API Keymailchimp_api_key
MailgunMailgun API Keymailgun_api_key
MessageBirdMessageBird API Keymessagebird_api_key
npmnpm Access Tokennpm_access_token
NuGetNuGet API Keynuget_api_key
OnfidoOnfido Live API Tokenonfido_live_api_token
OnfidoOnfido Sandbox API Tokenonfido_sandbox_api_token
OpenAIOpenAI API Keyopenai_api_key
PalantirPalantir JSON Web Tokenpalantir_jwt
PostmanPostman API Keypostman_api_key
ProctorioProctorio Consumer Keyproctorio_consumer_key
ProctorioProctorio Linkage Keyproctorio_linkage_key
ProctorioProctorio Registration Keyproctorio_registration_key
ProctorioProctorio Secret Keyproctorio_secret_key
PulumiPulumi Access Tokenpulumi_access_token
PyPIPyPI API Tokenpypi_api_token
RubyGemsRubyGems API Keyrubygems_api_key
SamsaraSamsara API Tokensamsara_api_token
SamsaraSamsara OAuth Access Tokensamsara_oauth_access_token
SendGridSendGrid API Keysendgrid_api_key
ShippoShippo Live API Tokenshippo_live_api_token
ShippoShippo Test API Tokenshippo_test_api_token
ShopifyShopify App Shared Secretshopify_app_shared_secret
ShopifyShopify Access Tokenshopify_access_token
ShopifyShopify Custom App Access Tokenshopify_custom_app_access_token
ShopifyShopify Private App Passwordshopify_private_app_password
SlackSlack API Tokenslack_api_token
SlackSlack Incoming Webhook URLslack_incoming_webhook_url
SlackSlack Workflow Webhook URLslack_workflow_webhook_url
SSLMateSSLMate API Keysslmate_api_key
SSLMateSSLMate Cluster Secretsslmate_cluster_secret
StripeStripe API Keystripe_api_key
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
TableauTableau Personal Access Tokentableau_personal_access_token
TelegramTelegram Bot Tokentelegram_bot_token
Tencent CloudTencent Cloud Secret IDtencent_cloud_secret_id
TwilioTwilio Account String Identifiertwilio_account_sid
TwilioTwilio API Keytwilio_api_key

Further reading



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


或, 了解如何参与。