注:组织拥有的私有仓库的 秘密扫描 目前处于测试阶段,可能会更改。
如果项目与外部服务通信,您可能使用令牌或私钥进行身份验证。 令牌和私钥是服务提供商可以签发的典型密码。 如果将密码检入仓库,则对仓库具有读取权限的任何人都可以使用该密码以您的权限访问外部服务。 建议将密码存储在项目仓库外部专用的安全位置。 服务提供者可以与
GitHub 合作提供其用于扫描的密码格式。 更多信息请参阅“密码扫描”。
If someone checks a secret from a GitHub partner into a public or private repository on GitHub, 秘密扫描 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.
关于公共仓库的 秘密扫描
秘密扫描 自动对公共仓库启用。 当您推送到公共仓库时,GitHub 会扫描提交的内容中是否有密码。 如果将私有仓库切换到公共仓库,GitHub 会扫描整个仓库中的密码。
当 秘密扫描 检测一组凭据时,我们会通知发布密码的服务提供商。 服务提供商会验证该凭据,然后决定是否应撤销密钥、颁发新密钥或直接与您联系,具体取决于与您或服务提供商相关的风险。 有关如何使用令牌颁发合作伙伴的概述,请参阅“密码扫描”。
GitHub 当前会扫描公共仓库,查找以下服务提供商发布的密码。
Partner | Supported secret |
---|---|
Adafruit IO | Adafruit IO Key |
Alibaba Cloud | Alibaba Cloud Access Key ID and Access Key Secret pair |
Amazon Web Services (AWS) | Amazon AWS Access Key ID and Secret Access Key pair |
Atlassian | Atlassian API Token |
Atlassian | Atlassian JSON Web Token |
Azure | Azure DevOps Personal Access Token |
Azure | Azure SAS Token |
Azure | Azure Service Management Certificate |
Azure | Azure SQL Connection String |
Azure | Azure Storage Account Key |
Clojars | Clojars Deploy Token |
CloudBees CodeShip | CloudBees CodeShip Credential |
Databricks | Databricks Access Token |
Datadog | Datadog API Key |
Discord | Discord Bot Token |
Doppler | Doppler Personal Token |
Doppler | Doppler Service Token |
Doppler | Doppler CLI Token |
Doppler | Doppler SCIM Token |
Dropbox | Dropbox Access Token |
Dropbox | Dropbox Short Lived Access Token |
Dynatrace | Dynatrace Access Token |
Dynatrace | Dynatrace Internal Token |
Finicity | Finicity App Key |
Frame.io | Frame.io JSON Web Token |
Frame.io | Frame.io Developer Token |
GitHub | GitHub SSH Private Key |
GitHub | GitHub Personal Access Token |
GitHub | GitHub App Installation Access Token |
GoCardless | GoCardless Live Access Token |
GoCardless | GoCardless Sandbox Access Token |
Google Cloud | Google API Key |
Google Cloud | Google Cloud Private Key ID |
Hashicorp Terraform | Terraform Cloud / Enterprise API Token |
Hubspot | Hubspot API Key |
Mailchimp | Mailchimp API Key |
Mailchimp | Mandrill API Key |
Mailgun | Mailgun API Key |
MessageBird | MessageBird API Key |
npm | npm Access Token |
NuGet | NuGet API Key |
Palantir | Palantir JSON Web Token |
Plivo | Plivo Auth Token |
Postman | Postman API Key |
Proctorio | Proctorio Consumer Key |
Proctorio | Proctorio Linkage Key |
Proctorio | Proctorio Registration Key |
Proctorio | Proctorio Secret Key |
Pulumi | Pulumi Access Token |
Samsara | Samsara API Token |
Samsara | Samsara OAuth Access Token |
Shopify | Shopify App Shared Secret |
Shopify | Shopify Access Token |
Shopify | Shopify Custom App Access Token |
Shopify | Shopify Private App Password |
Slack | Slack API Token |
Slack | Slack Incoming Webhook URL |
Slack | Slack Workflow Webhook URL |
SSLMate | SSLMate API Key |
SSLMate | SSLMate Cluster Secret |
Stripe | Stripe Live API Secret Key |
Stripe | Stripe Test API Secret Key |
Stripe | Stripe Live API Restricted Key |
Stripe | Stripe Test API Restricted Key |
Tencent Cloud | Tencent Cloud Secret ID |
Twilio | Twilio Account String Identifier |
Twilio | Twilio API Key |
关于私有仓库的 秘密扫描
如果您是仓库管理员或组织所有者,您可以为组织拥有的私有仓库启用 秘密扫描。 您可以对您的所有仓库或您组织内的所有新仓库启用 秘密扫描。秘密扫描 不适用于用户拥有的私有仓库。更多信息请参阅“管理仓库的安全和分析设置”和“管理组织的安全和分析设置”。
将提交推送到启用了 秘密扫描 的私有仓库时,GitHub 会扫描提交的内容中是否有密码。
当 秘密扫描 在私有仓库中检测到密码时,GitHub 会发送警报。
-
GitHub 向仓库管理员和组织所有者发送电子邮件警报。
-
GitHub 在仓库中显示警报。 更多信息请参阅“管理来自 秘密扫描 的警报”。
仓库管理员和组织所有者可以授权用户和团队访问 秘密扫描 警报。 更多信息请参阅“管理仓库的安全和分析设置”。
要监控 私有仓库或组织的 秘密扫描 结果,您可以使用 秘密扫描 API。 有关 API 端点的更多信息,请参阅“秘密扫描”。
GitHub 目前扫描私有仓库,以检查由以下服务提供者颁发的密码。
Partner | Supported secret | API slug |
---|---|---|
n/a | JSON Web Token | json_web_token |
n/a | OAuth Client Credential | api_credential_assignment |
Adafruit IO | Adafruit IO Key | adafruit_io_key |
Alibaba Cloud | Alibaba Cloud Access Key ID | alibaba_cloud_access_key_id |
Alibaba Cloud | Alibaba Cloud Access Key Secret | alibaba_cloud_access_key_secret |
Amazon Web Services (AWS) | Amazon AWS Access Key ID | aws_access_key_id |
Amazon Web Services (AWS) | Amazon AWS Secret Access Key | aws_secret_access_key |
Atlassian | Atlassian API Token | atlassian_api_token |
Atlassian | Atlassian JSON Web Token | atlassian_jwt |
Azure | Azure DevOps Personal Access Token | azure_devops_personal_access_token |
Azure | Azure SAS Token | azure_sas_token |
Azure | Azure Service Management Certificate | azure_management_certificate |
Azure | Azure SQL Connection String | azure_sql_connection_string |
Azure | Azure Storage Account Key | azure_storage_account_key |
Clojars | Clojars Deploy Token | clojars_deploy_token |
CloudBees CodeShip | CloudBees CodeShip Credential | codeship_credential |
Databricks | Databricks Access Token | databricks_access_token |
Discord | Discord Bot Token | discord_bot_token |
Doppler | Doppler Personal Token | doppler_personal_token |
Doppler | Doppler Service Token | doppler_service_token |
Doppler | Doppler CLI Token | doppler_cli_token |
Doppler | Doppler SCIM Token | doppler_scim_token |
Dropbox | Dropbox Access Token | dropbox_access_token |
Dropbox | Dropbox Short Lived Access Token | dropbox_short_lived_access_token |
Dynatrace | Dynatrace Access Token | dynatrace_access_token |
Dynatrace | Dynatrace Internal Token | dynatrace_internal_token |
Finicity | Finicity App Key | finicity_app_key |
Frame.io | Frame.io JSON Web Token | frameio_jwt |
Frame.io | Frame.io Developer Token | frameio_developer_token |
GitHub | GitHub SSH Private Key | github_ssh_private_key |
GitHub | GitHub Personal Access Token | github_personal_access_token |
GitHub | GitHub App Installation Access Token | github_app_installation_access_token |
GoCardless | GoCardless Live Access Token | gocardless_live_access_token |
GoCardless | GoCardless Sandbox Access Token | gocardless_sandbox_access_token |
Google Cloud | Google API Key | google_api_key |
Google Cloud | Google Cloud Private Key ID | google_cloud_private_key_id |
Hashicorp Terraform | Terraform Cloud / Enterprise API Token | terraform_api_token |
Hubspot | Hubspot API Key | hubspot_api_key |
Mailchimp | Mailchimp API Key | mailchimp_api_key |
Mailgun | Mailgun API Key | mailgun_api_key |
npm | npm Access Token | npm_access_token |
NuGet | NuGet API Key | nuget_api_key |
Palantir | Palantir JSON Web Token | palantir_jwt |
Postman | Postman API Key | postman_api_key |
Proctorio | Proctorio Consumer Key | proctorio_consumer_key |
Proctorio | Proctorio Linkage Key | proctorio_linkage_key |
Proctorio | Proctorio Registration Key | proctorio_registration_key |
Proctorio | Proctorio Secret Key | proctorio_secret_key |
Pulumi | Pulumi Access Token | pulumi_access_token |
Samsara | Samsara API Token | samsara_api_token |
Samsara | Samsara OAuth Access Token | samsara_oauth_access_token |
Shopify | Shopify App Shared Secret | shopify_app_shared_secret |
Shopify | Shopify Access Token | shopify_access_token |
Shopify | Shopify Custom App Access Token | shopify_custom_app_access_token |
Shopify | Shopify Private App Password | shopify_private_app_password |
Slack | Slack API Token | slack_api_token |
Slack | Slack Incoming Webhook URL | slack_incoming_webhook_url |
Slack | Slack Workflow Webhook URL | slack_workflow_webhook_url |
SSLMate | SSLMate API Key | sslmate_api_key |
SSLMate | SSLMate Cluster Secret | sslmate_cluster_secret |
Stripe | Stripe API Key | stripe_api_key |
Stripe | Stripe Live API Secret Key | stripe_live_secret_key |
Stripe | Stripe Test API Secret Key | stripe_test_secret_key |
Stripe | Stripe Live API Restricted Key | stripe_live_restricted_key |
Stripe | Stripe Test API Restricted Key | stripe_test_restricted_key |
Tencent Cloud | Tencent Cloud Secret ID | tencent_cloud_secret_id |
Twilio | Twilio Account String Identifier | twilio_account_sid |
Twilio | Twilio API Key | twilio_api_key |
注: 秘密扫描 当前不允许定义自己的模式来检测密码。