注意:组织拥有的仓库的 秘密扫描 目前处于公测阶段,可能会有变动。
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 IO | Adafruit IO 密钥 | adafruit_io_key |
| Adobe | Adobe Device Token | adobe_device_token |
| Adobe | Adobe Service Token | adobe_service_token |
| Adobe | Adobe Short-Lived Access Token | adobe_short_lived_access_token |
| Adobe | Adobe JSON Web Token | adobe_jwt Alibaba Cloud |
| Asana | Asana Personal Access Token | asana_personal_access_token Atlassian |
| Atlassian | Bitbucket Server Personal Access Token | bitbucket_server_personal_access_token Azure |
| Azure | Azure SQL Connection String | azure_sql_connection_string Azure |
| Checkout.com | Checkout.com Production Secret Key | checkout_production_secret_key |
| Checkout.com | Checkout.com Test Secret Key | checkout_test_secret_key Clojars |
| CloudBees CodeShip | CloudBees CodeShip Credential | codeship_credential Databricks |
| 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 |
| Doppler | Doppler Audit Token | doppler_audit_token Dropbox |
| Duffel | Duffel Live Access Token | duffel_live_access_token |
| Duffel | Duffel Test Access Token | duffel_test_access_token |
| Dynatrace | Dynatrace Access Token | dynatrace_access_token Dynatrace |
| EasyPost | EasyPost Production API Key | easypost_production_api_key |
| EasyPost | EasyPost Test API Key | easypost_test_api_key |
| Fastly | Fastly API Token | fastly_api_token Finicity |
| Flutterwave | Flutterwave Live API Secret Key | flutterwave_live_api_secret_key |
| Flutterwave | Flutterwave Test API Secret Key | flutterwave_test_api_secret_key Frame.io |
| GitHub | GitHub Personal Access Token | github_personal_access_token |
| GitHub | GitHub OAuth Access Token | github_oauth_access_token |
| GitHub | GitHub Refresh Token | github_refresh_token |
| GitHub | GitHub App Installation Access Token | github_app_installation_access_token GitHub |
| Grafana | Grafana API Key | grafana_api_key HashiCorp |
| Intercom | Intercom Access Token | intercom_access_token |
| Ionic | Ionic Personal Access Token | ionic_personal_access_token |
| Ionic | Ionic Refresh Token | ionic_refresh_token |
| Linear | Linear API Key | linear_api_key |
| Linear | Linear OAuth Access Token | linear_oauth_access_token |
| Lob | Lob Live API Key | lob_live_api_key |
| Lob | Lob Test API Key | lob_test_api_key Mailchimp |
| MessageBird | MessageBird API Key | messagebird_api_key |
| Meta | Facebook Access Token | facebook_access_token npm |
| Onfido | Onfido Live API Token | onfido_live_api_token |
| Onfido | Onfido Sandbox API Token | onfido_sandbox_api_token |
| OpenAI | OpenAI API Key | openai_api_key Palantir |
| PyPI | PyPI API Token | pypi_api_token |
| RubyGems | RubyGems API Key | rubygems_api_key Samsara |
| SendGrid | SendGrid API Key | sendgrid_api_key |
| Shippo | Shippo Live API Token | shippo_live_api_token |
| Shippo | Shippo Test API Token | shippo_test_api_token Shopify |
| 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 |
| Stripe | Stripe Webhook Signing Secret | stripe_webhook_signing_secret Tableau |
| Telegram | Telegram Bot Token | telegram_bot_token Tencent Cloud |
Note: 秘密扫描 does not currently allow you to define your own patterns for detecting secrets.