关于 secret scanning 模式
GitHub 维护这些不同的默认 secret scanning 模式:
-
合作伙伴模式。 用于检测所有公共存储库和公共 npm 包中的潜在机密。要了解我们的合作伙伴计划,请参阅“密码扫描合作伙伴计划”。
-
用户警报模式。 用于检测启用了 用户的机密扫描警报 的公共存储库中的潜在机密。
-
推送保护模式。 用于检测启用了作为推送保护的 secret scanning 的存储库中的潜在机密。
公共存储库所有者,以及同时使用 GitHub Enterprise Cloud 和 GitHub Advanced Security 的组织可以在其存储库上启用 用户的机密扫描警报。
有关所有受支持的模式的详细信息,请参阅下面的“支持的机密”部分。
如果你认为 secret scanning 应检测到提交到存储库的机密,但却尚未检测到,则首先需要检查 GitHub 是否支持你的机密。 有关详细信息,请参阅以下部分。 有关高级故障排除的详细信息,请参阅“排查机密扫描问题”。
关于合作伙伴警报
合作伙伴警报是在机密提供商的机密之一被报告发生泄漏时发送给机密提供商的警报。 GitHub 当前扫描公共存储库和公共 npm 包,以查找由特定服务提供商颁发的机密,并在提交中检测到机密时向相关服务提供商发出警报。 有关 合作伙伴的机密扫描警报 的详细信息,请参阅“关于机密扫描”。
如果访问资源需要配对的凭据,则只有在同一文件中检测到该配对的两个凭据时,机密扫描才会创建警报。 这可确保最关键的泄漏不会隐藏在有关部分泄漏的信息后面。 对匹配还有助于减少误报,因为对的两个元素必须一起使用才能访问提供商的资源。
关于用户 警报
用户警报是针对 GitHub 向用户报告的警报。 当 用户的机密扫描警报 启用时,GitHub 会扫描存储库中多种服务提供商发布的机密,并生成 机密扫描警报。
可以在存储库的“安全性”选项卡上看到这些警报。 有关 用户的机密扫描警报 的详细信息,请参阅“关于机密扫描”。
如果访问资源需要配对的凭据,则只有在同一文件中检测到该配对的两个凭据时,机密扫描才会创建警报。 这可确保最关键的泄漏不会隐藏在有关部分泄漏的信息后面。 对匹配还有助于减少误报,因为对的两个元素必须一起使用才能访问提供商的资源。
如果使用 REST API 进行机密扫描,可以使用 Secret type
报告来自特定颁发者的机密。 有关详细信息,请参阅“机密扫描”。
关于推送保护警报
推送保护警报是推送保护报告的用户警报。 Secret scanning 作为推送保护,当前扫描存储库,查找部分服务提供商发布的机密。
对于仅通过基于用户的推送保护绕过的机密,不会创建推送保护警报。 有关详细信息,请参阅“用户的推送保护”。
如果访问资源需要配对的凭据,则只有在同一文件中检测到该配对的两个凭据时,机密扫描才会创建警报。 这可确保最关键的泄漏不会隐藏在有关部分泄漏的信息后面。 对匹配还有助于减少误报,因为对的两个元素必须一起使用才能访问提供商的资源。
推送保护可能不支持某些旧版令牌,因为这些令牌生成的误报数可能高于其最新版本。 推送保护也可能不适用于旧令牌。 对于 Azure 存储密钥等令牌,GitHub 仅支持“最近创建”令牌,不支持与旧模式匹配的令牌。 有关推送保护限制的详细信息,请参阅“排查机密扫描问题”。
支持的机密
下表列出了 secret scanning 支持的机密。 可以查看为每个令牌生成的警报类型,以及是否对令牌执行验证检查。
- 提供商 - 令牌提供商的名称。
- 合作伙伴 - 将泄漏报告给相关令牌合作伙伴的令牌。 仅适用于公共存储库。
- 用户 - 向 GitHub 上的用户报告泄漏的令牌。 适用于公共存储库,以及启用了 GitHub Advanced Security 的专用存储库。
- 推送保护 - 向 GitHub 上的用户报告泄漏的令牌。 适用于启用了 secret scanning 和推送保护的存储库。
- 验证检查 - 实现其验证检查的令牌。 当前仅适用于 GitHub 令牌,未在表格中显示。 有关验证检查支持的详细信息,请参阅 GitHub Enterprise Cloud 文档中的“机密扫描模式”。
提供程序 | 标记 | Partner | 用户 | 推送保护 |
---|---|---|---|---|
Adafruit IO | adafruit_io_key | |||
Adobe | adobe_client_secret | |||
Adobe | adobe_device_token | |||
Adobe | adobe_pac_token | |||
Adobe | adobe_refresh_token | |||
Adobe | adobe_service_token | |||
Adobe | adobe_short_lived_access_token | |||
Aiven | aiven_auth_token | |||
Aiven | aiven_service_password | |||
Alibaba Cloud | alibaba_cloud_access_key_id alibaba_cloud_access_key_secret | |||
Login with Amazon | amazon_oauth_client_id amazon_oauth_client_secret | |||
Amazon Web Services (AWS) | aws_access_key_id aws_secret_access_key | |||
Amazon Web Services (AWS) | aws_session_token aws_temporary_access_key_id aws_secret_access_key | |||
Asana | asana_personal_access_token | |||
Atlassian | atlassian_api_token | |||
Atlassian | atlassian_jwt | |||
Atlassian | bitbucket_server_personal_access_token | |||
Authress | authress_service_client_access_key | |||
Azure | azure_active_directory_application_secret | |||
Azure | azure_batch_key_identifiable | |||
Azure | azure_cache_for_redis_access_key | |||
Azure | azure_container_registry_key_identifiable | |||
Azure | azure_cosmosdb_key_identifiable | |||
Azure | azure_devops_personal_access_token | |||
Azure | azure_function_key | |||
Azure | azure_ml_web_service_classic_identifiable_key | |||
Azure | azure_sas_token | |||
Azure | azure_search_admin_key | |||
Azure | azure_search_query_key | |||
Azure | azure_management_certificate | |||
Azure | azure_sql_connection_string | |||
Azure | azure_sql_password | |||
Azure | azure_storage_account_key | |||
Baidu | baiducloud_api_accesskey | |||
Beamer | beamer_api_key | |||
Canadian Digital Service | cds_canada_notify_api_key | |||
Checkout.com | checkout_production_secret_key | |||
Checkout.com | checkout_test_secret_key | |||
Chief Tools | chief_tools_token | |||
Clojars | clojars_deploy_token | |||
CloudBees CodeShip | codeship_credential | |||
Contentful | contentful_personal_access_token | |||
Contributed Systems | CONTRIBUTED_SYSTEMS_CREDENTIALS | |||
crates.io (Rust Foundation) | cratesio_api_token | |||
Databricks | databricks_access_token | |||
Datadog | DATADOG_API_KEY | |||
Defined | defined_networking_nebula_api_key | |||
DevCycle | devcycle_client_api_key | |||
DevCycle | devcycle_mobile_api_key | |||
DevCycle | devcycle_server_api_key | |||
DigitalOcean | digitalocean_oauth_token | |||
DigitalOcean | digitalocean_personal_access_token | |||
DigitalOcean | digitalocean_refresh_token | |||
DigitalOcean | digitalocean_system_token | |||
Discord | discord_api_token_v2 | |||
Discord | discord_bot_token | |||
Doppler | doppler_audit_token | |||
Doppler | doppler_cli_token | |||
Doppler | doppler_personal_token | |||
Doppler | doppler_scim_token | |||
Doppler | doppler_service_token | |||
Doppler | doppler_service_account_token | |||
Dropbox | dropbox_access_token | |||
Dropbox | dropbox_short_lived_access_token | |||
Duffel | duffel_live_access_token | |||
Duffel | duffel_test_access_token | |||
Dynatrace | dynatrace_access_token | |||
Dynatrace | dynatrace_internal_token | |||
EasyPost | easypost_production_api_key | |||
EasyPost | easypost_test_api_key | |||
eBay | ebay_production_client_id ebay_production_client_secret | |||
eBay | ebay_sandbox_client_id ebay_sandbox_client_secret | |||
Fastly | fastly_api_token | |||
Figma | figma_pat | |||
Finicity | finicity_app_key | |||
Flutterwave | flutterwave_live_api_secret_key | |||
Flutterwave | flutterwave_test_api_secret_key | |||
Frame.io | frameio_developer_token | |||
Frame.io | frameio_jwt | |||
FullStory | fullstory_api_key | |||
GitHub | github_app_installation_access_token | |||
GitHub | github_oauth_access_token | |||
GitHub | github_personal_access_token | |||
GitHub | github_refresh_token | |||
GitHub | github_ssh_private_key | |||
GitLab | gitlab_access_token | |||
GoCardless | gocardless_live_access_token | |||
GoCardless | gocardless_sandbox_access_token | |||
firebase_cloud_messaging_server_key | ||||
google_cloud_storage_service_account_access_key_id google_cloud_storage_access_key_secret | ||||
google_cloud_storage_user_access_key_id google_cloud_storage_access_key_secret | ||||
google_oauth_access_token | ||||
google_oauth_client_id google_oauth_client_secret | ||||
google_oauth_refresh_token | ||||
Google Cloud | google_api_key | |||
Google Cloud | google_cloud_private_key_id | |||
Grafana | grafana_cloud_api_key | |||
Grafana | grafana_cloud_api_token | |||
Grafana | grafana_project_api_key | |||
Grafana | grafana_project_service_account_token | |||
HashiCorp | hashicorp_vault_batch_token | |||
HashiCorp | hashicorp_vault_root_service_token | |||
HashiCorp | hashicorp_vault_service_token | |||
Hashicorp Terraform | terraform_api_token | |||
Highnote | highnote_rk_live_key | |||
Highnote | highnote_rk_test_key | |||
Highnote | highnote_sk_live_key | |||
Highnote | highnote_sk_test_key | |||
Hop | hop_bearer | |||
Hop | hop_pat | |||
Hop | hop_ptk | |||
Hubspot | hubspot_api_key | |||
Hubspot | hubspot_api_personal_access_key | |||
Intercom | intercom_access_token | |||
Ionic | ionic_personal_access_token | |||
Ionic | ionic_refresh_token | |||
JD Cloud | jd_cloud_access_key | |||
JFrog | jfrog_platform_access_token | |||
JFrog | jfrog_platform_api_key | |||
JFrog | jfrog_platform_reference_token | |||
Linear | linear_api_key | |||
Linear | linear_oauth_access_token | |||
Lob | lob_live_api_key | |||
Lob | lob_test_api_key | |||
LocalStack | localstack_api_key | |||
LogicMonitor | logicmonitor_bearer_token | |||
LogicMonitor | logicmonitor_lmv1_access_key | |||
Mailchimp | mailchimp_api_key | |||
Mailchimp | MANDRILL_API | |||
Mailgun | mailgun_api_key | |||
Mapbox | mapbox_secret_access_token | |||
Maxmind | maxmind_license_key | |||
Mercury | mercury_non_production_api_token | |||
Mercury | mercury_production_api_token | |||
MessageBird | messagebird_api_key | |||
Meta | facebook_access_token | |||
Midtrans | midtrans_production_server_key | |||
Midtrans | midtrans_sandbox_server_key | |||
New Relic | new_relic_insights_query_key | |||
New Relic | new_relic_license_key | |||
New Relic | new_relic_personal_api_key | |||
New Relic | new_relic_rest_api_key | |||
Notion | notion_integration_token | |||
Notion | notion_oauth_client_secret | |||
npm | npm_access_token | |||
NuGet | nuget_api_key | |||
Octopus Deploy | octopus_deploy_api_key | |||
Oculus | oculus_very_tiny_encrypted_session | |||
OneChronos | onechronos_api_key | |||
OneChronos | onechronos_eb_api_key | |||
OneChronos | onechronos_eb_encryption_key | |||
OneChronos | onechronos_oauth_token | |||
OneChronos | onechronos_refresh_token | |||
Onfido | onfido_live_api_token | |||
Onfido | onfido_sandbox_api_token | |||
OpenAI | openai_api_key | |||
OpenAI | openai_api_key_v2 | |||
Palantir | palantir_jwt | |||
Persona | persona_production_api_key | |||
Persona | persona_sandbox_api_key | |||
pinterest_access_token | ||||
pinterest_refresh_token | ||||
PlanetScale | planetscale_database_password | |||
PlanetScale | planetscale_oauth_token | |||
PlanetScale | planetscale_service_token | |||
Plivo | plivo_auth_id plivo_auth_token | |||
Postman | postman_api_key | |||
Postman | postman_collection_key | |||
Prefect | prefect_server_api_key | |||
Prefect | prefect_user_api_key | |||
Prefect | PREFECT_USER_API_TOKEN | |||
Proctorio | proctorio_consumer_key | |||
Proctorio | proctorio_linkage_key | |||
Proctorio | proctorio_registration_key | |||
Proctorio | proctorio_secret_key | |||
Pulumi | pulumi_access_token | |||
PyPI | pypi_api_token | |||
ReadMe | readmeio_api_access_token | |||
redirect.pizza | redirect_pizza_api_token | |||
Rootly | rootly_api_key | |||
RubyGems | rubygems_api_key | |||
Samsara | samsara_api_token | |||
Samsara | samsara_oauth_access_token | |||
Segment | segment_public_api_token | |||
SendGrid | sendgrid_api_key | |||
Sendinblue | sendinblue_api_key | |||
Sendinblue | sendinblue_smtp_key | |||
Shippo | shippo_live_api_token | |||
Shippo | shippo_test_api_token | |||
Shopify | shopify_access_token | |||
Shopify | shopify_app_client_credentials | |||
Shopify | shopify_app_client_secret | |||
Shopify | shopify_app_shared_secret | |||
Shopify | shopify_custom_app_access_token | |||
Shopify | shopify_marketplace_token | |||
Shopify | shopify_merchant_token | |||
Shopify | shopify_partner_api_token | |||
Shopify | shopify_private_app_password | |||
Slack | slack_api_token | |||
Slack | slack_incoming_webhook_url | |||
Slack | slack_workflow_webhook_url | |||
Square | square_access_token | |||
Square | square_production_application_secret | |||
Square | square_sandbox_application_secret | |||
SSLMate | sslmate_api_key | |||
SSLMate | sslmate_cluster_secret | |||
Stripe | stripe_live_restricted_key | |||
Stripe | stripe_api_key | |||
Stripe | stripe_legacy_api_key | |||
Stripe | stripe_test_restricted_key | |||
Stripe | stripe_test_secret_key | |||
Stripe | stripe_webhook_signing_secret | |||
Supabase | supabase_service_key | |||
Tableau | tableau_personal_access_token | |||
Telegram | telegram_bot_token | |||
Telnyx | telnyx_api_v2_key | |||
Tencent Cloud | tencent_cloud_secret_id | |||
Tencent WeChat | tencent_wechat_api_app_id | |||
Twilio | twilio_access_token | |||
Twilio | twilio_account_sid | |||
Twilio | twilio_api_key | |||
Typeform | typeform_personal_access_token | |||
Uniwise | wiseflow_api_key | |||
WakaTime | wakatime_pp_secret | |||
WakaTime | wakatime_oauth_access_token | |||
WakaTime | wakatime_oauth_refresh_token | |||
Workato | workato_developer_api_token | |||
WorkOS | workos_production_api_key | |||
WorkOS | workos_staging_api_key | |||
Yandex | yandex_iam_access_secret | |||
Yandex | yandex_cloud_api_key | |||
Yandex | yandex_cloud_iam_cookie | |||
Yandex | yandex_cloud_iam_token | |||
Yandex | yandex_cloud_smartcaptcha_server_key | |||
Yandex | yandex_dictionary_api_key | |||
Yandex | YANDEX_PASSPORT_OAUTH_TOKEN | |||
Yandex | yandex_predictor_api_key | |||
Yandex | yandex_translate_api_key | |||
Zuplo | zuplo_consumer_api_key |
延伸阅读
- "保护您的仓库"
- “保护帐户和数据安全”
- “密码扫描合作伙伴计划”