Se o seu projeto se comunicar com um serviço externo, você pode usar um token ou uma chave privada para autenticação. Tokens e chaves privadas são exemplos de segredos que um provedor de serviços pode publicar. Se você marcar um segredo em um repositório, qualquer pessoa que tenha acesso de leitura ao repositório pode usar o segredo para acessar o serviço externo com seus privilégios. Recomendamos que você armazene segredos em um local dedicado e seguro fora do repositório do seu projeto.
Varredura secreta irá fazer a varredura de todo o seu histórico do Git em todos os branches presentes no seu repositório GitHub para obter quaisquer segredos. Os provedores de serviço podem ser associados com GitHub para fornecer seus formatos de segredo para varredura. Para obter mais informações, consulte "Programa de parceiros de segredo de varredura".
Se alguém verificar um segredo com um padrão conhecido em um repositório público ou privado em GitHub, varredura secreta captura o segredo como é verificado e ajuda a mitigar o impacto da fuga. Os administradores do repositório são notificados sobre qualquer submissão que contém um segredo e podem visualizar rapidamente todos os segredos detectados na aba Segurança do repositório.
Sobre o varredura secreta para repositórios públicos
Varredura secreta é automaticamente habilitado nos repositórios públicos. Quando você faz push para um repositório público, o GitHub verifica segredos no conteúdo dos commits. Se você alternar um repositório privado para público, o GitHub verifica segredos em todo o repositório.
Quando o varredura secreta detecta um conjunto de credenciais, notificamos o provedor de serviço que emitiu o segredo. O provedor de serviço valida a credencial e decide se deve revogar o segredo, emitir um novo segredo ou entrar em contato com você diretamente, o que dependerá dos riscos associados a você ou ao provedor de serviço. Para uma visão geral de como trabalhamos com parceiros emissores de token, consulte "Programa de verificação de segredos de parceiros".
O GitHub atualmente verifica repositórios públicos para encontrar segredos emitidos pelos seguintes provedores de serviços.
| Parceiro | Segredo compatível |
|---|---|
| Adafruit IO | Chave de IO de Adafruit |
| Adobe | Adobe Device Token |
| Adobe | Adobe Service Token |
| Adobe | Adobe Short-Lived Access Token |
| Adobe | Adobe JSON Web Token |
| Alibaba Cloud | Par de ID e segredo da chave de acesso à nuvem do Alibaba |
| Amazon Web Services (AWS) | Par do ID de segredo da chave de acesso ao AWS da Amazon |
| Atlassian | Token da API de Atlassian |
| Atlassian | Token web de JSON de Atlassian |
| Azure | Azure Active Directory Application Secret |
| Azure | Token de acesso pessoal do Azure DevOps |
| Azure | Token do Azure SAS |
| Azure | Certificado de Gerenciamento de Serviços do Azure |
| Azure | String de conexão do Azure SQL |
| Azure | Chave da conta de armazenamento do Azure |
| Checkout.com | Checkout.com Production Secret Key |
| Checkout.com | Checkout.com Test Secret Key |
| Clojars | Token de implantação de Clojars |
| CloudBees CodeShip | Credencial de Coadship de CloudBees |
| Contributed Systems | Contributed Systems Credentials |
| Databricks | Token de acesso de Databricks |
| Datadog | Chave de API de Datadog |
| Discord | Token de Bot de Discord |
| Doppler | Token pessoal de Doppler |
| Doppler | Token de serviço de Doppler |
| Doppler | Token de CLI de Doppler |
| Doppler | Token de SCIM de Doppler |
| Doppler | Doppler Audit Token |
| Dropbox | Token de Acesso de Dropbox |
| Dropbox | Token de acesso à vida curta do Dropbox |
| Dynatrace | Token de acesso de Dynatrace |
| Dynatrace | Token interno de Dynatrace |
| Finicity | Chave do aplicativo de Finicity |
| Frame.io | Token web do JSON de Frame.io |
| Frame.io | Token do desenvolvedor de Frame.io |
| FullStory | FullStory API Key |
| GitHub | Token de acesso pessoal do GitHub |
| GitHub | GitHub OAuth Access Token |
| GitHub | GitHub Refresh Token |
| GitHub | Token de acesso à instalação do aplicativo GitHub |
| GitHub | Chave privada de SSH do GitHub |
| GoCardless | Token de acesso ao vivo ao GoCardless |
| GoCardless | Token de acesso de GoCardless Sandbox |
| Google Cloud | Chave da API do GOogle |
| Google Cloud | ID da chave privada do Google Cloud |
| Hashicorp Terraform | Token da API de Terraform Cloud / Enterprise |
| Hubspot | Chave da API de Hubspot |
| Ionic | Ionic Personal Access Token |
| Ionic | Ionic Refresh Token |
| Linear | Linear API Key |
| Linear | Linear OAuth Access Token |
| Mailchimp | Chave da API de Mailchimp |
| Mailchimp | Chave da API de Mandrill |
| Mailgun | Chave da API de Mailgun |
| MessageBird | Chave da API de MessageBird |
| npm | Token de acesso de npm |
| NuGet | Chave de API de NuGet |
| OpenAI | OpenAI API Key |
| Palantir | Token web de JSON de Palantir |
| PlanetScale | PlanetScale Database Password |
| PlanetScale | PlanetScale OAuth Token |
| PlanetScale | PlanetScale Service Token |
| Plivo | Plivo Auth ID and Token |
| Postman | Chave da API de Postman |
| Proctorio | Chave de Consumidor de Proctorio |
| Proctorio | Chave de vínculo de Proctorio |
| Proctorio | Chave de registro de Proctorio |
| Proctorio | Chave de segredo de Proctorio |
| Pulumi | Token de acesso de Pulumi |
| PyPI | PyPI API Token |
| RubyGems | RubyGems API Key |
| Samsara | Token de API de Samsara |
| Samsara | Token de acesso de OAuth de Samsara |
| SendGrid | SendGrid API Key |
| Shopify | Segredo compartilhado do aplicativo Shopify |
| Shopify | Token de acesso de Shopify |
| Shopify | Token de acesso do aplicativo personalizado Shopify |
| Shopify | Senha do aplicativo privado Shopify |
| Slack | Token da API de Slack |
| Slack | URL de entrada do webhook de Slack |
| Slack | URL do fluxo de trabalho do webhook de Slack |
| SSLMate | Chave da API de SSLMate |
| SSLMate | Segredo do cluster de SSLMate |
| Stripe | Chave de segredo Stripe Live |
| Stripe | Chave secreta da API de Teste de Stripe |
| Stripe | Chave restrita da API de Stripe Live |
| Stripe | Chave restrita da API de testes de Stripe |
| Tencent Cloud | ID de segredot de Tencent Cloud |
| Twilio | Identificador de string de conta de Twilio |
| Twilio | Chave da API de Twilio |
| Valour | Valour Access Token |
Sobre o varredura secreta para repositórios privados
Se você é um administrador de repositório ou um proprietário de uma organização, você pode habilitar varredura secreta para repositórios privados pertencentes a organizações. You can enable varredura secreta for all your repositories, or for all new repositories within your organization. Varredura secreta 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 varredura secreta patterns that only apply to your repository or organization. Para obter mais informações, consulte "Definir padrões personalizados para varredura secreta".
When you push commits to a private repository with varredura secreta enabled, GitHub scans the contents of the commits for secrets.
When varredura secreta detects a secret in a private repository, GitHub generates an alert.
-
O GitHub envia um alerta de email para os administradores do repositório e proprietários da organização.
-
GitHub envia um alerta de e-mail para o contribuidor que fez o commit do segredo no repositório com um link para o alerta de varredura secreta relacionado. O autor do commit pode visualizar o alerta no repositório e resolver o alerta.
-
GitHub exibe um alerta no repositório.
Para obter mais informações sobre a visualização e resolução de alertas de varredura secreta, consulte "Gerenciar alertas de varredura secreta."
Os administradores do repositório e proprietários da organização podem conceder acesso aos usuários aos alertas de varredura secreta. Para obter mais informações, consulte "Gerenciar configurações de segurança e análise do repositório".
Para monitorar os resultados de varredura secreta nos seus repositórios privados ou na sua organização, você pode usar a API de varredura secreta. Para obter mais informações sobre pontos de extremidade da API, consulte "Varredura secreta".
GitHub currently scans private repositories for secrets issued by the following service providers.
| Provider | Segredo compatível | Slug da API |
|---|---|---|
| Adafruit IO | Chave de IO de Adafruit | 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 |
| Amazon Web Services (AWS) | Amazon AWS Session Token | aws_session_token |
| Amazon Web Services (AWS) | Amazon AWS Temporary Access Key ID | aws_temporary_access_key_id |
| Asana | Asana Personal Access Token | asana_personal_access_token Atlassian |
| Atlassian | Bitbucket Server Personal Access Token | bitbucket_server_personal_access_token Azure |
| Beamer | Beamer API Key | beamer_api_key |
| 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 |
| Contentful | Contentful Personal Access Token | contentful_personal_access_token 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 |
| Facebook Access Token | facebook_access_token | |
| 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 |
| FullStory | FullStory API Key | fullstory_api_key |
| 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 |
| Firebase Cloud Messaging Server Key | firebase_cloud_messaging_server_key Google | |
| Google Cloud Storage Access Key Secret | google_cloud_storage_access_key_secret | |
| Google Cloud Storage Service Account Access Key ID | google_cloud_storage_service_account_access_key_id | |
| Google Cloud Storage User Access Key ID | google_cloud_storage_user_access_key_id | |
| Google OAuth Client ID | google_oauth_client_id | |
| Google OAuth Client Secret | google_oauth_client_secret | |
| Grafana | Grafana API Key | grafana_api_key Hashicorp Terraform |
| Intercom | Intercom Access Token | intercom_access_token |
| Ionic | Ionic Personal Access Token | ionic_personal_access_token |
| Ionic | Ionic Refresh Token | ionic_refresh_token |
| JFrog | JFrog Platform Access Token | jfrog_platform_access_token |
| JFrog | JFrog Platform API Key | jfrog_platform_api_key |
| 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 |
| New Relic | New Relic Personal API Key | new_relic_personal_api_key |
| New Relic | New Relic REST API Key | new_relic_rest_api_key |
| New Relic | New Relic Insights Query Key | new_relic_insights_query_key |
| New Relic | New Relic License Key | new_relic_license_key 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 |
| PlanetScale | PlanetScale Database Password | planetscale_database_password |
| PlanetScale | PlanetScale OAuth Token | planetscale_oauth_token |
| PlanetScale | PlanetScale Service Token | planetscale_service_token |
| Plivo | Plivo Auth ID | plivo_auth_id |
| Plivo | Plivo Auth Token | plivo_auth_token Postman |
| PyPI | PyPI API Token | pypi_api_token |
| RubyGems | RubyGems API Key | rubygems_api_key Samsara |
| SendGrid | SendGrid API Key | sendgrid_api_key |
| Sendinblue | Sendinblue API Key | sendinblue_api_key |
| Sendinblue | Sendinblue SMTP Key | sendinblue_smtp_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 | Tableau Personal Access Token | tableau_personal_access_token |
| Telegram | Telegram Bot Token | telegram_bot_token Tencent Cloud |
| Twilio | Twilio Access Token | twilio_access_token Twilio |