Observação: O administrador do site deve habilitar varredura secreta para your GitHub Enterprise Server instance antes de usar este recurso. Para obter mais informações, consulte "Configurar o varredura secreta para seu aplicativo ".
Note: Varredura secreta as a protection push is currently in beta and subject to change. To request access to the beta release, contact your account management team.
Sobre a proteção por push para segredos
Até agora, >- secret scanning verifica segredos após um push e alerta usuários de segredos expostos. When you enable push protection, varredura secreta also checks pushes for high-confidence secrets (those identified with a low false positive rate). Varredura secreta lists any secrets it detects so the author can review the secrets and remove them or, if needed, allow those secrets to be pushed.
If a contributor bypasses a push protection block for a secret, GitHub:
- generates an alert.
- creates an alert in the "Security" tab of the repository.
- adds the bypass event to the audit log.
Varredura secreta como proteção por push atualmente verifica repositórios de segredos emitidos pelos seguintes prestadores de serviços.
If access to a resource requires paired credentials, then secret scanning will create an alert only when both parts of the pair are detected in the same file. This ensures that the most critical leaks are not hidden behind information about partial leaks.
Provider | Segredo compatível | Secret type |
---|---|---|
Adafruit IO | Chave de IO de Adafruit | adafruit_io_key |
Alibaba Cloud | Alibaba Cloud Access Key ID with Alibaba Cloud Access Key Secret | alibaba_cloud_access_key_id alibaba_cloud_access_key_secret |
Amazon | Amazon OAuth Client ID with Amazon OAuth Client Secret | amazon_oauth_client_id amazon_oauth_client_secret |
Amazon Web Services (AWS) | Amazon AWS Access Key ID with Amazon AWS Secret Access Key | aws_access_key_id aws_secret_access_key |
Amazon Web Services (AWS) | Amazon AWS Session Token with Amazon AWS Temporary Access Key ID and Amazon AWS Secret Access Key | aws_session_token aws_temporary_access_key_id aws_secret_access_key |
Asana | Asana Personal Access Token | asana_personal_access_token |
Atlassian | Bitbucket Server Personal Access Token | bitbucket_server_personal_access_token |
Azure | Azure Active Directory Application Secret | azure_active_directory_application_secret |
Azure | Azure Cache for Redis Access Key | azure_cache_for_redis_access_key |
Azure | Token de acesso pessoal do Azure DevOps | azure_devops_personal_access_token |
Checkout.com | Checkout.com Production Secret Key | checkout_production_secret_key |
Clojars | Token de implantação de Clojars | clojars_deploy_token |
Databricks | Token de acesso de Databricks | databricks_access_token |
DigitalOcean | DigitalOcean Personal Access Token | digitalocean_personal_access_token |
DigitalOcean | DigitalOcean OAuth Token | digitalocean_oauth_token |
DigitalOcean | DigitalOcean Refresh Token | digitalocean_refresh_token |
DigitalOcean | DigitalOcean System Token | digitalocean_system_token |
Discord | Token de Bot de Discord | discord_bot_token |
Doppler | Token pessoal de Doppler | doppler_personal_token |
Doppler | Token de serviço de Doppler | doppler_service_token |
Doppler | Token de CLI de Doppler | doppler_cli_token |
Doppler | Token de SCIM de Doppler | doppler_scim_token |
Doppler | Doppler Audit Token | doppler_audit_token |
Dropbox | Token de acesso à vida curta do Dropbox | dropbox_short_lived_access_token |
Duffel | Duffel Live Access Token | duffel_live_access_token |
EasyPost | EasyPost Production API Key | easypost_production_api_key |
Flutterwave | Flutterwave Live API Secret Key | flutterwave_live_api_secret_key |
Fullstory | FullStory API Key | fullstory_api_key |
GitHub | Token de acesso pessoal do GitHub | github_personal_access_token |
GitHub | GitHub OAuth Access Token | github_oauth_access_token |
GitHub | GitHub Refresh Token | github_refresh_token |
GitHub | Token de acesso à instalação do aplicativo GitHub | github_app_installation_access_token |
GitHub | Chave privada de SSH do GitHub | github_ssh_private_key |
Google Cloud Storage Service Account Access Key ID with Google Cloud Storage Access Key Secret | google_cloud_storage_service_account_access_key_id google_cloud_storage_access_key_secret | |
Google Cloud Storage User Access Key ID with Google Cloud Storage Access Key Secret | google_cloud_storage_user_access_key_id google_cloud_storage_access_key_secret | |
Google OAuth Client ID with Google OAuth Client Secret | google_oauth_client_id google_oauth_client_secret | |
Grafana | Grafana API Key | grafana_api_key |
Hubspot | Chave da API de Hubspot | hubspot_api_key |
Intercom | Intercom Access Token | intercom_access_token |
Habilitando varredura secreta como uma proteção por push
Para você usar varredura secreta como proteção por push, a organização ou repositório deverá ter Segurança Avançada GitHub e varredura secreta habilitados. Para obter mais informações, consulte "Gerenciando as configurações de segurança e análise para sua organização, "Gerenciando as configurações de segurança e análise do seu repositórioe "Sobre Segurança Avançada GitHub".
Os proprietários da organização, gerentes de segurança e administradores de repositórios podem habilitar a proteção por push para varredura secreta por meio da interface do usuário e da API. Para obter mais informações, consulte "Repositórios" e expanda as "Propriedades do objeto security_and_analysis
" na documentação da API REST.
Habilitando varredura secreta como uma proteção por push para uma organização
- No your GitHub Enterprise Server instance, navegue para a página principal da organização.
- Abaixo do nome da sua organização, clique em
Settings.
-
In the "Security" section of the sidebar, click Code security and analysis.
-
Under "Code security and analysis", find "Segurança Avançada GitHub."
-
Em "Varredura secreta", em "Proteção push", clique em Habilitar todos.
-
Opcionalmente, clique em "Habilitar automaticamente em repositórios privados adicionados ao varredura secreta."
Habilitando varredura secreta como uma proteção por push para um repositório
-
No your GitHub Enterprise Server instance, navegue até a página principal do repositório.
-
No nome do seu repositório, clique em Configurações.
-
In the "Security" section of the sidebar, click Code security and analysis.
-
Under "Code security and analysis", find "Segurança Avançada GitHub."
-
Em "Varredura secreta", em "Proteção de push", clique em Habilitar.
Usando varredura secreta como proteção por push da linha de comando
Ao tentar enviar um segredo compatível para um repositório ou organização com varredura secreta como uma proteção push habilitada, o GitHub bloqueará o push. Você pode remover o segredo do seu commit ou seguir um URL fornecido para permitir o push.
Até cinco segredos detectados serão exibidos por vez na linha de comando. Se um segredo específico já foi detectado no repositório e um alerta já existe, GitHub não bloqueará esse segredo.
Se você precisar remover o segredo do seu último commit (ou seja, HEAD
) no branch pressionado e quaisquer commits anteriores que contenham o segredo, você poderá remover o segredo de HEAD
e, em seguida, fazer a combinação por squash dos commits entre quando o commit foi introduzido e a primeira versão do HEAD
para a qual o segredo foi removido.
Atenção:
- Se sua configuração do git é compatível com pushes para vários branches, e não apenas para o branch padrão, seu push pode ser bloqueado devido a novos refs indesejados. Para obter mais informações, consulte as opções
push.default
na documentação do Git. - Se varredura secreta vencer em um push, GitHub ainda executará uma digitalização após o push.
Permitindo que um segredo bloqueado seja enviado por push
Se GitHub bloquear um segredo que você acredita ser seguro enviar por push, você poderá permitir o segredo e especificar a razão pela qual ele deve ser permitido.
Se você confirmar que um segredo é real e pretender corrigi-lo mais tarde, você deverá procurar remediar o segredo o mais rápido possível. Por exemplo, você pode revogar o segredo e remover o segredo do histórico de commit do repositório. Para obter mais informações, consulte "Removendo dados confidenciais de um repositório".
Quando você permite que um segredo seja feito push é criado um alerta na guia "Segurança". GitHub closes the alert and doesn't send a notification if you specify that the secret is a false positive or used only in tests. If you specify that the secret is real and that you will fix it later, GitHub keeps the security alert open and sends notifications to the author of the commit, as well as to repository administrators. Para obter mais informações, consulte "Gerenciando alertas da digitalização do segredo".
- Acesse o URL retornado por GitHub quando seu push foi bloqueado.
- Escolha a opção que melhor descreve por que você deve ser capaz de enviar por push o segredo.
- Se o segredo é usado apenas em testes e não apresenta nenhuma ameaça, clique em É usado em testes.
- Se a seqüência de caracteres detectada não é um segredo, clique É um falso-´positivo.
- Se o segredo é real mas você pretende corrigi-lo mais tarde, clique em Eu vou corrigi-lo mais tarde.
- Clique Me permite enviar por push este segredo.
- Tente novamente na linha de comando em três horas. Se não enviou por push em três horas, você terá de repetir este processo.