Skip to main content
Frecuentemente publicamos actualizaciones de nuestra documentación. Es posible que la traducción de esta página esté en curso. Para conocer la información más actual, visita la documentación en inglés. Si existe un problema con las traducciones en esta página, por favor infórmanos.

Defining custom patterns for secret scanning

You can extend >- escaneo de secretos to detect secrets beyond the default patterns.

El Escaneo de secretos se encuentra disponible para los repositorios que pertenecen a organizaciones de GitHub Enterprise Server si tu empresa tiene una licencia de GitHub Advanced Security. Para obtener más información, consulta la sección "Productos de GitHub".

About custom patterns for escaneo de secretos

You can define custom patterns to identify secrets that are not detected by the default patterns supported by escaneo de secretos. For example, you might have a secret pattern that is internal to your organization. For details of the supported secrets and service providers, see "Escaneo de secretos patterns."

You can define custom patterns for your enterprise, organization, or repository. Escaneo de secretos supports up to 500 custom patterns for each organization or enterprise account, and up to 100 custom patterns per repository.

Regular expression syntax for custom patterns

You can specify custom patterns for >- escaneo de secretos 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.

Escaneo de secretos uses the Hyperscan library and only supports Hyperscan regex constructs, which are a subset of PCRE syntax. Hyperscan option modifiers are not supported. For more information on Hyperscan pattern constructs, see "Pattern support" in the Hyperscan documentation.

Defining a custom pattern for a repository

Before defining a custom pattern, you must ensure that escaneo de secretos is enabled on your repository. For more information, see "Configuring escaneo de secretos for your repositories."

  1. En tu instancia de GitHub Enterprise Server, visita la página principal del repositorio.

  2. Debajo de tu nombre de repositorio, da clic en Configuración. Botón de configuración del repositorio

  3. En la sección de "Seguridad" de la barra lateral, haz clic en Análisis y seguridad de código.

  4. Debajo de "Seguridad y análisis de código", encuentra "GitHub Advanced Security".

  5. Debajo de "Escaneo de secretos", debajo de "Patrones personalizados", haz clic en Patrón nuevo.

  6. Ingresa los detalles de tu patrón personalizado nuevo:

    1. Debes proporcionar por lo menos el nombre de tu patrón y una expresión regular para el formato de tu patrón secreto.
    2. Puedes hacer clic en Más opciones para proporcionar otro tipo de contenido circundante o requisitos de coincidencia adicionales para el formato de secreto.
    3. Proporciona una secuencia de pruebas de muestra para asegurarte de que tu configuración empate con los patrones que esperas.

    Crear un formato de patrón personalizado del escaneo de secretos

  7. When you're ready to test your new custom pattern, to identify matches in the repository without creating alerts, click Save and dry run.

  8. When the dry run finishes, you'll see a sample of results (up to 1000). Revisa los resultados e identifica cualquier falso positivo. Captura de pantalla mostrando los resultados de una simulación

  9. Edit the new custom pattern to fix any problems with the results, then, to test your changes, click Save and dry run.

    Nota: La característica de simulación se encuentra actualmente en beta y está sujeta a cambios.

  10. Cuando estés satisfecho con tu patrón personalizado nuevo, haz clic en Publicar patrón.

After your pattern is created, El escaneo de secretos escanea cualquier secreto en el total de tu historial de Git en todas las ramas presentes de tu repositorio de GitHub. For more information on viewing escaneo de secretos alerts, see "Managing alerts from escaneo de secretos."

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:

