Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.

Sobre a varredura de segredo

O GitHub verifica repositórios em busca de tipos de segredos conhecidos a fim de impedir o uso fraudulento de segredos que sofreram commit acidentalmente.

Varredura secreta está disponível em repositórios públicos, e em repositórios privados pertencentes a organizações com uma licença de Segurança Avançada. Para obter mais informações, consulte "Sobre Segurança Avançada GitHub".

Neste artigo

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.

Os prestadores de serviço podem ser associados a GitHub para fornecer seus formatos de segredo para varredura. Para obter mais informações, consulte "Varredura de segredo".

Se alguém verificar um segredo de um parceiro de GitHub em um rapositório público ou privado em GitHub, varredura secreta irá captura o segredo como foi registrado 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 obter uma visão geral de como trabalhamos com parceiros emissores de token, consulte "Varredura de segredo".

O GitHub atualmente verifica repositórios públicos para encontrar segredos emitidos pelos seguintes provedores de serviços.

ParceiroSegredo compatível
Adafruit IOChave de IO de Adafruit
Alibaba CloudPar 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
AtlassianToken da API de Atlassian
AtlassianToken web de JSON de Atlassian
AzureToken de acesso pessoal para o Azure DevOps
AzureToken de Azure SAS
AzureCertificado de Gerenciamento de Serviços do Azure
AzureString de conexão do SQL de Azure
AzureChave de conta de armazenamento do Azure
ClojarsToken de implantação de Clojars
CloudBees CodeShipCredencial de Coadship de CloudBees
DatabricksToken de acesso de Databricks
DatadogChave de API de Datadog
DiscordToken de Bot de Discord
DopplerToken pessoal de Doppler
DopplerToken de serviço de Doppler
DopplerToken de CLI de Doppler
DopplerToken de SCIM de Doppler
DropboxToken de Acesso de Dropbox
DropboxToken de acesso à vida curta do Dropbox
DynatraceToken de acesso de Dynatrace
DynatraceToken interno de Dynatrace
FinicityChave do aplicativo de Finicity
Frame.ioToken web do JSON de Frame.io
Frame.ioToken do desenvolvedor de Frame.io
GitHubChave privada de SSH do GitHub
GitHubToken de acesso pessoal do GitHub
GitHubToken de acesso à instalação do aplicativo GitHub
GoCardlessToken de acesso ao vivo ao GoCardless
GoCardlessToken de acesso de GoCardless Sandbox
Google CloudChave da API do GOogle
Google CloudID da chave privada do Google Cloud
Hashicorp TerraformToken da API de Terraform Cloud / Enterprise
HubspotChave da API de Hubspot
MailchimpChave da API de Mailchimp
MailchimpChave da API de Mandrill
MailgunChave da API de Mailgun
MessageBirdChave da API de MessageBird
npmToken de acesso de npm
NuGetChave de API de NuGet
PalantirToken web de JSON de Palantir
PlivoToken de Plivo Auth
PostmanChave da API de Postman
ProctorioChave de Consumidor de Proctorio
ProctorioChave de vínculo de Proctorio
ProctorioChave de registro de Proctorio
ProctorioChave de segredo de Proctorio
PulumiToken de acesso de Pulumi
PyPIPyPI API Token
RubyGemsRubyGems API Key
SamsaraToken de API de Samsara
SamsaraToken de acesso de OAuth de Samsara
ShopifySegredo compartilhado do aplicativo Shopify
ShopifyToken de acesso de Shopify
ShopifyToken de acesso do aplicativo personalizado Shopify
ShopifySenha do aplicativo privado Shopify
SlackToken da API de Slack
SlackURL de entrada do webhook de Slack
SlackURL do fluxo de trabalho do webhook de Slack
SSLMateChave da API de SSLMate
SSLMateSegredo do cluster de SSLMate
StripeChave de segredo Stripe Live
StripeChave secreta da API de Teste de Stripe
StripeChave restrita da API de Stripe Live
StripeChave restrita da API de testes de Stripe
Tencent CloudID de segredot de Tencent Cloud
TwilioIdentificador de string de conta de Twilio
TwilioChave da API de Twilio

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."

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.

