Biblioteca de expresiones regulares para patrones personalizados
Secret scanning patrones personalizados se definen mediante la biblioteca hyperscan y solo admiten construcciones regex de Hyperscan, que son un subconjunto de la sintaxis PCRE. Los modificadores de opción de Hyperscan no son compatibles. Para obtener más información sobre las construcciones de patrones de Hyperscan, consulte Compatibilidad con patrones en la documentación de Hyperscan.
Sintaxis para definir manualmente patrones personalizados
La sección More options de la interfaz de usuario te ayuda a escribir expresiones regulares de forma manual.
-
**Formato del secreto:** expresión que describe el formato del propio secreto. -
**Antes del secreto:** expresión que describe los caracteres que aparecen antes del secreto. De manera predeterminada, esto se establece en `\A|[^0-9A-Za-z]`, lo que significa que el secreto debe estar al inicio de una línea, o bien que debe estar precedido de un carácter alfanumérico. -
**Después del secreto:** expresión que describe los caracteres que aparecen después del secreto. De manera predeterminada, esto se establece en `\z|[^0-9A-Za-z]`, lo que significa que al secreto le debe seguir una nueva línea o un carácter que no sea alfanumérico. -
**Requisitos de coincidencia adicionales:** una o más expresiones opcionales con las que el propio secreto debe o no coincidir.
Para los tokens simples, a menudo solo necesitas especificar un formato de secreto. Los otros campos proporcionan flexibilidad para que puedas especificar secretos más complejos sin crear expresiones regulares complejas.
Ejemplo de patrón personalizado
Una compañía tiene un token interno con cinco características. Utilizan campos diferentes para especificar cómo identificar los tokens de acuerdo con lo siguiente:
|
Característica |
Campo y expresión regular |
|----------------|------------------------------|
| Longitud entre 5 y 10 carácteres | Formato del secreto: [$#%@AA-Za-z0-9]{5,10} |
| No termina por . | Después del secreto: [^\.] |
| Contiene números y mayúsculas | Requisitos adicionales: el secreto debe coincidir con [A-Z] y [0-9] |
| No incluye más de una minúscula seguida | Requisitos adicionales: el secreto no debe coincidir con [a-z]{2,} |
| Contiene uno de $%@! | Requisitos adicionales: el secreto debe coincidir con [$%@!] |
Estos tokens empataron con el patrón personalizado que se describe anteriormente:
a9@AAfT! # Secret string match: a9@AAfT
ee95GG@ZA942@aa # Secret string match: @ZA942@a
a9@AA!ee9 # Secret string match: a9@AA
Estas secuencias no empataron con el patrón personalizado que se describe anteriormente:
a9@AA.!
a@AAAAA
aa9@AA!ee9
aAAAe9
Limits
Secret scanning admite hasta 500 patrones personalizados por cada cuenta de la organización o empresarial, y hasta 100 por repositorio.