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

Repositorios propiedad de la organización 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.
  • 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".

Nota: 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á los ajustes 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

En la página de configuración de la organización "Seguridad y análisis del código", puedes habilitar la configuración predeterminada para todos los repositorios aptos de la organización. 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".

  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, haga clic en Análisis y seguridad del código.
  4. Haz clic en Habilitar todo junto a "Code scanning".
  5. En la sección "Conjuntos de consultas" del cuadro de diálogo "Habilitar code scanning, selecciona el conjunto de consultas en el que se ejecutará la definición de la configuración predeterminada. Para obtener más información, vea «Conjuntos de consultas codeQL».
  6. Para habilitar la definición de la configuración predeterminada, haz clic en Habilitar para repositorios aptos.
  7. Opcionalmente, para recomendar el conjunto de consultas "Extendido" en toda la organización al habilitar la configuración predeterminada, selecciona "Recomendar el conjunto de consultas extendido para repositorios que habilitan la configuración predeterminada".

Notas:

  • Si deshabilitas CodeQL code scanning para todos los repositorios, este cambio no se reflejará en la información de cobertura que se muestra en la información general de seguridad de la organización. Los repositorios seguirán teniendo code scanning habilitado en la vista "Cobertura de seguridad".
  • La habilitación de code scanning para todos los repositorios aptos de una organización no invalidará las configuraciones existentes de code scanning. Para obtener información sobre cómo definir la configuración predeterminada con diferentes opciones para repositorios específicos, consulta “Establecimiento de la configuración predeterminada para el examen del código” y “Establecimiento de la configuración predeterminada para un subconjunto de repositorios de una organización”.
  • Habilitar la configuración predeterminada para todos los repositorios aptos de una organización incluye repositorios aptos sin lenguajes compatibles con CodeQL. Si más adelante se agrega un lenguaje compatible con CodeQL a uno de estos repositorios, la configuración predeterminada comenzará a analizar ese repositorio y a consumir minutos de GitHub Actions.

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

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 repositorios que tienen idiomas adecuados para la configuración predeterminada y son aptos porque son visibles para el público.
    • code-scanning-default-setup:eligible advanced-security:enabled muestra repositorios privados o internos que tienen idiomas adecuados para la configuración predeterminada y son aptos porque tienen habilitado GitHub Advanced Security.
    • code-scanning-default-setup:eligible is:private,internal advanced-security:not-enabled muestra repositorios privados o internos que tienen idiomas adecuados para la configuración predeterminada pero no tienen habilitado GitHub Advanced Security. Una vez que habilite GitHub Advanced Security para estos repositorios, también se pueden agregar a la configuración predeterminada.

Puedes seleccionar todos los repositorios mostrados, o un subconjunto de ellos, y habilitar o deshabilitar la configuración predeterminada de code scanning para ellos al mismo tiempo. Para obtener más información, consulta el paso 5 de "Establecimiento de la configuración predeterminada a gran escala para varios repositorios de una organización".

Establecimiento de la configuración predeterminada a gran escala para varios repositorios de una organización

  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. Puedes usar la barra de búsqueda para restringir los repositorios visibles en la vista "Cobertura de seguridad" en función del nombre o en el estado de habilitación de las características de seguridad. Por ejemplo, para filtrar los repositorios que son aptos para la configuración predeterminada y que actualmente no la tienen habilitada, busca code-scanning-default-setup:eligible.

  5. En la lista de repositorios, selecciona cada repositorio para el que quieres habilitar el code scanning.

    • Para habilitar code scanning para todos los repositorios en la página, marca la casilla situada junto a NÚMERO activos.
    • Para habilitar code scanning para todos los repositorios que coincidan con la búsqueda actual, marca la casilla situada junto a NÚMERO activos y, a continuación, haz clic en Seleccionar los NÚMERO repositorios.
  6. Haz clic en Configuración de seguridad junto a NÚMERO seleccionados.

  7. En el panel lateral, en la sección "Configuración predeterminada de CodeQL", selecciona Sin cambios y haz clic en Habilitar.

  8. Opcionalmente, para elegir un conjunto de consultas diferente al conjunto de consultas predeterminado de la organización, selecciona Conjunto de consultas: NOMBRE DEL CONJUNTO y, a continuación, haz clic en el conjunto de consultas que la configuración predeterminada debe usar. Para más información, consulta "Conjuntos de consultas codeQL".

  9. Para confirmar la habilitación del code scanning para los repositorios seleccionados, haz clic en Aplicar cambios NÚMERO. Como alternativa, para seleccionar o anular la selección de más repositorios para la habilitación del code scanning, haz clic en para cerrar el panel sin aplicar los cambios.

Notas:

  • Al habilitar code scanning para varios repositorios de una organización mediante información general sobre seguridad, se invalidarán los ajustes existentes de code scanning para los repositorios seleccionados, incluidas las selecciones y los flujos de trabajo anteriores del conjunto de consultas para configuraciones avanzadas.
  • Puedes habilitar la configuración predeterminada para repositorios aptos que no contengan lenguajes compatibles con CodeQL. Si más adelante se agrega un lenguaje compatible con CodeQL a uno de estos repositorios, la configuración predeterminada comenzará a analizar ese repositorio y a consumir minutos de GitHub Actions.

Captura de pantalla de la vista "Cobertura de seguridad" con el panel lateral abierto. El botón "Aplicar cambios" está resaltado con un contorno naranja oscuro.

Si no puedes habilitar el code scanning debido a una directiva empresarial, puedes ver el repositorio afectado en la vista "Cobertura de seguridad" y acceder al panel lateral desde el botón Configuración de seguridad. Sin embargo, verás un mensaje en el panel lateral que indica que no puedes habilitar el code scanning para los repositorios seleccionados. Para obtener más información sobre las directivas empresariales, consulta "Aplicación de directivas de seguridad y análisis de código de la empresa".

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