Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Definición de patrones personalizados para el examen de secretos

Puedes extender secret scanning para detectar los secretos más allá de sus patrones predeterminados.

Secret scanning está disponible para repositorios que son propiedad de una organización en GitHub Enterprise Server si la empresa tiene una licencia de GitHub Advanced Security. Para obtener más información, consulta "Acerca de las secret scanning en GitHub Enterprise Server" y "Acerca de GitHub Advanced Security".

Acerca de los patrones personalizados para el secret scanning

Puedes definir patrones personalizados para identificar secretos que no detecten los patrones predeterminados que son compatibles con el secret scanning. Por ejemplo, puede que tengas un patrón secreto que sea interno a tu organización. Para más información sobre los secretos y proveedores de servicios admitidos, vea "Patrones de Secret scanning".

Puedes definir patrones personalizados para tu empresa, organización o repositorio. Secret scanning admite hasta 500 patrones personalizados por cada cuenta de la organización o empresarial, y hasta 100 por repositorio.

Sintaxis de expresión regular para los patrones personalizados

Puedes especificar patrones personalizados para secret scanning como una o más expresiones regulares.

  • 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. Para obtener un ejemplo de un patrón personalizado, vea "Ejemplo de un patrón personalizado especificado mediante requisitos adicionales" a continuación.

En Secret scanning se usa la biblioteca Hyperscan y solo admite construcciones de expresión regular de Hyperscan, que son un subconjunto de la sintaxis de PCRE. Los modificadores de opción de Hyperscan no son compatibles. Para más información sobre las construcciones de patrones de Hyperscan, vea "Compatibilidad con patrones" en la documentación de Hyperscan.

Definir un patrón común para un repositorio

Antes de definir un patrón personalizado, debes asegurarte de que el secret scanning esté habilitado en tu repositorio. Para más información, vea "Configuración de secret scanning para los repositorios".

  1. En your GitHub Enterprise Server instance, navega a la página principal del repositorio. 1. Debajo del nombre del repositorio, haz clic en Configuración. Botón de configuración del repositorio

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

  3. Debajo de "Seguridad y análisis de código", encuentra "GitHub Advanced Security". 1. En "Secret scanning", en "Patrones personalizados", haz clic en Nuevo patrón. 1. Ingresa los detalles de tu patrón personalizado nuevo:

  4. Debes proporcionar por lo menos el nombre de tu patrón y una expresión regular para el formato de tu patrón secreto.

  5. Puede hacer clic en More options (Más opciones) para proporcionar otro tipo de contenido circundante o requisitos de coincidencia adicionales para el formato de secreto.

  6. Proporciona una secuencia de pruebas de muestra para asegurarte de que tu configuración empate con los patrones que esperas. Crear un formulario de patrón de secret scanning personalizado

  7. Cuando esté listo para probar el nuevo patrón personalizado, a fin de identificar las coincidencias en el repositorio sin crear alertas, haga clic en Guardar y simular.

  8. Cuando termine el simulacro verás un ejemplo de los resultados (hasta 1000). Revisa los resultados e identifica cualquier falso positivo. Captura de pantalla en la que se muestran los resultados de una simulación

  9. Edita el nuevo patrón personalizado para corregir cualquier problema con los resultados y, después, haz clic en Guardar y realizar simulacro para probar los cambios.

    Nota: Esta característica de simulacro se encuentra en versión beta y está sujeta a cambios.

    1. Cuando el nuevo patrón personalizado te parezca satisfactorio, haz clic en **Publicar patrón**

Después de que se cree el patrón, El secret scanning escanea cualquier secreto en el total de tu historial de Git en todas las ramas presentes de tu repositorio de GitHub.. Para más información sobre cómo visualizar alertas secret scanning alerts, consulta "Administración de alertas de secret scanning".