CharacteristicField and regular expression
Length between 5 and 10 charactersSecret format: [$#%@AA-Za-z0-9]{5,10}
Does not end in a .After secret: [^\.]
Contains numbers and uppercase lettersAdditional requirements: secret must match [A-Z] and [0-9]
Does not include more than one lowercase letter in a rowAdditional 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

Defining a custom pattern for an organization

Before defining a custom pattern, you must ensure that you enable escaneo de secretos for the repositories that you want to scan in your organization. To enable escaneo de secretos on all repositories in your organization, see "Managing security and analysis settings for your organization."

  1. En la esquina superior derecha de GitHub Enterprise Server, haz clic en tu foto de perfil y luego en Tus organizaciones. Tus organizaciones en el menú de perfil

  2. Junto a la organización, haz clic en Configuración. El botón de configuración

  3. En la sección de "Seguridad" de la barra lateral, haz clic en Análisis y seguridad de código.

  4. Debajo de "Seguridad y análisis de código", encuentra "GitHub Advanced Security".

  5. Debajo de "Escaneo de secretos", debajo de "Patrones personalizados", haz clic en Patrón nuevo.

  6. Ingresa los detalles de tu patrón personalizado nuevo:

    1. Debes proporcionar por lo menos el nombre de tu patrón y una expresión regular para el formato de tu patrón secreto.
    2. Puedes hacer clic en Más opciones para proporcionar otro tipo de contenido circundante o requisitos de coincidencia adicionales para el formato de secreto.
    3. Proporciona una secuencia de pruebas de muestra para asegurarte de que tu configuración empate con los patrones que esperas.

    Crear un formato de patrón personalizado del escaneo de secretos

  7. When you're ready to test your new custom pattern, to identify matches in select repositories without creating alerts, click Save and dry run.

  8. Search for and select up to 10 repositories where you want to perform the dry run. Screenshot showing repositories selected for the dry run

  9. Cuando estés listo para probar tu nuevo patrón personalizado, haz clic en Simulacro.

  10. When the dry run finishes, you'll see a sample of results (up to 1000). Revisa los resultados e identifica cualquier falso positivo. Captura de pantalla mostrando los resultados de una simulación

  11. Edit the new custom pattern to fix any problems with the results, then, to test your changes, click Save and dry run.

    Nota: La característica de simulación se encuentra actualmente en beta y está sujeta a cambios.

  12. Cuando estés satisfecho con tu patrón personalizado nuevo, haz clic en Publicar patrón.

After your pattern is created, escaneo de secretos scans for any secrets in repositories in your organization, including their entire Git history on all branches. Organization owners and repository administrators will be alerted to any secrets found and can review the alert in the repository where the secret is found. For more information on viewing escaneo de secretos alerts, see "Managing alerts from escaneo de secretos."

Defining a custom pattern for an enterprise account

Before defining a custom pattern, you must ensure that you enable secret scanning for your enterprise account. For more information, see "Enabling GitHub Advanced Security for your enterprise."

Note: As there is no dry-run functionality, we recommend that you test your custom patterns in a repository before defining them for your entire enterprise. That way, you can avoid creating excess false-positive escaneo de secretos alerts.

  1. En la esquina superior derecha de GitHub Enterprise Server, da clic en tu foto de perfil y luego en Configuración de empresa. "Configuración de empresa" en el menú desplegable de la foto de perfil en GitHub Enterprise Server

  2. En la barra lateral de la cuenta de empresa, haz clic en Policies (Políticas). Pestaña Policies (Políticas) en la barra lateral de la cuenta de empresa

  3. Debajo de Políticas, haz clic en "Seguridad Avanzada". Políticas de "Seguridad Avanzada" en la barra lateral

  4. Debajo de "GitHub Advanced Security", haz clic en la pestaña de Características de Seguridad.

  5. Under "Secret scanning custom patterns", click New pattern.

  6. Ingresa los detalles de tu patrón personalizado nuevo:

    1. Debes proporcionar por lo menos el nombre de tu patrón y una expresión regular para el formato de tu patrón secreto.
    2. Puedes hacer clic en Más opciones para proporcionar otro tipo de contenido circundante o requisitos de coincidencia adicionales para el formato de secreto.
    3. Proporciona una secuencia de pruebas de muestra para asegurarte de que tu configuración empate con los patrones que esperas.

    Crear un formato de patrón personalizado del escaneo de secretos

  7. Cuando estés satisfecho con tu patrón personalizado nuevo, haz clic en Publicar patrón.

After your pattern is created, escaneo de secretos scans for any secrets in repositories within your enterprise's organizations with GitHub Advanced Security enabled, including their entire Git history on all branches. Organization owners and repository administrators will be alerted to any secrets found, and can review the alert in the repository where the secret is found. For more information on viewing escaneo de secretos alerts, see "Managing alerts from escaneo de secretos."

Editing a custom pattern

When you save a change to a custom pattern, this closes all the escaneo de secretos alerts that were created using the previous version of the pattern.

  1. Navigate to where the custom pattern was created. A custom pattern can be created in a repository, organization, or enterprise account.
  2. Under "Escaneo de secretos", to the right of the custom pattern you want to edit, click .
  3. When you have reviewed and tested your changes, click Save changes.

Removing a custom pattern

  1. Navigate to where the custom pattern was created. A custom pattern can be created in a repository, organization, or enterprise account.

  2. To the right of the custom pattern you want to remove, click .

  3. Review the confirmation, and select a method for dealing with any open alerts relating to the custom pattern.

  4. Click Yes, delete this pattern.

    Confirming deletion of a custom escaneo de secretos pattern