Skip to main content

Enterprise Server 3.21 actualmente está disponible como versión candidata para lanzamiento.

Acerca de los tipos de configuración para el examen de código

Dependiendo de sus necesidades, GitHub ofrece una configuración predeterminada o avanzada para code scanning.

Acerca de la configuración predeterminada

La configuración predeterminada para code scanning es la manera más rápida, más sencilla y de bajo mantenimiento para habilitar code scanning para el repositorio. En función del código del repositorio, la configuración predeterminada creará automáticamente una configuración personalizada code scanning . Después de habilitar la configuración predeterminada, el código escrito en CodeQL idiomas admitidos en el repositorio se analizará mediante CodeQL:

  • 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 incorporación de cambios basada en la rama por defecto del repositorio, o cualquier rama protegida, excluidas las solicitudes de incorporación de cambios desde bifurcaciones.
  • Según una programación semanal.

Idiomas compatibles

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 los idiomas compatibles con CodeQL se agregan a la reama predeterminada del repositorio, la configuración predeterminada comenzará automáticamente a analizar los idiomas 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.

Si el código de un repositorio cambia para incluir los CodeQLidiomas admitidos, GitHub actualizará automáticamente la code scanning configuración para incluir el nuevo idioma. Si code scanning se produce un error con la nueva configuración, GitHub reanudará automáticamente la configuración anterior para que el repositorio no pierda code scanning cobertura.

Personalización de la configuración predeterminada

Después de ejecutar un análisis inicial del código con la configuración predeterminada, puede realizar cambios en la configuración para satisfacer mejor sus necesidades.

Opciones de configuración

Para las configuraciones existentes de la configuración predeterminada, puedes editar:

  • Qué lenguajes se analizarán con la configuración predeterminada.
  • El conjunto de consultas que se ejecuta durante el análisis. Para obtener más información sobre los conjuntos de consultas disponibles, consulta Conjuntos de consultas codeQL.
  • Los modelos de amenazas (versión preliminar pública) que se van a usar para el análisis. La elección del modelo de riesgos determina qué orígenes de datos contaminados se tratan como un riesgo para la aplicación. Durante el versión preliminar pública, los modelos de amenazas solo se permiten para el análisis de Java/Kotlin y C#. Para obtener más información sobre los modelos de riesgos, consulta Incluir orígenes locales de datos contaminados en la configuración predeterminada.

Si tu base de código depende de una biblioteca de software o un framework que no sean reconocidos por las bibliotecas estándar incluidas con CodeQL, también puedes ampliar la cobertura en la configuración predeterminada de CodeQL utilizando paquetes de modelos de CodeQL. Para obtener más información, consulta Extender la cobertura de CodeQL con paquetes de modelos codeQL en la configuración predeterminada.

Hay disponibles opciones de configuración adicionales que se comparten entre todos los code scanning tipos de instalación. Consulte Propiedades del repositorio para code scanning.

Ejecutores disponibles

Puede usar la configuración predeterminada para todos los CodeQLidiomas admitidos en ejecutores autohospedados o GitHubejecutores hospedados.

Puede asignar ejecutores autohospedados para la configuración predeterminada proporcionando a los ejecutores la etiqueta predeterminada code-scanning o, opcionalmente, puede asignarles etiquetas personalizadas para que los repositorios individuales puedan usar diferentes ejecutores.

Salvo que se trate de un caso de uso específico, se recomienda asignar a los ejecutores solo la etiqueta predeterminada code-scanning. Sin embargo, es posible que quiera usar etiquetas personalizadas para:

  • Asigne ejecutores autohospedados más eficaces a repositorios críticos para un análisis más rápido code scanning .
  • code scanning Ejecute los análisis en una plataforma determinada (por ejemplo, macOS).
  • Tener un control pormenorizado sobre la carga de trabajo de GitHublos ejecutores hospedados y los ejecutores autohospedados.

Acerca de la configuración avanzada

Si necesita un control más pormenorizado sobre la code scanning configuración, en su lugar debe realizar una configuración avanzada. La configuración avanzada para code scanning resulta útil cuando necesita personalizar su code scanning. Puede configurar code scanning con GitHub Actions o un sistema externo de integración continua o entrega/despliegue continuo (CI/CD).

Si ejecutas el análisis de código mediante varias configuraciones, en ocasiones una alerta tendrá varios orígenes de análisis. Si una alerta tiene varios orígenes de análisis, puede ver el estado de la alerta para cada origen de análisis en la página de alertas. Para más información, consulta Acerca de las alertas de análisis de código.

Con GitHub Actions

Al crear y editar un GitHub Actions archivo de flujo de trabajo, puede definir cómo crear lenguajes compilados, elegir qué consultas ejecutar, seleccionar los idiomas que se van a examinar, usar una compilación de matriz, etc. También tiene acceso a todas las opciones para controlar los flujos de trabajo, por ejemplo: cambiar la programación de examen, definir desencadenadores de flujos de trabajo, especificar los ejecutores especialistas que se van a usar.

El administrador del sitio también puede hacer que las acciones de terceros estén disponibles para los usuarios para code scanning, configurando GitHub Connect. Para más información, consulta Configuración del análisis de código para el dispositivo.

Con un sistema de CI/CD de terceros

Como alternativa a la ejecución de code scanning dentro de GitHub usando GitHub Actions, puede analizar el código en un sistema de CI/CD externo y, a continuación, cargar los resultados en GitHub.

          CodeQL CLI es una herramienta de línea de comandos independiente que puede usar para analizar código. Puede agregar el CodeQL CLI a su sistema de terceros o usar otra herramienta de análisis estático de terceros que pueda generar resultados como datos en el formato de intercambio de resultados de análisis estático (SARIF) 2.1.0. Para más información, consulta [AUTOTITLE](/code-security/codeql-cli/getting-started-with-the-codeql-cli/about-the-codeql-cli) y [AUTOTITLE](/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning).

Las alertas de code scanning que genera externamente se muestran de la misma manera que las para code scanning las que se generan en GitHub.

Pasos siguientes

Puede habilitar la configuración predeterminada para un único repositorio, varios repositorios o todos los repositorios de una organización al mismo tiempo.

Para configurar la configuración avanzada en su lugar, consulte Establecimiento de la configuración avanzada para el examen del código.