Skip to main content

Exclusión de carpetas y archivos del análisis de secretos

Puedes personalizar secret scanning para excluir directorios o archivos del análisis mediante la configuración de un archivo secret_scanning.yml en el repositorio.

¿Quién puede utilizar esta característica?

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

Acerca de secret scanning

Secret scanning detecta automáticamente tokens o credenciales que se han insertado en un repositorio. Puedes ver alertas para los secretos que GitHub encuentre en el código, en la pestaña Seguridad del repositorio, y así saber qué tokens o credenciales están en peligro.Para obtener más información, consulta "Acerca de las alertas de examen de secretos."

Acerca de la exclusión de directorios de examen de secretos

Es posible que tengas un motivo para confirmar un secreto en un repositorio, como cuando quieras proporcionar un secreto falso en la documentación o en una aplicación de ejemplo. En estos escenarios, puedes ignorar rápidamente la alerta y documentar los motivos. Sin embargo, puede haber casos en los que quieras omitir un directorio por completo para evitar crear alertas de falsos positivos a gran escala. Por ejemplo, si tienes una aplicación monolítica con varias integraciones que contienen un archivo de claves ficticias que podrían activar numerosas alertas falsas en la evaluación de prioridades.

Puedes configurar un archivo secret_scanning.yml para excluir directorios de secret scanning, incluidos los casos en los que usas protección de inserción.

Excluir directorios de examen de secretos

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

  2. Encima de la lista de archivos, selecciona el menú desplegable Add file y, a continuación, haz clic en Create new file.

    Como alternativa, puedes hacer clic en en la vista de árbol de archivos a la izquierda.

    Captura de pantalla de la página principal de un repositorio. Encima de la lista de archivos, un botón con la etiqueta "Agregar archivo", aparece resaltado en naranja oscuro. En la vista de árbol de archivos del repositorio, un botón con el icono de signo más, también aparece resaltado en naranja oscuro.

  3. En el campo correspondiente al nombre de archivo, escribe "github/secret_scanning.yml".

  4. En Editar nuevo archivo, escribe paths-ignore: seguido por las rutas de acceso que quieras excluir de secret scanning.

    YAML
    paths-ignore:
      - "docs/**"
    

    Esto indica a secret scanning que omita todo lo que haya en el directorio docs. Puedes usar este archivo de ejemplo como plantilla para agregar los archivos y las carpetas que quieras excluir de tus propios repositorios.

    También puedes usar caracteres especiales, como *, para filtrar las rutas. Para obtener más información sobre los patrones de filtro, consulta "Sintaxis de flujo de trabajo para Acciones de GitHub".

    YAML
    paths-ignore:
      - "foo/bar/*.js"
    

    Note

    • Si hay más de 1000 entradas en paths-ignore, secret scanning solo excluirá los primeros 1000 directorios de los análisis.
    • Si secret_scanning.yml es mayor que 1 MB, secret scanning ignorará todo el archivo.

Comprobación de que la carpeta está excluida de secret scanning

  1. Abre un archivo de un directorio que hayas excluido del análisis de secretos.
  2. Pega un secreto invalidado previamente o un secreto de prueba.
  3. Confirme el cambio.
  4. En GitHub, navegue hasta la página principal del repositorio.
  5. En el nombre del repositorio, haz clic en Seguridad. Si no puedes ver la pestaña "Seguridad", selecciona el menú desplegable y, a continuación, haz clic en Seguridad.
    Captura de pantalla de un encabezado de repositorio en el que se muestran las pestañas. La pestaña "Seguridad" está resaltada con un contorno naranja oscuro.
    No deberían aparecer nuevas alertas para el secreto que acabas de introducir en el archivo.

procedimientos recomendados

Algunos de los procedimientos recomendados son los siguientes:

  • Minimizar el número de directorios excluidos y ser lo más preciso posible al definir exclusiones. Esto garantiza que las instrucciones sean lo más claras posible y que las exclusiones funcionen según lo previsto.
  • Explicar por qué se excluye un archivo o carpeta determinado en un comentario en el archivo secret_scanning.yml. Al igual que con el código normal, el uso de comentarios aclara tu intención, lo que facilita a otros usuarios comprender el comportamiento deseado.
  • Revisar el archivo secret_scanning.yml de forma periódica. Es posible que algunas exclusiones ya no se apliquen con el tiempo, y es recomendable mantener el archivo limpio y actualizado. El uso de comentarios, como se indicó anteriormente, puede ayudar con esto.
  • Informar al equipo de seguridad de qué archivos y carpetas has excluido y por qué. Una buena comunicación es fundamental para garantizar que todos los usuarios estén al tanto y comprendan por qué se excluyen carpetas o archivos específicos.