Skip to main content

Definición de patrones personalizados para el examen de secretos

Puedes definir tus propios patrones personalizados para ampliar las capacidades de secret scanning al generar una o más expresiones regulares.

¿Quién puede utilizar esta característica?

Propietarios de repositorios, propietarios de organizaciones, administradores de seguridad y usuarios con el rol de administrador

Los patrones personalizados para secret scanning están disponibles para los repositorios siguientes:

  • Repositorios públicos, privados e internos en organizaciones que usan GitHub Enterprise Cloud con GitHub Advanced Security habilitado

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 obtener más información sobre los secretos y proveedores de servicios admitidos, consulta "Patrones de examen de secretos admitidos".

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.

También puedes habilitar la protección de inserción para patrones personalizados. Para obtener más información sobre la protección de inserción, consulta "Acerca de la protección de inserción".

Acerca del uso de expresiones regulares para patrones personalizados

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

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.

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

Uso del generador de expresiones regulares

del Digitalización secreta de Copilot

generador de expresiones regulares de Digitalización secreta de Copilot usa un modelo de IA generativa donde se introduce una descripción textual del tipo de patrón que deseas detectar, incluidas las cadenas de ejemplo opcionales que se deben detectar. El modelo devuelve hasta tres expresiones regulares para revisar. Para más información, consulte "Generación responsable de expresiones regulares con el análisis de secretos de Copilot y "Generación de expresiones regulares para patrones personalizados con el análisis de secretos de Copilot".

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 obtener más información, vea «Habilitación del examen de secretos para el repositorio».

  1. En GitHub, navegue hasta la página principal del repositorio.

  2. En el nombre del repositorio, haz clic en Configuración. Si no puedes ver la pestaña "Configuración", selecciona el menú desplegable y, a continuación, haz clic en Configuración.

    Captura de pantalla de un encabezado de repositorio en el que se muestran las pestañas. La pestaña "Configuración" está resaltada con un contorno naranja oscuro.

  3. En la sección "Security" de la barra lateral, haz clic en Code security.

  4. En "Code security", busca "GitHub Advanced Security".

  5. En "Secret scanning", en "Patrones personalizados", haz clic en Nuevo patrón.

  6. Escribe los detalles del nuevo patrón personalizado. Debes proporcionar por lo menos el nombre de tu patrón y una expresión regular para el formato de tu patrón secreto.

    1. En el campo "Nombre de patrón", escribe un nombre para el patrón.
    2. En el campo "Formato secreto", escriba una expresión regular para el formato del patrón secreto.
    3. Puedes hacer clic en More options para proporcionar otro tipo de contenido circundante o requisitos de coincidencia adicionales para el formato del secreto.
    4. Proporciona una secuencia de pruebas de muestra para asegurarte de que tu configuración empate con los patrones que esperas.

    Captura de pantalla de un formulario de patrón de secret scanning personalizado rellenado.

  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 un simulacro.

  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.

  10. Cuando el nuevo patrón personalizado sea satisfactorio, haz clic en Publicar patrón.

  11. Opcionalmente, para habilitar la protección de inserción para el patrón personalizado, haz clic en Habilitar.

    Note

    El botón "Enable" no está disponible hasta que el simulacro se realice correctamente y publiques el patrón.

    Para más información sobre la protección contra inserciones, consulta "Acerca de la protección de inserció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 alertas de examen de secretos, consulta "Administración de alertas del examen de secretos".

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. Puedes usar security configurations para habilitar secret scanning en todos los repositorios de la organización. Para más información, consulta "Habilitación de características de seguridad a gran escala."

  1. En la esquina superior derecha de GitHub, seleccione la foto del perfil y haga clic en Sus organizaciones.

  2. Junto a la organización, haga clic en Settings.

  3. En la sección "Seguridad" de la barra lateral, seleccione el menú desplegable Seguridad del código y haga clic en Global settings.

  4. En «Patrones personalizados», haz clic en Nuevo patrón.

  5. Escribe los detalles del nuevo patrón personalizado. Debes proporcionar por lo menos el nombre de tu patrón y una expresión regular para el formato de tu patrón secreto.

    1. En el campo "Nombre de patrón", escribe un nombre para el patrón.
    2. En el campo "Formato secreto", escriba una expresión regular para el formato del patrón secreto.
    3. Puedes hacer clic en More options para proporcionar otro tipo de contenido circundante o requisitos de coincidencia adicionales para el formato del secreto.
    4. Proporciona una secuencia de pruebas de muestra para asegurarte de que tu configuración empate con los patrones que esperas.

    Captura de pantalla de un formulario de patrón de secret scanning personalizado rellenado.

  6. 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.

  7. Seleccione los repositorios en los que desea realizar el simulacro.

    • Para realizar el simulacro en toda la organización, seleccione Todos los repositorios de la organización.
    • Para especificar los repositorios en los que desea realizar el simulacro, seleccione Repositorios seleccionados, busque y seleccione hasta 10 repositorios.
  8. Cuando tenga todo listo para probar el nuevo patrón personalizado, haga clic en Ejecutar.

  9. 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 un simulacro.

  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.

  11. Cuando el nuevo patrón personalizado sea satisfactorio, haz clic en Publicar patrón.

  12. Opcionalmente, para habilitar la protección de inserción para el patrón personalizado, haz clic en Habilitar. Para obtener más información, vea «Acerca de la protección de inserción».

    Note

    • La opción para habilitar la protección de inserción solo es visible para los patrones publicados.
    • La protección de inserción para patrones personalizados solo se aplicará a los repositorios de tu organización que tengan secret scanning como protección de inserción habilitada. Para obtener más información, vea «Acerca de la protección de inserción».
    • La habilitación de la protección de inserción para patrones personalizados que se encuentran habitualmente puede ser perjudicial para los colaboradores.

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 obtener más información sobre el visionado de alertas de examen de secretos, consulta "Administración de alertas del examen de secretos".

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".

