Sobre a varredura de segredo

O GitHub Enterprise Server 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 para repositórios de organizações onde Segurança Avançada GitHub está habilitado. Para obter mais informações, consulte "Sobre Segurança Avançada GitHub".

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

Lista de segredos compatíveis com repositórios públicos

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
AdobeAdobe Device Token
AdobeAdobe Service Token
AdobeAdobe Short-Lived Access Token
AdobeAdobe JSON Web Token
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
AzureAzure Active Directory Application Secret
AzureToken de acesso pessoal do Azure DevOps
AzureToken do Azure SAS
AzureCertificado de Gerenciamento de Serviços do Azure
AzureString de conexão do Azure SQL
AzureChave da conta de armazenamento do Azure
Checkout.comCheckout.com Production Secret Key
Checkout.comCheckout.com Test Secret Key
ClojarsToken de implantação de Clojars
CloudBees CodeShipCredencial de Coadship de CloudBees
Contributed SystemsContributed Systems Credentials
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
DopplerDoppler Audit Token
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
FullStoryFullStory API Key
GitHubToken de acesso pessoal do GitHub
GitHubGitHub OAuth Access Token
GitHubGitHub Refresh Token
GitHubToken de acesso à instalação do aplicativo GitHub
GitHubChave privada de SSH do 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
IonicIonic Personal Access Token
IonicIonic Refresh Token
LinearLinear API Key
LinearLinear OAuth Access Token
MailchimpChave da API de Mailchimp
MailchimpChave da API de Mandrill
MailgunChave da API de Mailgun
MessageBirdChave da API de MessageBird
MetaFacebook Access Token
npmToken de acesso de npm
NuGetChave de API de NuGet
OpenAIOpenAI API Key
PalantirToken web de JSON de Palantir
PlanetScalePlanetScale Database Password
PlanetScalePlanetScale OAuth Token
PlanetScalePlanetScale Service Token
PlivoPlivo Auth ID and Token
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
SendGridSendGrid API Key
SendinblueSendinblue API Key
SendinblueSendinblue SMTP Key
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
TypeformTypeform Personal Access Token
ValourValour 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 dentro da sua organização. Varredura secreta não está disponível para repositórios privados pertencentes ao usuário. Para obter mais informações, consulte "Gerenciar segurança e configurações de análise para o seu repositório" e "Gerenciar configurações de segurança e análise para a sua organização."

Você também pode definir padrões personalizados de varredura secreta que se aplicam somente ao seu repositório ou organização. Para obter mais informações, consulte "Definir padrões personalizados para 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 resultados de varredura secreta nos seus repositórios privados, você pode usar a API de varredura secreta. Para obter mais informações sobre pontos de extremidade da API, consulte "Varredura secreta".

Lista de segredos cmpatíveis com repositórios privados

GitHub atualmente faz a varredura de repositórios privados para segredos emitidos pelos seguintes provedores de serviços.

