Sobre padrões personalizados para varredura secreta
GitHub executa varredura secreta nos repositórios públicos e privados para padrões de segredo fornecidos por parceiros de GitHub e GitHub. Para obter mais informações sobre o programa de parceria de varredura secreta, consulte "Programa de varredura de segredo de parceiros".
No entanto, pode haver situações em que você deverá pesquisar outros padrões secretos nos seus repositórios privados. Por exemplo, você pode ter um padrão de segredo que é interno da sua organização. Para esses casos, você pode definir padrões personalizados de varredura secreta na sua empresa, organização ou repositório privado em GitHub. Você pode definir até 500 padrões personalizados para cada conta da organização ou empresa e até 100 padrões personalizados por repositório privado.
Sintaxe de expressão regular para padrões personalizados
Custom patterns for varredura secreta are specified as one or more regular expressions.
- Secret format: an expression that describes the format of the secret itself.
- Before secret: an expression that describes the characters that come before the secret. By default, this is set to
\A|[^0-9A-Za-z]which means that the secret must be at the start of a line or be preceded by a non-alphanumeric character. - After secret: an expression that describes the characters that come after the secret. By default, this is set to
\z|[^0-9A-Za-z]which means that the secret must be followed by a new line or a non-alphanumeric character. - Additional match requirements: one or more optional expressions that the secret itself must or must not match.
For simple tokens you will usually only need to specify a secret format. The other fields provide flexibility so that you can specify more complex secrets without creating complex regular expressions. For an example of a custom pattern, see "Example of a custom pattern specified using additional requirements" below.
Varredura secreta usa a biblioteca Hyperscan e é compatível apenas os construtores regex do Hyperscan, que são um subconjunto da sintaxe PCRE. Os modificadores de opções de huperscan não são compatíveis. Para obter mais informações sobre construções de padrões do Hyperscan, consulte "suporte do padrãona documentação do Hyperscan.
Definindo um padrão personalizado para um repositório
Antes de definir um padrão personalizado, você deve garantir que varredura secreta está habilitado no seu repositório. Para obter mais informações, consulte "Configurar varredura secreta para os seus repositórios".
-
No GitHub.com, navegue até a página principal do repositório.
-
No nome do seu repositório, clique em Configurações.

-
Na barra lateral esquerda, clique em Security & analysis (Segurança e análise).

-
Em "Configurar recursos de segurança e análise", encontre "Segurança Avançada GitHub".
-
Under "Varredura secreta", under "Custom patterns", click New pattern.
-
Insira as informações para o seu novo padrão personalizado:
- Você deve fornecer, pelo menos, o nome para o seu padrão e uma expressão regular para o formato do seu padrão de segredo.
- Você pode clicar em Mais opções para fornecer outros conteúdos adjacentes ou requisitos adicionais de correspondência para o formato do segredo.
- Provide a sample test string to make sure your configuration is matching the patterns you expect.

