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.

Esta versión de GitHub Enterprise se discontinuó el 2023-03-15. 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. Para obtener ayuda con la actualización, póngase en contacto con el soporte técnico de GitHub Enterprise.

Uso de consultas personalizadas con la CLI de CodeQL

Puedes escribir tus propias consultas de CodeQL para buscar vulnerabilidades y errores específicos.

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

Nota: Este artículo se migró desde el sitio web de documentación de CodeQL en enero de 2023.

Consultas personalizadas y la CodeQL CLI

Puedes personalizar los análisis de CodeQL escribiendo tus propias consultas para destacar vulnerabilidades o errores específicos.

Este tema trata específicamente cómo escribir consultas para usarlas con el comando database analyze con el fin de generar resultados interpretados.

Nota: Las consultas que se ejecutan con database analyze tienen estrictos requisitos de metadatos. También puedes ejecutar consultas con los siguientes subcomandos de nivel de asociación:

  • database run-queries, que genera resultados no interpretados en un formato binario intermedio denominado BQRS.
  • query run, que genera archivos BQRS o imprime tablas de resultados directamente en la línea de comandos. La visualización de los resultados directamente en la línea de comandos puede ser útil para el desarrollo de consultas iterativas mediante la CLI.

Las consultas que se ejecutan con estos comandos no tienen los mismos requisitos de metadatos. Aun así, para guardar datos legibles para el usuario, debes procesar cada archivo de resultados BQRS mediante el subcomando de asociación bqrs decode. Por lo tanto, en la mayoría de los casos de uso, es más fácil usar el comando database analyze para generar directamente resultados interpretados.

Escritura de una consulta válida

Antes de ejecutar un análisis personalizado, debes escribir una consulta válida y guardarla en un archivo con una extensión .ql. Hay mucha documentación disponible para ayudarte a escribir consultas. Para obtener más información, consulta "Consultas de CodeQL".

Inclusión de metadatos de consulta

Los metadatos de consulta se incluyen en la parte superior de cada archivo de consulta. Proporcionan a los usuarios información sobre la consulta e indican a la CodeQL CLI cómo procesar los resultados de la consulta.

Al ejecutar consultas con el comando database analyze, debes incluir las dos propiedades siguientes para asegurarte de que los resultados se interpretan correctamente:

  • Identificador de la consulta (@id): una secuencia de palabras compuestas de letras minúsculas o dígitos, delimitados por / o -, que identifican y clasifican la consulta.

  • Tipo de consulta (@kind): identifica la consulta como una alerta simple (@kind problem), una alerta documentada por una secuencia de ubicaciones de código (@kind path-problem), para la solución de problemas del extractor (@kind diagnostic) o como una métrica de resumen (@kind metric y @tags summary).

Para obtener más información sobre estas propiedades de metadatos, consulta "Metadatos para las consultas de CodeQL" y la guía de estilo de los metadatos de consulta.

Nota: Los requisitos de metadatos pueden variar si quieres usar tu consulta con otras aplicaciones. Para obtener más información, consulta "Metadatos para las consultas de CodeQL".

Contribución al repositorio de CodeQL

Si quieres compartir tu consulta con otros usuarios de CodeQL, puedes abrir una solicitud de incorporación de cambios en el repositorio de CodeQL. Para obtener más información, consulta "Contribución a CodeQL".

Información adicional