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. Service providers can partner with GitHub to provide their secret formats for scanning. For more information, see "Secret scanning partner program."
If someone checks a secret with a known pattern into a public or private repository on GitHub, varredura secreta catches the secret as it's checked in, and helps you mitigate the impact of the leak. 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. For an overview of how we work with token-issuing partners, see "Secret scanning partner program."
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 | 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 |
| Clojars | Token de implantação de Clojars |
| CloudBees CodeShip | Credencial de Coadship de CloudBees |
| 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 |
| 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 |
| 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 |
| 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 |
| Plivo | Token de Plivo Auth |
| 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. Você pode habilitar varredura secreta para todos os seus repositórios ou para todos os novos repositórios da organização. Varredura secreta não está disponível para repositórios privados pertencentes a usuários. Para mais informações, consulte "Gerenciar configurações de segurança e análise do seu repositório" e "Gerenciar as configurações de segurança e análise da sua organização".
You can also define custom varredura secreta patterns that only apply to your repository or organization. For more information, see "Defining custom patterns for varredura secreta."
Quando você faz push dos commits para um repositório privado com varredura secreta habilitado, GitHub verifica o conteúdo dos segredos dos commits.
Quando varredura secreta detecta um segredo em um privado repositório, GitHub gera um alerta.
-
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 atualmente faz a varredura de repositórios privados para segredos emitidos pelos seguintes provedores de serviços.
| Parceiro | Segredo compatível | Slug da API |
|---|---|---|
| Adafruit IO | Adafruit IO Key | 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 | 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 |
| Asana | Asana Personal Access Token | asana_personal_access_token |
| Atlassian | Atlassian API Token | atlassian_api_token |
| Atlassian | Atlassian JSON Web Token | atlassian_jwt |
| Atlassian | Bitbucket Server Personal Access Token | bitbucket_server_personal_access_token |
| 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 |
| 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 | 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 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 | GitHub SSH Private Key | github_ssh_private_key |
| 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 |
| Grafana | Grafana API Key | grafana_api_key |
| Hashicorp Terraform | Terraform Cloud / Enterprise API Token | terraform_api_token |
| Hubspot | Hubspot API Key | hubspot_api_key |
| Intercom | Intercom Access Token | intercom_access_token |
| Lob | Lob Live API Key | lob_live_api_key |
| Lob | Lob Test API Key | lob_test_api_key |
| Mailchimp | Mailchimp API Key | mailchimp_api_key |
| Mailgun | Mailgun API Key | mailgun_api_key |
| MessageBird | MessageBird API Key | messagebird_api_key |
| npm | npm Access Token | npm_access_token |
| NuGet | NuGet API Key | nuget_api_key |
| 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 | 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 |
| PyPI | PyPI API Token | pypi_api_token |
| RubyGems | RubyGems API Key | rubygems_api_key |
| Samsara | Samsara API Token | samsara_api_token |
| Samsara | Samsara OAuth Access Token | samsara_oauth_access_token |
| 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 | 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 |
| 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 | Tencent Cloud Secret ID | tencent_cloud_secret_id |
| Twilio | Twilio Account String Identifier | twilio_account_sid |
| Twilio | Twilio API Key | twilio_api_key |