Ejemplos de un patrón personalizado especificado utilizando requisitos adicionales

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ísticaCampo y expresión regular
Longitud entre 5 y 10 carácteresFormato del secreto: [$#%@AA-Za-z0-9]{5,10}
No termina por .Después del secreto: [^\.]
Contiene números y mayúsculasRequisitos adicionales: el secreto debe coincidir con [A-Z] y [0-9]
No incluye más de una minúscula seguidaRequisitos 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

Definir un patrón común para una organización

Antes de definir un patrón personalizado, debes asegurarte de que hayas habilitado el secret scanning para los repositorios que quieras escanear en tu organización. Para habilitar secret scanning en todos los repositorios de la organización, vea "Administración de la configuración de seguridad y análisis de la organización".

  1. En la esquina superior derecha de GitHub Enterprise Server, haga clic en la foto de perfil y luego en Your organizations. Opción Your organizations (Sus organizaciones) en el menú del perfil 2. Junto a la organización, haga clic en Settings. El botón de configuración

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

  3. Debajo de "Seguridad y análisis de código", encuentra "GitHub Advanced Security". 1. En "Secret scanning", en "Patrones personalizados", haz clic en Nuevo patrón. 1. Ingresa los detalles de tu patrón personalizado nuevo:

  4. Debes proporcionar por lo menos el nombre de tu patrón y una expresión regular para el formato de tu patrón secreto.

  5. Puede hacer clic en More options (Más opciones) para proporcionar otro tipo de contenido circundante o requisitos de coincidencia adicionales para el formato de secreto.

  6. Proporciona una secuencia de pruebas de muestra para asegurarte de que tu configuración empate con los patrones que esperas. Crear un formulario de patrón de secret scanning personalizado

  7. Cuando estés listo para probar el nuevo patrón personalizado para identificar coincidencias en repositorios seleccionados sin crear alertas, haz clic en Guardar y realizar ensayo.

  8. Busca y selecciona hasta 10 repositorios en los que quieras realizar el simulacro. Captura de pantalla en la que se muestran los repositorios seleccionados para el simulacro

  9. Cuando estés listo para probar el nuevo patrón personalizado, haz clic en Simulacro. 1. Cuando termine el simulacro verás un ejemplo de los resultados (hasta 1000). Revisa los resultados e identifica cualquier falso positivo. Captura de pantalla en la que se muestran los resultados de una simulación

  10. Edita el nuevo patrón personalizado para corregir cualquier problema con los resultados y, después, haz clic en Guardar y realizar simulacro para probar los cambios.

    Nota: Esta característica de simulacro se encuentra en versión beta y está sujeta a cambios.

    1. Cuando el nuevo patrón personalizado te parezca satisfactorio, haz clic en **Publicar patrón**

Después de crear tu patrón, el secret scanning escaneará en búsqueda de cualquier secreto en los repositorios de tu organización, incluyendo el historial completo de Git en todas las ramas. Se le alertará a los propietarios de las organizaciones y los administradores de los repositorios sobre cualquier secreto que se haya encontrado y podrán revisar la alerta en el repositorio en cuestión. Para más información sobre cómo ver secret scanning alerts, consulta "Administración de alertas de secret scanning".

Definir un patrón común para una cuenta empresarial

Antes de definir un patrón personalizado, debes garantizar que habilitaste el escaneo de secretos para tu cuenta empresarial. Para más información, vea "Habilitación de GitHub Advanced Security para la empresa".

Nota: Como no hay ninguna funcionalidad de ensayo, se recomienda probar los patrones personalizados en un repositorio antes de definirlos para toda la empresa. De esta forma, puedes evitar crear una cantidad excesiva de secret scanning alerts de falso positivo.

  1. En la esquina superior derecha de GitHub Enterprise Server, haga clic en la foto de perfil y luego en Configuración de empresa. "Configuración de empresa" en el menú desplegable de la foto de perfil de GitHub Enterprise Server 1. En la barra lateral de la empresa, haz clic en Directivas. Pestaña Directivas en la barra lateral de la cuenta de empresa 1. En Directivas, haga clic en "Seguridad avanzada". Directivas de "Seguridad avanzada" en la barra lateral 1. En "Seguridad avanzada de GitHub", haga clic en la pestaña Características de seguridad.
  2. En "Patrones personalizados de examen de secretos", haz clic en Nuevo patrón.
  3. 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. Puede hacer clic en More options (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 formulario de patrón de secret scanning personalizado 1. Cuando el nuevo patrón personalizado te parezca satisfactorio, haz clic en Publicar patrón

Después de que se haya creado tu patrón, el secret scanning buscará cualquier secreto en los repositorios de las organizaciones de tu empras que tengan habilitada la GitHub Advanced Security, incluyendo en todo el historial de Git de todas las ramas. Se alertará a los propietarios de organizaciones y administradores de repositorios de cualquier secreto que se encuentre y estos podrán revisar la alerta en el repositorio en donde se encontró el secreto. Para más información sobre cómo ver secret scanning alerts, consulta "Administración de alertas de secret scanning".

Editar un patrón personalizado

Cuando guardas un cambio en un patrón personalizado, este cierra todas las alertas secret scanning alerts que se crearon utilizando la versión anterior del patrón.

  1. Navegar a donde se creó el patrón personalizado. Un patrón personalizado se puede crear en un repositorio, organización o cuenta empresarial.
  2. Debajo de "Secret scanning", a la derecha del patrón personalizado que quieras editar, haz clic en .
  3. Cuando hayas revisado y probado los cambios, haz clic en Publicar cambios.

Eliminar un patrón personalizado

  1. Navegar a donde se creó el patrón personalizado. Un patrón personalizado se puede crear en un repositorio, organización o cuenta empresarial.

  2. A la derecha del patrón personalizado que quieras eliminar, haz clic en .

  3. Revisa la confirmación y seleccionar el método para tratar con cualquier alerta abierta que tenga relación con el patrón personalizado.

  4. Haga clic en Sí, eliminar este patrón.

    Confirmación del borrado de un patrón personalizado de secret scanning