Note

  • En el nivel empresarial, solo el creador de un patrón personalizado puede editar el patrón y usarlo en un ensayo.
  • Solo puedes realizar un simulacro en repositorios a los que tengas acceso de administración. Si un propietario de empresa quiere acceso para realizar simulacros en cualquier repositorio de una organización, se le debe asignar el rol de propietario de la organización. Para obtener más información, vea «Administración del rol en una organización que pertenece a la empresa».
  1. En la esquina superior derecha de GitHub, haz clic en la fotografía del perfil.

  2. En función de tu entorno, haz clic en Your enterpriseo en Your enterprises y, a continuación, haz clic en la empresa que deseas ver.

  3. En el lado izquierdo de la página, en la barra lateral de la cuenta de empresa, haz clic en Directivas. 1. En "Directivas" de , haz clic en Seguridad y análisis del código.

  4. En "Análisis y seguridad de código", haz clic en Características de seguridad.

  5. En "Patrones personalizados de examen de secretos", haz clic en Nuevo patrón.

  6. Escribe los detalles del nuevo patrón personalizado. Debes proporcionar por lo menos el nombre de tu patrón y una expresión regular para el formato de tu patrón secreto.

    1. En el campo "Nombre de patrón", escribe un nombre para el patrón.
    2. En el campo "Formato secreto", escriba una expresión regular para el formato del patrón secreto.
    3. Puedes hacer clic en More options para proporcionar otro tipo de contenido circundante o requisitos de coincidencia adicionales para el formato del secreto.
    4. Proporciona una secuencia de pruebas de muestra para asegurarte de que tu configuración empate con los patrones que esperas.

    Captura de pantalla de un formulario de patrón de secret scanning personalizado rellenado.

  7. Cuando estés a punto para probar el nuevo patrón personalizado, a fin de identificar las coincidencias en la empresa sin crear alertas, haz clic en Guardar y simular.

  8. Busca y selecciona hasta 10 repositorios en los que quieras realizar el simulacro.

  9. Cuando tenga todo listo para probar el nuevo patrón personalizado, haga clic en Ejecutar.

  10. 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 un simulacro.

  11. 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.

  12. Cuando el nuevo patrón personalizado sea satisfactorio, haz clic en Publicar patrón.

  13. Opcionalmente, para habilitar la protección de inserción para el patrón personalizado, haz clic en Habilitar. Para obtener más información, vea «Acerca de la protección de inserción».

    Note

    • Para habilitar la protección de inserción para patrones personalizados, secret scanning porque la protección de inserción debe habilitarse en el nivel empresarial. Para obtener más información, vea «Acerca de la protección de inserción».
    • La habilitación de la protección de inserción para patrones personalizados que se encuentran habitualmente puede ser perjudicial para los colaboradores.

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 obtener más información sobre el visionado de alertas de examen de secretos, consulta "Administración de alertas del examen de secretos".

Información adicional