Skip to main content

Esta versión de GitHub Enterprise Server se discontinuará el 2026-04-09. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. Para obtener rendimiento mejorado, seguridad mejorada y nuevas características, actualice a la versión más reciente de GitHub Enterprise Server. Para obtener ayuda con la actualización, póngase en contacto con el soporte técnico de GitHub Enterprise.

Acerca del examen de código con CodeQL

Puedes utilizar CodeQL para identificar las vulnerabilidades y errores en tu código. Los resultados se muestran como alertas de code scanning en GitHub.

¿Quién puede utilizar esta característica?

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

  • Repositorios públicos en GitHub.com
  • Repositorios propiedad de la organización en GitHub Team, GitHub Enterprise Cloud, o GitHub Enterprise Server, con GitHub Advanced Security habilitados.

Nota:

El administrador del sitio debe habilitar code scanning antes de que puedas utilizar esta característica. Para más información, consulta Configuración la digitalización de código para el dispositivo.

Es posible que no puedas habilitar o deshabilitar code scanning si un propietario de una empresa ha establecido una directiva de GitHub Advanced Security en el nivel de la empresa. Para más información, consulta Aplicación de directivas de seguridad y análisis de código de la empresa.

CodeQL es el motor de análisis de código que desarrolló GitHub para automatizar las verificaciones de seguridad. Puedes analizar tu código utilizando CodeQL y mostrando los resultados como alertas del code scanning.

Hay tres maneras principales de utilizar el análisis de CodeQL para code scanning:

Nota:

En GitHub Enterprise Server 3.15, la acción CodeQL utiliza la versión 2.18.4 de CodeQL CLI de forma predeterminada. Se recomienda usar la misma versión de CodeQL CLI si ejecutas análisis en un sistema de CI externo.

Para más información sobre alertas de code scanning, consulta Acerca de las alertas de análisis de código.

Acerca de CodeQL

CodeQL es un lenguaje de programación y herramientas asociadas que tratan código como datos. Se creó explícitamente para facilitar el análisis de código y encontrar posibles vulnerabilidades en el código con mayor confianza que los analizadores estáticos tradicionales.

  1. Generas una base de datos de CodeQL para representar tu base de código.
  2. Entonces, ejecutarás consultas de CodeQL en esa base de datos para identificar problemas en la base de código.
  3. Estos resultados de consulta se muestran como alertas de code scanning en GitHub cuando se utiliza CodeQL con code scanning.

CodeQL es compatible tanto con lenguajes compilados como interpretados, y puede buscar vulnerabilidades y errores en el código escrito en los lenguajes compatibles.

CodeQL admite los siguientes lenguajes:

  • C/C++
  • C#
  • Go
  • Java/Kotlin
  • JavaScript/TypeScript
  • Python
  • Ruby
  • Rust (versión preliminar pública)
  • Swift

Nota:

  • Usa java-kotlin para analizar el código escrito en Java, Kotlin o ambos.
  • Usa javascript-typescript para analizar el código escrito en JavaScript, TypeScript o ambos.

Para más información, consulta la documentación en el sitio web de CodeQL: Lenguajes y marcos admitidos.

Importante

CodeQL no admite lenguajes que no se enumeran anteriormente. Esto incluye, entre otros, PHP y Scala. Si se intenta usar CodeQL con lenguajes no admitidos, es posible que no se generen alertas y los análisis sean incompletos.

Modelado de marcos personalizados o de nicho

Expertos de GitHub, investigadores de seguridad y colaboradores de la comunidad escriben bibliotecas para modelar el flujo de datos en marcos y bibliotecas populares. Si usas dependencias personalizadas que no están modeladas, puedes usar la extensión CodeQL para Visual Studio Code para crear modelos para estas dependencias y usarlos para ampliar el análisis. Para más información, consulta Uso del editor de modelos de CodeQL.

Consultas de CodeQL

Los expertos en GitHub, los investigadores de seguridad y los colaboradores comunitarios escriben y mantienen las consultas predeterminadas de CodeQL que se utilizan para code scanning. Las consultas se actualizan periódicamente para mejorar el análisis y reducir los falsos positivos. Para obtener más información sobre las consultas disponibles en los paquetes predeterminados y extendidos, consulta Consultas incluidas en los conjuntos de consultas predeterminados y con extensión de seguridad.

Escribir sus propias consultas

Las consultas son de código abierto, por lo que puede verlas y contribuir a ellas en el repositorio github/codeql. Para obtener más información, consulta Acerca de las consultas de CodeQL en la documentación de CodeQL.

Ejecutar consultas adicionales

Si vas a examinar el código con una configuración avanzada o un sistema de CI externo, puedes ejecutar consultas adicionales como parte del análisis.

Estas consultas deben pertenecer a un paquete de consultas de CodeQL publicado o un paquete de CodeQL en un repositorio.

  • Cuando un paquete de consultas de CodeQL se publica en el Container registry de GitHub, todas las dependencias transitivas que requieren las consultas y un caché de compilación se incluyen en el paquete. Esto mejora el rendimiento y garantiza que el ejecutar las consultas del paquete proporciona resultados idénticos cada vez que actualizas a una versión nueva del paquete o de CLI.

  • Los paquetes de consultas de CodeQL pueden descargarse de varios registros de contenedor GitHub. Para más información, consulta Opciones de configuración de flujo de trabajo para el examen de código.

Para más información, consulta Personalización del análisis con paquetes de CodeQL.