-
When you are satisfied with your new custom pattern, click Create pattern.
Após a criação do seu padrão, varredura secreta verifica todos segredos em todo o histórico do Git em todos os branches presentes no repositório GitHub. Para mais informações sobre visualização de alertas varredura secreta, consulte "Gerenciando alertas de varredura secreta".
Example of a custom pattern specified using additional requirements
A company has an internal token with five characteristics. They use the different fields to specify how to identify tokens as follows:
| Characteristic | Field and regular expression |
|---|---|
| Length between 5 and 10 characters | Secret format: [$#%@AA-Za-z0-9]{5,10} |
Does not end in a . | After secret: [^\.] |
| Contains numbers and uppercase letters | Additional requirements: secret must match [A-Z] and [0-9] |
| Does not include more than one lowercase letter in a row | Additional requirements: secret must not match [a-z]{2,} |
Contains one of $%@! | Additional requirements: secret must match [$%@!] |
These tokens would match the custom pattern described above:
a9@AAfT! # Secret string match: a9@AAfT
ee95GG@ZA942@aa # Secret string match: @ZA942@a
a9@AA!ee9 # Secret string match: a9@AA
These strings would not match the custom pattern described above:
a9@AA.!
a@AAAAA
aa9@AA!ee9
aAAAe9
Definindo um padrão personalizado para uma organização
Antes de definir um padrão personalizado, você deverá habilitar varredura secreta para os repositórios privaivados que você deseja fazer a varredura na organização. Para habilitar varredura secreta em todos os repositórios privados na sua organização, consulte "Gerenciar as configurações de segurança e análise da sua organização".
Observação: Como não há nenhuma funcionalidade de teste, recomendamos que você teste seus padrões personalizados em um repositório antes de defini-los para toda a organização. Dessa forma, você pode evitar criar alertas falsos-positivos de varredura secreta.
-
In the top right corner of GitHub.com, click your profile photo, then click Your organizations.

-
Ao lado da organização, clique em Configurações.

-
Na barra lateral esquerda, clique em Security & analysis (Segurança e análise).

-
Em "Configurar recursos de segurança e análise", encontre "Segurança Avançada GitHub".
-
Under "Varredura secreta", under "Custom patterns", click New pattern.
-
Insira as informações para o seu novo padrão personalizado:
- Você deve fornecer, pelo menos, o nome para o seu padrão e uma expressão regular para o formato do seu padrão de segredo.
- Você pode clicar em Mais opções para fornecer outros conteúdos adjacentes ou requisitos adicionais de correspondência para o formato do segredo.
- Provide a sample test string to make sure your configuration is matching the patterns you expect.

-
When you are satisfied with your new custom pattern, click Create pattern.
Depois que o padrão for criado, varredura secreta irá verificar todos os segredos nos repositórios privados na sua organização, incluindo todo seu histórico do Git em todos os branches. Os proprietários da organização e administradores do repositório receberão um alerta sobre todos os segredos encontrados e poderão revisar o alerta no repositório onde o segredo for encontrado. Para obter mais informações sobre a visualização de alertas de varredura secreta, consulte "Gerenciar alertas de varredura secreta".
Definir um padrão personalizado para uma conta corporativa
Antes de definir um padrão personalizado, você deverá garantir que você habilite a digitalização de segredo para a sua conta corporativa. Para obter mais informações, consulte "Habilitar Segurança Avançada GitHub para a sua empresa."
Observação: Como não há nenhuma funcionalidade de teste, recomendamos que você teste seus padrões personalizados em um repositório antes de defini-los para toda sua empresa. Dessa forma, você pode evitar criar alertas falsos-positivos de varredura secreta.
-
Na barra lateral da conta corporativa, clique em Policies.

-
Em Políticas, clique em "Segurança Avançada".

-
Under "GitHub Advanced Security", click the Security features tab.
-
Em "Padrões de personalização de digitalização de segredos", clique em Novo padrão.
-
Insira as informações para o seu novo padrão personalizado:
- Você deve fornecer, pelo menos, o nome para o seu padrão e uma expressão regular para o formato do seu padrão de segredo.
- Você pode clicar em Mais opções para fornecer outros conteúdos adjacentes ou requisitos adicionais de correspondência para o formato do segredo.
- Provide a sample test string to make sure your configuration is matching the patterns you expect.

-
When you are satisfied with your new custom pattern, click Create pattern.
Depois que seu padrão for criado, varredura secreta irá verificar se há segredos em repositórios privados dentro das organizações da sua empresa com Segurança Avançada GitHub habilitado, incluindo toda a sua história de Git em todos os branches. Os proprietários da organização e administradores do repositório receberão um alerta sobre todos os segredos encontrados e poderão revisar o alerta no repositório onde o segredo for encontrado. Para obter mais informações sobre a visualização de alertas de varredura secreta, consulte "Gerenciar alertas de varredura secreta".
Editando um padrão personalizado
Ao salvar uma alteração em um padrão personalizado, isso irá fechar todos os alertas de varredura secreta que foram criados usando a versão anterior do padrão.
- Acesse o local onde o padrão personalizado foi criado. Um padrão personalizado pode ser criado na conta de um repositório, organização ou empresa.
- Para um repositório ou organização, exiba as configurações "Segurança & análise" do repositório ou organização onde o padrão personalizado foi criado. Para mais informações consulte "Definir um padrão personalizado para um repositório" ou "Definir um padrão personalizado para uma organização" acima.
- Para uma empresa, em "Políticas" exiba a área "Segurança Avançada" e, em seguida, clique em Funcionalidades de segurança. Para obter mais informações, consulte "Definindo um padrão personalizado para uma conta corporativa" acima.
- Em "Varredura secreta", à direita do padrão personalizado que você deseja editar, clique em .
- Ao revisar e testar suas alterações, clique em Salvar alterações.
Removendo um padrão personalizado
-
Acesse o local onde o padrão personalizado foi criado. Um padrão personalizado pode ser criado na conta de um repositório, organização ou empresa.
- Para um repositório ou organização, exiba as configurações "Segurança & análise" do repositório ou organização onde o padrão personalizado foi criado. Para mais informações consulte "Definir um padrão personalizado para um repositório" ou "Definir um padrão personalizado para uma organização" acima.
- Para uma empresa, em "Políticas" exiba a área "Segurança Avançada" e, em seguida, clique em Funcionalidades de segurança. Para obter mais informações, consulte "Definindo um padrão personalizado para uma conta corporativa" acima.
-
À direita do padrão personalizado que você deseja remover, clique em .
-
Revise a confirmação e selecione um método para lidar com todos os alertas abertos relacionados ao padrão personalizado.
-
Clique em Sim, excluir este padrão.