ParceiroSegredo compatívelSlug da API
n/aToken web do JSONjson_web_token
n/aCredencial do Cliente do OAuthapi_credential_assignment
Adafruit IOChave de IO de Adafruitadafruit_io_key
Alibaba CloudID da chave de acesso da nuvem do Alibabaalibaba_cloud_access_key_id
Alibaba CloudSegredo da chave de acesso à nuvem do Alibabaalibaba_cloud_access_key_secret
Amazon Web Services (AWS)ID da Chave de Acesso do AWS da Amazonaws_access_key_id
Amazon Web Services (AWS)Chave de acesso secreta do AWS da Amazonaws_secret_access_key
AsanaAsana Personal Access Tokenasana_personal_access_token
AtlassianToken da API de Atlassianatlassian_api_token
AtlassianToken web de JSON de Atlassianatlassian_jwt
AzureToken de acesso pessoal do Azure DevOpsazure_devops_personal_access_token
AzureToken do Azure SASazure_sas_token
AzureCertificado de Gerenciamento de Serviços do Azureazure_management_certificate
AzureString de conexão do Azure SQLazure_sql_connection_string
AzureChave da conta de armazenamento do Azureazure_storage_account_key
ClojarsToken de implantação de Clojarsclojars_deploy_token
CloudBees CodeShipCredencial de Coadship de CloudBeescodeship_credential
DatabricksToken de acesso de Databricksdatabricks_access_token
DiscordToken de Bot de Discorddiscord_bot_token
DopplerToken pessoal de Dopplerdoppler_personal_token
DopplerToken de serviço de Dopplerdoppler_service_token
DopplerToken de CLI de Dopplerdoppler_cli_token
DopplerToken de SCIM de Dopplerdoppler_scim_token
DropboxToken de Acesso de Dropboxdropbox_access_token
DropboxToken de acesso à vida curta do Dropboxdropbox_short_lived_access_token
DynatraceToken de acesso de Dynatracedynatrace_access_token
DynatraceToken interno de Dynatracedynatrace_internal_token
FacebookFacebook Access Tokenfacebook_access_token
FinicityChave do aplicativo de Finicityfinicity_app_key
Frame.ioToken web do JSON de Frame.ioframeio_jwt
Frame.ioToken do desenvolvedor de Frame.ioframeio_developer_token
GitHubChave privada de SSH do GitHubgithub_ssh_private_key
GitHubToken de acesso pessoal do GitHubgithub_personal_access_token
GitHubToken de acesso à instalação do aplicativo GitHubgithub_app_installation_access_token
GoCardlessToken de acesso ao vivo ao GoCardlessgocardless_live_access_token
GoCardlessToken de acesso de GoCardless Sandboxgocardless_sandbox_access_token
Google CloudChave da API do GOoglegoogle_api_key
Google CloudID da chave privada do Google Cloudgoogle_cloud_private_key_id
GrafanaGrafana API Keygrafana_api_key
Hashicorp TerraformToken da API de Terraform Cloud / Enterpriseterraform_api_token
HubspotChave da API de Hubspothubspot_api_key
IntercomIntercom Access Tokenintercom_access_token
LobLob Live API Keylob_live_api_key
LobLob Test API Keylob_test_api_key
MailchimpChave da API de Mailchimpmailchimp_api_key
MailgunChave da API de Mailgunmailgun_api_key
npmToken de acesso de npmnpm_access_token
NuGetChave de API de NuGetnuget_api_key
PalantirToken web de JSON de Palantirpalantir_jwt
PostmanChave da API de Postmanpostman_api_key
ProctorioChave de Consumidor de Proctorioproctorio_consumer_key
ProctorioChave de vínculo de Proctorioproctorio_linkage_key
ProctorioChave de registro de Proctorioproctorio_registration_key
ProctorioChave de segredo de Proctorioproctorio_secret_key
PulumiToken de acesso de Pulumipulumi_access_token
PyPIPyPI API Tokenpypi_api_token
RubyGemsRubyGems API Keyrubygems_api_key
SamsaraToken de API de Samsarasamsara_api_token
SamsaraToken de acesso de OAuth de Samsarasamsara_oauth_access_token
SendGridSendGrid API Keysendgrid_api_key
ShopifySegredo compartilhado do aplicativo Shopifyshopify_app_shared_secret
ShopifyToken de acesso de Shopifyshopify_access_token
ShopifyToken de acesso do aplicativo personalizado Shopifyshopify_custom_app_access_token
ShopifySenha do aplicativo privado Shopifyshopify_private_app_password
SlackToken da API de Slackslack_api_token
SlackURL de entrada do webhook de Slackslack_incoming_webhook_url
SlackURL do fluxo de trabalho do webhook de Slackslack_workflow_webhook_url
SSLMateChave da API de SSLMatesslmate_api_key
SSLMateSegredo do cluster de SSLMatesslmate_cluster_secret
StripeStripe API Keystripe_api_key
StripeChave de segredo Stripe Livestripe_live_secret_key
StripeChave secreta da API de Teste de Stripestripe_test_secret_key
StripeChave restrita da API de Stripe Livestripe_live_restricted_key
StripeChave restrita da API de testes de Stripestripe_test_restricted_key
Tencent CloudID de segredot de Tencent Cloudtencent_cloud_secret_id
TwilioIdentificador de string de conta de Twiliotwilio_account_sid
TwilioChave da API de Twiliotwilio_api_key

Nota: o Varredura secreta atualmente não permite que você defina seus próprios padrões para detecção de segredos.

Leia mais

Esse documento ajudou você?

Privacy policy

Ajude-nos a tornar esses documentos ótimos!

Todos os documentos do GitHub são de código aberto. Você percebeu que algo que está errado ou não está claro? Envie um pull request.

Faça uma contribuição

Ou, aprenda como contribuir.