Skip to main content

Establecimiento de la configuración predeterminada para el examen de código a gran escala

Puedes configurar rápidamente el code scanning para los repositorios de toda la organización usando la configuración predeterminada.

¿Quién puede utilizar esta característica?

Propietarios de la organización, administradores de seguridad y miembros de la organización con el rol de administrador

Code scanning está disponible para los siguientes tipos de repositorios:

  • Repositorios públicos en GitHub.com
  • Repositorios propiedad de la organización en GitHub Enterprise Cloud con GitHub Advanced Security habilitado

Acerca del establecimiento de la configuración predeterminada a gran escala

La configuración predeterminada para el code scanning permite proteger rápidamente el código de los repositorios de toda la organización.

Puedes habilitar code scanning para todos los repositorios aptos en tu organización para la configuración predeterminada. Después de habilitar la configuración predeterminada, el código escrito en lenguajes compatibles con CodeQL en repositorios de la organización se analizará:

  • En cada envío de cambios a la rama predeterminada del repositorio o cualquier rama protegida. Para más información sobre las ramas protegidas, consulta "Acerca de las ramas protegidas".
  • Al crear o confirmar una solicitud de cambios basado en la rama por defecto del repositorio, o cualquier rama protegida, excluyendo pull requests de forks.
  • Según una programación semanal.

Para obtener más información, consulta "Establecimiento de la configuración predeterminada para todos los repositorios aptos de una organización".

También puedes usar la información general de seguridad para buscar un conjunto de repositorios de la organización y habilitar o deshabilitar la configuración predeterminada para todos ellos al mismo tiempo. Para obtener más información, consulta "Establecimiento de la configuración predeterminada para un subconjunto de repositorios de una organización".

También puedes crear configuraciones predeterminadas diferentes para repositorios individuales. Para obtener más información sobre cómo establecer la configuración predeterminada a nivel de repositorio, consulta "Establecimiento de la configuración predeterminada para el examen del código".

En el caso de los repositorios que no son aptos para la configuración predeterminada, puedes establecer la configuración avanzada a nivel de repositorio o a nivel de la organización con un script. Para obtener más información, vea «Establecimiento de la configuración avanzada para el examen de código con CodeQL a gran escala».

Repositorios aptos para la configuración predeterminada de CodeQL a gran escala

Un repositorio debe cumplir todos los criterios siguientes para ser aptos para la configuración predeterminada; de lo contrario, debes usar la configuración avanzada.

  • La configuración avanzada para code scanning aún no está habilitada.
  • GitHub Actions se han habilitado.
  • Visible públicamente o GitHub Advanced Security está habilitado.

Se recomienda habilitar la configuración predeterminada para repositorios aptos si hay alguna posibilidad de que los repositorios incluyan al menos un lenguaje compatible con CodeQL en el futuro. Si habilitas la configuración predeterminada en un repositorio que no incluya ningún lenguaje compatible con CodeQL, la configuración predeterminada no ejecutará ningún análisis ni usará ningún minuto de GitHub Actions. Si se agregan al repositorio lenguajes compatibles con CodeQL, la configuración predeterminada comenzará automáticamente a analizar los lenguajes compatibles con CodeQL y a usar minutos de GitHub Actions. Para más Información sobre los lenguajes compatibles con CodeQL, consulta "Acerca del examen de código con CodeQL".

Note

La configuración predeterminada de todos los repositorios de una organización a través de la página de configuración de la organización no invalidará las configuraciones existentes de la configuración predeterminada. Sin embargo, la configuración predeterminada en un subconjunto de repositorios de una organización mediante la información general sobre seguridad invalidará los ajustes existentes de la configuración predeterminada en esos repositorios.

Acerca de la adición de lenguajes a una configuración predeterminada

Si el código de un repositorio cambia para incluir un lenguaje admitido por CodeQL, GitHub actualizará automáticamente la configuración de code scanning para incluir el nuevo lenguaje. Si el code scanning da error con la nueva configuración, GitHub reanuda automáticamente la configuración anterior para que el repositorio no pierda la cobertura de code scanning.

Establecimiento de la configuración predeterminada para todos los repositorios aptos de una organización

Puedes habilitar la configuración predeterminada para todos los repositorios aptos de tu organización. Para obtener más información, vea «Habilitación de características de seguridad a gran escala».

Extensión de la cobertura de CodeQL en la configuración predeterminada

En la página de configuración de seguridad de la organización, puedes extender la cobertura en la configuración predeterminada utilizando paquetes de modelos para todos los repositorios aptos de la organización. Para obtener más información, vea «Editar la configuración predeterminada».

Establecimiento de la configuración predeterminada para un subconjunto de repositorios de una organización

Puedes filtrar por repositorios específicos para los que deseas configurar la configuración predeterminada. Para obtener más información, vea «Aplicación de una configuración de seguridad personalizada».

La información general de seguridad de la organización permite buscar repositorios aptos para la configuración predeterminada y habilitar esta configuración en todos los repositorios simultáneamente. Para obtener más información sobre la idoneidad de los repositorios, consulta "Repositorios aptos para la configuración predeterminada de CodeQL a gran escala".

Búsqueda de repositorios aptos para la configuración predeterminada

  1. En GitHub, navega a la página principal de tu organización.

  2. En el nombre de la organización, haga clic en Seguridad .

    Captura de pantalla de la barra de navegación horizontal de una organización. Una pestaña, etiquetada con un icono de escudo y "Seguridad", está resaltado en naranja oscuro.

  3. En la barra lateral, haz clic en Cobertura para mostrar la vista "Cobertura de seguridad".

    Captura de pantalla de la vista "Cobertura de seguridad".

  4. En la barra de búsqueda, escribe una de las siguientes consultas:

    • code-scanning-default-setup:eligible is:public muestra los repositorios que son aptos para la configuración predeterminada porque son visibles para el público y tienen habilitado GitHub Actions.
    • code-scanning-default-setup:eligible advanced-security:enabled muestra repositorios privados o internos que son aptos para la configuración predeterminada porque tienen habilitado tanto GitHub Advanced Security como GitHub Actions.
    • code-scanning-default-setup:not-eligible muestra los repositorios que no son aptos para habilitar la configuración predeterminada a gran escala por cualquiera de los siguientes motivos:
      • Los repositorios ya tienen ajustes existentes de configuración avanzada.
      • Los repositorios no tienen habilitado GitHub Actions.
      • Los repositorios son privados o internos y no tienen habilitado GitHub Advanced Security.

Configuración de la protección contra la fusión para todos los repositorios de una organización

Puede usar conjuntos de reglas para evitar que las solicitudes de incorporación de cambios se combinen cuando se cumple una de las condiciones siguientes:

  • Una herramienta necesaria encontró una alerta code scanning de una gravedad definida en un conjunto de reglas.

  • Un análisis de la herramienta code scanning requerida todavía está en curso.

  • Una herramienta code scanning requerida no está configurada para el repositorio.

Para obtener más información, vea «Establecimiento de la protección contra la fusión de análisis de códigos». Para obtener información más general sobre los conjuntos de reglas, consulte "Acerca de los conjuntos de reglas".