Skip to main content
Publicamos actualizaciones para la documentación con frecuencia y es posible que aún se esté traduciendo esta página. Para obtener la información más reciente, consulta la documentación en inglés.

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 del code scanning en GitHub.

Code scanning está disponible para repositorios que son propiedad de una organización en GitHub Enterprise Server. Esta característica requiere una licencia para la GitHub Advanced Security. Para obtener más información, vea «Acerca de GitHub Advanced Security».

Nota: El administrador del sitio debe habilitar code scanning para tu instancia de GitHub Enterprise Server para puedas utilizar esta característica. Para obtener más información, vea «Configurar el escaneo de código para tu aplicativo».

Acerca de code scanning con CodeQL

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 dos formas principales para utilizar el análisis de CodeQL para el code scanning:

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

Acerca de CodeQL

El CodeQL trata el código como datos, permitiéndote encontrar vulnerabilidades potenciales en tu 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 del code scanning en GitHub Enterprise Server cuando utilizas al CodeQL con el 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.

  • C/C++
  • C#
  • Go
  • Java
  • JavaScript/TypeScript
  • Python
  • Ruby

Notas:

  • El análisis de CodeQL para Ruby se encuentra actualmente en versión beta. Durante el beta, el análisis para Ruby será menos exhaustivo que el análisis de CodeQL para otros lenguajes.
  • Usa javascript para analizar el código escrito en JavaScript, TypeScript o ambos.

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

Acerca de las consultas de CodeQL

Los expertos de GitHub, investigadores de seguridad y contribuyentes comunitarios escriben y mantienen las consultas predeterminadas de CodeQL que se utilizan para el code scanning. Las consultas se actualizan frecuentemente para mejorar el análisis y reducir cualquier resultado falso positivo. Las consultas son código abierto, por lo que puede ver y contribuir en ellas en el repositorio de github/codeql. Para obtener más información, consulte CodeQL en el sitio web de CodeQL. También puede escribir consultas propias. Para obtener más información, consulte "Acerca de las consultas de CodeQL" en la documentación de CodeQL.

Si vas a examinar el código con la configuración avanzada o un sistema de CI externo, puedes ejecutar consultas adicionales como parte del análisis. Las consultas que quieras ejecutar deben pertenecer al paquete de QL en un repositorio. Las consultas solo deberán depender de las bibliotecas estándar (es decir, a las que se hace referencia mediante una instrucción import LANGUAGE en la consulta), o bien de aquellas en el mismo paquete de QL que la consulta.