Skip to main content

Acerca de la CLI de CodeQL

Puedes usar la CodeQL CLI para ejecutar procesos de CodeQL localmente en proyectos de software o para generar resultados de code scanning para su carga en GitHub Enterprise Server.

Las licencias de GitHub CodeQL se otorgan por usuario tras la instalación. Puedes usar CodeQL solo para determinadas tareas según las restricciones de las licencias. Para obtener más información, vea «Acerca de la CLI de CodeQL».

Si tienes una licencia de GitHub Advanced Security, puedes usar CodeQL para el análisis automatizado, la integración continua y la entrega continua. Para obtener más información, vea «Acerca de GitHub Advanced Security».

Acerca de CodeQL CLI

Los desarrolladores de software y los investigadores de seguridad pueden proteger su código mediante el análisis de CodeQL. Para más información sobre CodeQL, consulta "Acerca del examen de código con CodeQL".

La CodeQL CLI es una herramienta de línea de comandos independiente que puedes utilizar para analizar código. Su propósito principal es generar una representación de base de datos de una base de código, una base de datos de CodeQL. Una vez que esté lista la base de datos, puedes consultarla interactivamente o ejecutar un varias consultas para generar un conjunto de resultados en formato SARIF y cargarlos a tu instancia de GitHub Enterprise Server.

Puedes usar la CodeQL CLI para:

  • Ejecutar análisis de CodeQL usando consultas proporcionadas por ingenieros de GitHub y por la comunidad de código abierto.
  • Generar alertas de examen de código que puedes cargar para mostrar en GitHub Enterprise Server
  • Crear bases de datos de CodeQL para usarlas en la extensión CodeQL para Visual Studio Code.
  • Desarrollar y probar consultas personalizadas de CodeQL para usarlas en tus propios análisis.

La CodeQL CLI puede analizar:

  • Lenguajes dinámicos, por eje mplo, JavaScript y Python.
  • Lenguajes compilados, por ejemplo, C/C++, C#, y Java.
  • Bases de código escritas en varios lenguajes.

Para más información sobre la configuración de la CodeQL CLI, consulta "Configuración de la CLI de CodeQL."

Para obtener información sobre el uso de la CodeQL CLI en un sistema de CI de terceros a fin de crear resultados que se muestren en GitHub como alertas de análisis de código, consulta Configuración de la CodeQL CLI en el sistema de CI. Para obtener información sobre la habilitación del examen del código en CodeQL con GitHub Actions, consulta "Establecimiento del examen de código con CodeQL".

Acerca de utilizar el CodeQL CLI para el code scanning

Puedes usar la CodeQL CLI para ejecutar code scanning en el código que estás procesando en un sistema de integración continua (CI) de terceros. Code scanning es una característica que se usa para analizar el código en un repositorio de GitHub para buscar vulnerabilidades de seguridad y errores de código. Cualquier problema que se identifique con el análisis se muestra en GitHub Enterprise Server. Para información general sobre las opciones de los sistemas de CI, consulta "Acerca del escaneo de código de CodeQL en tu sistema de IC". Para conocer las especificaciones recomendadas (RAM, núcleos de CPU y disco) para ejecutar análisis de CodeQL, consulta "Recursos de hardware recomendados para ejecutar CodeQL".

Como alternativa, puedes usar GitHub Actions o canalizaciones de Azure DevOps para examinar el código mediante la CodeQL CLI. Para obtener más información, consulta "Establecimiento del examen de código con CodeQL" o Configurar GitHub Advanced Security for Azure DevOps en Microsoft Learn.

Para obtener información general de todas las opciones para usar el análisis de CodeQL para el examen de código, consulta "Acerca del examen de código con CodeQL".

Notas:

  • La CodeQL CLI se encuentra disponible para los clientes con una licencia de la Advanced Security.

  • La CodeQL CLI no es compatible actualmente con distribuciones de Linux que no sean glibc, como Alpine Linux (basado en musl).

Acerca de generar los resultados del escaneo de código con el CodeQL CLI

Si decides ejecutar la CodeQL CLI directamente, primero tienes que instalar la CodeQL CLI localmente. Si pretendes usar la CodeQL CLI con un sistema de CI externo, debes poner la CodeQL CLI a disposición de los servidores del sistema de CI y asegurarte de que se pueden autenticar con GitHub Enterprise Server. Para obtener más información, vea «Configuración de la CLI de CodeQL».

Una vez configurada la CodeQL CLI, puedes usar tres comandos diferentes para generar resultados y cargarlos en GitHub Enterprise Server:

  1. database create para crear una base de datos de CodeQL que represente la estructura jerárquica de cada lenguaje de programación admitido en el repositorio. Para obtener más información, vea «Preparación del código para el análisis de CodeQL».
  2. database analyze para ejecutar consultas para analizar cada base de datos de CodeQL y resumir los resultados en un archivo SARIF. Para obtener más información, vea «Análisis del código con consultas de CodeQL».
  3. github upload-results para cargar los archivos SARIF resultantes a GitHub Enterprise Server, donde los resultados se comparan con una rama o solicitud de incorporación de cambios y se muestran como alertas del code scanning. Para obtener más información, vea «Carga de los resultados del análisis de CodeQL en GitHub».

Acerca de la licencia de GitHub CodeQL

Aviso sobre la licencia: Si no tienes una licencia de GitHub Enterprise, al instalar este producto aceptas los términos y condiciones de GitHub CodeQL.

Las licencias de GitHub CodeQL se otorgan por usuario. De conformidad con las restricciones de las licencias, puedes usar CodeQL para realizar las siguientes tareas:

  • Realizar investigaciones académicas.
  • Hacer demostraciones del software.
  • Probar las consultas de CodeQL publicadas bajo una licencia aprobada por la OSI para confirmar que las nuevas versiones de esas consultas siguen detectando las vulnerabilidades adecuadas.

"Licencia aprobada por la OSI" hace referencia a una licencia de software de código abierto aprobada por la Iniciativa para el Código Abierto (OSI, por sus siglas en inglés).

Si trabajas con un código base de código abierto (es decir, un código base que se publica bajo una licencia aprobada por la OSI), también puedes usar CodeQL para las siguientes tareas:

  • Realizar análisis del código base de código abierto.
  • Generar bases de datos de CodeQL para o durante el análisis automatizado, la integración continua o la entrega continua, solo si el código base de código abierto se hospeda y mantiene en GitHub.com.

Salvo en los casos específicos definidos en este documento, no se puede usar CodeQL para el análisis automatizado, la integración continua o la entrega continua, ya sea como parte de procesos normales de ingeniería de software o de otro modo. Para estos usos, ponte en contacto con el equipo de ventas.