ProviderSegredo compatívelSlug da API
Adafruit IOChave de IO de Adafruitadafruit_io_key
AdobeAdobe Device Tokenadobe_device_token
AdobeAdobe Service Tokenadobe_service_token
AdobeAdobe Short-Lived Access Tokenadobe_short_lived_access_token
AdobeAdobe JSON Web Tokenadobe_jwt Alibaba Cloud
AmazonAmazon OAuth Client IDamazon_oauth_client_id
AmazonAmazon OAuth Client Secretamazon_oauth_client_secret Amazon Web Services (AWS)
Amazon Web Services (AWS)Amazon AWS Session Tokenaws_session_token
Amazon Web Services (AWS)Amazon AWS Temporary Access Key IDaws_temporary_access_key_id
AsanaAsana Personal Access Tokenasana_personal_access_token Atlassian
AtlassianBitbucket Server Personal Access Tokenbitbucket_server_personal_access_token
AzureAzure Active Directory Application Secretazure_active_directory_application_secret
AzureAzure Cache for Redis Access Keyazure_cache_for_redis_access_key Azure
BeamerBeamer API Keybeamer_api_key
Checkout.comCheckout.com Production Secret Keycheckout_production_secret_key
Checkout.comCheckout.com Test Secret Keycheckout_test_secret_key Clojars
CloudBees CodeShipCloudBees CodeShip Credentialcodeship_credential
ContentfulContentful Personal Access Tokencontentful_personal_access_token Databricks
DopplerDoppler Personal Tokendoppler_personal_token
DopplerDoppler Service Tokendoppler_service_token
DopplerDoppler CLI Tokendoppler_cli_token
DopplerDoppler SCIM Tokendoppler_scim_token
DopplerDoppler Audit Tokendoppler_audit_token Dropbox
DuffelDuffel Live Access Tokenduffel_live_access_token
DuffelDuffel Test Access Tokenduffel_test_access_token
DynatraceDynatrace Access Tokendynatrace_access_token Dynatrace
EasyPostEasyPost Production API Keyeasypost_production_api_key
EasyPostEasyPost Test API Keyeasypost_test_api_key
FastlyFastly API Tokenfastly_api_token Finicity
FlutterwaveFlutterwave Live API Secret Keyflutterwave_live_api_secret_key
FlutterwaveFlutterwave Test API Secret Keyflutterwave_test_api_secret_key Frame.io
FullStoryFullStory API Keyfullstory_api_key
GitHubGitHub Personal Access Tokengithub_personal_access_token
GitHubGitHub OAuth Access Tokengithub_oauth_access_token
GitHubGitHub Refresh Tokengithub_refresh_token
GitHubGitHub App Installation Access Tokengithub_app_installation_access_token GitHub
GitLabGitLab Access Tokengitlab_access_token GoCardless
GoogleFirebase Cloud Messaging Server Keyfirebase_cloud_messaging_server_key Google
GoogleGoogle Cloud Storage Access Key Secretgoogle_cloud_storage_access_key_secret
GoogleGoogle Cloud Storage Service Account Access Key IDgoogle_cloud_storage_service_account_access_key_id
GoogleGoogle Cloud Storage User Access Key IDgoogle_cloud_storage_user_access_key_id
GoogleGoogle OAuth Access Tokengoogle_oauth_access_token
GoogleGoogle OAuth Client IDgoogle_oauth_client_id
GoogleGoogle OAuth Client Secretgoogle_oauth_client_secret
GoogleGoogle OAuth Refresh Tokengoogle_oauth_refresh_token
GrafanaGrafana API Keygrafana_api_key HashiCorp
IntercomIntercom Access Tokenintercom_access_token
IonicIonic Personal Access Tokenionic_personal_access_token
IonicIonic Refresh Tokenionic_refresh_token
JFrogJFrog Platform Access Tokenjfrog_platform_access_token
JFrogJFrog Platform API Keyjfrog_platform_api_key
LinearLinear API Keylinear_api_key
LinearLinear OAuth Access Tokenlinear_oauth_access_token
LobLob Live API Keylob_live_api_key
LobLob Test API Keylob_test_api_key Mailchimp
MapboxMapbox Secret Access Tokenmapbox_secret_access_token
MessageBirdMessageBird API Keymessagebird_api_key
MetaFacebook Access Tokenfacebook_access_token
MidtransMidtrans Production Server Keymidtrans_production_server_key
MidtransMidtrans Sandbox Server Keymidtrans_sandbox_server_key
New RelicNew Relic Personal API Keynew_relic_personal_api_key
New RelicNew Relic REST API Keynew_relic_rest_api_key
New RelicNew Relic Insights Query Keynew_relic_insights_query_key
New RelicNew Relic License Keynew_relic_license_key
NotionNotion Integration Tokennotion_integration_token
NotionNotion OAuth Client Secretnotion_oauth_client_secret npm
Octopus DeployOctopus Deploy API Keyoctopus_deploy_api_key
OnfidoOnfido Live API Tokenonfido_live_api_token
OnfidoOnfido Sandbox API Tokenonfido_sandbox_api_token
OpenAIOpenAI API Keyopenai_api_key Palantir
PlanetScalePlanetScale Database Passwordplanetscale_database_password
PlanetScalePlanetScale OAuth Tokenplanetscale_oauth_token
PlanetScalePlanetScale Service Tokenplanetscale_service_token
PlivoPlivo Auth IDplivo_auth_id
PlivoPlivo Auth Tokenplivo_auth_token Postman
PyPIPyPI API Tokenpypi_api_token
RubyGemsRubyGems API Keyrubygems_api_key Samsara
SendGridSendGrid API Keysendgrid_api_key
SendinblueSendinblue API Keysendinblue_api_key
SendinblueSendinblue SMTP Keysendinblue_smtp_key
ShippoShippo Live API Tokenshippo_live_api_token
ShippoShippo Test API Tokenshippo_test_api_token Shopify
SquareSquare Access Tokensquare_access_token
SquareSquare Production Application Secretsquare_production_application_secret
SquareSquare Sandbox Application Secretsquare_sandbox_application_secret SSLMate
StripeStripe Live API Secret Keystripe_live_secret_key
StripeStripe Test API Secret Keystripe_test_secret_key
StripeStripe Live API Restricted Keystripe_live_restricted_key
StripeStripe Test API Restricted Keystripe_test_restricted_key
StripeStripe Webhook Signing Secretstripe_webhook_signing_secret
SupabaseSupabase Service Keysupabase_service_key Tableau
TelegramTelegram Bot Tokentelegram_bot_token Tencent Cloud
TwilioTwilio Access Tokentwilio_access_token Twilio
TypeformTypeform Personal Access Tokentypeform_personal_access_token
WorkOSWorkOS Production API Keyworkos_production_api_key
WorkOSWorkOS Staging API Keyworkos_staging_api_key
YandexYandex.Cloud API Keyyandex_cloud_api_key
YandexYandex.Cloud IAM Cookieyandex_cloud_iam_cookie
YandexYandex.Cloud IAM Tokenyandex_cloud_iam_token
YandexYandex.Dictionary API Keyyandex_dictionary_api_key
YandexYandex.Predictor API Keyyandex_predictor_api_key
YandexYandex.Translate API Keyyandex_translate_api_key

Leia mais

Esse documento ajudou você?

Política de Privacidade

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.