{"meta":{"title":"CLI de CodeQL","intro":"Puede usar CodeQL CLI para ejecutar procesos de CodeQL localmente en proyectos de software o para generar resultados de code scanning para cargarlos en GitHub.","product":"Seguridad y calidad del código","breadcrumbs":[{"href":"/es/code-security","title":"Seguridad y calidad del código"},{"href":"/es/code-security/concepts","title":"Concepts"},{"href":"/es/code-security/concepts/code-scanning","title":"Análisis de código"},{"href":"/es/code-security/concepts/code-scanning/codeql","title":"CodeQL"},{"href":"/es/code-security/concepts/code-scanning/codeql/codeql-cli","title":"CLI de CodeQL"}],"documentType":"article"},"body":"# CLI de CodeQL\n\nPuede usar CodeQL CLI para ejecutar procesos de CodeQL localmente en proyectos de software o para generar resultados de code scanning para cargarlos en GitHub.\n\nLos desarrolladores de software y los investigadores de seguridad pueden proteger su código mediante el análisis CodeQL. Para obtener más información sobre CodeQL, consulta [Análisis de código con CodeQL](/es/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql#about-codeql).\n\nCodeQL CLI es una herramienta de línea de comandos independiente que puede usar para analizar código. Su propósito principal es generar una representación de base de datos de un código base, una CodeQL base de datos. Una vez que la base de datos esté lista, puede consultarla de forma interactiva o ejecutar un conjunto de consultas para generar un conjunto de resultados en formato SARIF y cargar los resultados en GitHub.\n\nPuede usar el CodeQL CLI para:\n\n* Ejecute CodeQL análisis con consultas proporcionadas por GitHub ingenieros y la comunidad de código abierto\n* Generación de alertas de análisis de código que puede cargar para mostrar en GitHub\n* Cree CodeQL bases de datos para usar en el CodeQL para la extensión Visual Studio Code.\n* Desarrollo y prueba de consultas personalizadas CodeQL para usarlas en sus propios análisis\n\nCodeQL CLI puede analizar:\n\n* Lenguajes dinámicos, por ejemplo, JavaScript y Python.\n* Lenguajes compilados, por ejemplo, C/C++, C#, Go, Java, Kotlin, Rust, and Swift\n* Bases de código escritas en varios lenguajes.\n\n## Acerca del uso de CodeQL CLI para code scanning\n\nPuede usar CodeQL CLI para ejecutar code scanning en el código que procesa en un sistema de integración continua (CI) de terceros.\nCode 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. Los problemas identificados por el análisis se muestran en el repositorio. Para obtener información general sobre el uso del análisis de código con sistemas de CI externos, consulte [Utilizar el análisis de código de CodeQL con tu sistema de IC existente](/es/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system). Para obtener especificaciones recomendadas (RAM, núcleos de CPU y disco) para ejecutar CodeQL análisis, consulte [Recursos de hardware recomendados para ejecutar CodeQL](/es/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/recommended-hardware-resources-for-running-codeql).\n\nAlternativamente, puede usar GitHub Actions o canalizaciones de Azure DevOps para analizar el código con CodeQL CLI. Para obtener más información, consulte [Establecimiento de la configuración predeterminada para el examen del código](/es/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning) o [Configure GitHub Advanced Security for Azure DevOps](https://learn.microsoft.com/en-us/azure/devops/repos/security/configure-github-advanced-security-features) en Microsoft Learn.\n\nPara obtener una visión general de todas las opciones para usar el análisis con CodeQL para el análisis de código, consulte [Análisis de código con CodeQL](/es/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql).\n\n> \\[!NOTE]\n>\n> * La CodeQL CLI puede usarse libremente en repositorios públicos. CodeQL CLI también está disponible en los repositorios privados que pertenecen a las organizaciones que usan GitHub Team o GitHub Enterprise Cloud y que tienen una licencia de GitHub Code Security. Para obtener información, consulta [Términos y condiciones de GitHub CodeQL](https://securitylab.github.com/tools/codeql/license) y [CLI de CodeQL](https://codeql.github.com/docs/codeql-cli/).\n> * La CodeQL CLI no es compatible actualmente con distribuciones de Linux que no sean glibc, como Alpine Linux (basado en musl).\n\n## Acerca de la generación de resultados de análisis de código con CodeQL CLI\n\nSi decide ejecutar directamente CodeQL CLI , primero tendrá que instalar localmente CodeQL CLI . Si tiene previsto usar el CodeQL CLI con un sistema de CI externo, debe poner el CodeQL CLI a disposición de los servidores de su sistema de CI.\n\nCodeQL CLI Una vez configurado , puede usar tres comandos diferentes para generar resultados y cargarlos en GitHub:\n\n1. `database create` para crear una CodeQL base de datos para representar 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](/es/code-security/codeql-cli/getting-started-with-the-codeql-cli/preparing-your-code-for-codeql-analysis).\n2. `database analyze` para ejecutar consultas para analizar cada CodeQL base de datos y resumir los resultados en un archivo SARIF. Para obtener más información, vea [Analyzing your code with CodeQL queries](/es/code-security/codeql-cli/getting-started-with-the-codeql-cli/analyzing-your-code-with-codeql-queries).\n3. `github upload-results` para cargar los archivos SARIF resultantes en GitHub, donde los resultados se asocian a una rama o a una solicitud de extracción y se muestran como alertas de code scanning. Para obtener más información, vea [Carga de resultados de análisis de CodeQL en GitHub](/es/code-security/codeql-cli/getting-started-with-the-codeql-cli/uploading-codeql-analysis-results-to-github).\n\n> \\[!NOTE]\n> Cargar datos de SARIF para mostrarlos como resultados de code scanning en GitHub se admite en los repositorios propiedad de una organización que tengan GitHub Code Security habilitado y en los repositorios públicos de github.com. Para más información, consulta [Administración de la configuración de seguridad y análisis para el repositorio](/es/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository).\n\n### Configuración de CI de ejemplo para el análisis de CodeQL\n\nEste es un ejemplo de la serie completa de comandos para el CodeQL CLI que puede usar para analizar un código base con dos lenguajes admitidos y, a continuación, cargar los resultados en GitHub.\n\n```shell\n# Create CodeQL databases for Java and Python in the 'codeql-dbs' directory\n# Call the normal build script for the codebase: 'myBuildScript'\n\ncodeql database create codeql-dbs --source-root=src \\\n    --db-cluster --language=java,python --command=./myBuildScript\n\n# Analyze the CodeQL database for Java, 'codeql-dbs/java'\n# Tag the data as 'java' results and store in: 'java-results.sarif'\n\ncodeql database analyze codeql-dbs/java java-code-scanning.qls \\\n    --format=sarif-latest --sarif-category=java --output=java-results.sarif\n\n# Analyze the CodeQL database for Python, 'codeql-dbs/python'\n# Tag the data as 'python' results and store in: 'python-results.sarif'\n\ncodeql database analyze codeql-dbs/python python-code-scanning.qls \\\n    --format=sarif-latest --sarif-category=python --output=python-results.sarif\n\n# Upload the SARIF file with the Java results: 'java-results.sarif'\n# The GitHub App or personal access token created for authentication\n# with GitHub's REST API is available in the `GITHUB_TOKEN` environment variable.\n\ncodeql github upload-results \\\n    --repository=my-org/example-repo \\\n    --ref=refs/heads/main --commit=deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 \\\n    --sarif=java-results.sarif\n\n# Upload the SARIF file with the Python results: 'python-results.sarif'\n\ncodeql github upload-results \\\n    --repository=my-org/example-repo \\\n    --ref=refs/heads/main --commit=deb275d2d5fe9a522a0b7bd8b6b6a1c939552718 \\\n    --sarif=python-results.sarif\n```\n\n### Extracción de bases de datos\n\nCodeQL CLI Utiliza programas especiales, denominados extractores, para extraer información del código fuente de un sistema de software en una base de datos que se puede consultar. Puede personalizar el comportamiento de los extractores estableciendo las opciones de configuración del extractor a través de CodeQL CLI. Consulte [Opciones de extractor](/es/code-security/reference/code-scanning/codeql/codeql-cli/extractor-options).\n\n## Acerca de la licencia de GitHub CodeQL\n\n**Aviso sobre la licencia:** Si no tienes una licencia de GitHub Code Security, al instalar este producto aceptas los [términos y condiciones de GitHub CodeQL](https://github.com/github/codeql-cli-binaries/blob/main/LICENSE.md).\n\nPara obtener información sobre cómo puedes probar GitHub Enterprise con GitHub Advanced Security de forma gratuita, consulta [Configuración de una versión de prueba de GitHub Enterprise Cloud](/es/enterprise-cloud@latest/admin/overview/setting-up-a-trial-of-github-enterprise-cloud) y [Configuración de una evaluación de GitHub Advanced Security](/es/enterprise-cloud@latest/billing/managing-billing-for-your-products/managing-billing-for-github-advanced-security/setting-up-a-trial-of-github-advanced-security#setting-up-your-trial-of-github-advanced-security) en la documentación de GitHub Enterprise Cloud.\n\n## Información sobre CodeQL CLI paquetes de bases de datos\n\nEl CodeQL CLI comando de agrupación de bases de datos se puede usar para crear un archivo reasignable de una CodeQL base de datos.\n\nSe puede usar una copia de un lote de base de datos para compartir información de solución de problemas con los miembros del equipo o con Soporte de GitHub. Consulte [Creación de agrupaciones de bases de datos de la CLI de CodeQL](/es/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/creating-database-bundle-for-troubleshooting).\n\n## Cómo empezar\n\nPara obtener la manera más sencilla de empezar, consulte [Configuración de la CLI de CodeQL](/es/code-security/codeql-cli/getting-started-with-the-codeql-cli/setting-up-the-codeql-cli).\n\nHay disponibles opciones de configuración más avanzadas si las necesita. Por ejemplo, si:\n\n* Quiere contribuir a las consultas compartidas de CodeQL de código abierto y prefiere trabajar directamente con el código fuente de CodeQL. Consulte [Comprobación del código fuente de la CLI de CodeQL](/es/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/check-out-source-code).\n* Es necesario instalar varias versiones del CodeQL CLI lado a lado. Por ejemplo, si un código base requiere una versión específica mientras que otra usa la versión más reciente. Puede descargar cada versión y desempaquetar ambos archivos de la CLI en el mismo directorio primario.\n* Está investigando o desarrollando consultas y desea descargar bases de datos de github.com. Consulte [Descarga de bases de datos codeQL desde GitHub](/es/code-security/how-tos/scan-code-for-vulnerabilities/scan-from-the-command-line/download-databases)."}