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?

Secret scanning alerts for partners runs automatically on public repositories and public npm packages to notify service providers about leaked secrets on GitHub.

Secret scanning alerts for users are available for public repositories for free. Organizations using GitHub Enterprise Cloud with a license for GitHub Advanced Security can also enable secret scanning alerts for users on their private and internal repositories. For more information, see "About secret scanning alerts" and "About GitHub Advanced Security."

For information about how you can try GitHub Enterprise with GitHub Advanced Security for free, see "Setting up a trial of GitHub Enterprise Cloud" and "Setting up a trial of GitHub Advanced Security" in the GitHub Enterprise Cloud documentation.

Acerca de secret scanning

Secret scanning detecta automáticamente tokens o credenciales que se han insertado en un repositorio. Puedes ver alertas de examen de secretos para usuarios 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 alertas de examen de secretos para usuarios

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 alertas de examen de secretos para usuarios

  1. En GitHub.com, navega a la página principal del repositorio.

  2. Sobre la lista de archivos, selecciona el menú desplegable Agregar archivo y, a continuación, haz clic en Crear nuevo archivo.

    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"
    

    Notas:

    • 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.com, navega a 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.