Skip to main content

Esta versão do GitHub Enterprise Server será descontinuada em 2026-03-17. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, segurança aprimorada e novos recursos, atualize para a última versão do GitHub Enterprise Server. Para obter ajuda com a atualização, entre em contato com o suporte do GitHub Enterprise.

Referência de padrões personalizados

Use a sintaxe de expressão regular específica para definir padrões personalizados precisos para secret scanning.

Biblioteca de expressões regulares para padrões personalizados

Secret scanning padrões personalizados são definidos usando a biblioteca Hyperscan e dão suporte apenas a expressões regulares Hyperscan, que são um subconjunto da sintaxe PCRE. Os modificadores de opções de hyperscan não são compatíveis. Para obter mais informações sobre os constructos de padrão do Hyperscan, confira Suporte a padrões na documentação do Hyperscan.

Sintaxe para definir manualmente padrões personalizados

A seção More options na interface do usuário ajuda você a escrever expressões regulares manualmente.

  •         **Formato do segredo**: uma expressão que descreve o formato do próprio segredo.
    
  •         **Antes do segredo**: uma expressão que descreve os caracteres que vêm antes do segredo. Por padrão, isso é definido como `\A|[^0-9A-Za-z]`, o que significa que o segredo precisa estar no início de uma linha ou ser precedido por um caractere não alfanumérico.
    
  •         **Após o segredo**: uma expressão que descreve os caracteres que vêm após o segredo. Por padrão, isso é definido como `\z|[^0-9A-Za-z]`, o que significa que o segredo precisa ser seguido por uma nova linha ou por um caractere não alfanumérico.
    
  •         **Requisitos adicionais de correspondência**: uma ou mais expressões opcionais às quais o próprio segredo precisa ou não corresponder.
    

Para tokens simples você normalmente só precisa especificar um formato de segredo. Os outros campos proporcionam flexibilidade para que você possa especificar segredos mais complexos sem criar expressões regulares complexas.

Exemplo de padrão personalizado

Uma empresa tem um token interno com cinco características. Eles usam os diferentes campos para especificar como identificar tokens da seguinte forma:

| Característica | Campo e expressão regular | |----------------|------------------------------| | Comprimento entre 5 e 10 caracteres | Formato do segredo: [$#%@AA-Za-z0-9]{5,10} | | Não termina com um . | Depois do segredo: [^\.] | | Contém números e letras maiúsculas | Requisitos adicionais: o segredo precisa corresponder a [A-Z] e a [0-9] | | Não inclui mais de uma letra minúscula consecutiva | Requisitos adicionais: o segredo não deve corresponder a [a-z]{2,} | | Contém um destes caracteres: $%@! | Requisitos adicionais: o segredo precisa corresponder a [$%@!] |

Esses tokens iriam corresponder ao padrão personalizado descrito acima:

a9@AAfT!         # Secret string match: a9@AAfT
ee95GG@ZA942@aa  # Secret string match: @ZA942@a
a9@AA!ee9        # Secret string match: a9@AA

Estas strings não correspondem ao padrão personalizado descrito acima:

a9@AA.!
a@AAAAA
aa9@AA!ee9
aAAAe9

Limits

Os Secret scanning dão suporte para até 500 padrões personalizados para cada organização ou conta corporativa e até 100 padrões personalizados por repositório.