{"meta":{"title":"Análisis de código con CodeQL","intro":"Puede usar CodeQL para identificar vulnerabilidades y errores en el código. Los resultados se muestran como code scanning avisos en GitHub.","product":"Seguridad y calidad del código","breadcrumbs":[{"href":"/es/enterprise-cloud@latest/code-security","title":"Seguridad y calidad del código"},{"href":"/es/enterprise-cloud@latest/code-security/concepts","title":"Concepts"},{"href":"/es/enterprise-cloud@latest/code-security/concepts/code-scanning","title":"Análisis de código"},{"href":"/es/enterprise-cloud@latest/code-security/concepts/code-scanning/codeql","title":"CodeQL"},{"href":"/es/enterprise-cloud@latest/code-security/concepts/code-scanning/codeql/codeql-code-scanning","title":"Examen de código de CodeQL"}],"documentType":"article"},"body":"# Análisis de código con CodeQL\n\nPuede usar CodeQL para identificar vulnerabilidades y errores en el código. Los resultados se muestran como code scanning avisos en GitHub.\n\nCodeQL 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.\n\nHay tres maneras principales de usar el análisis CodeQL para code scanning:\n\n* Usa la configuración predeterminada para configurar rápidamente el análisis CodeQL para code scanning en tu repositorio. La configuración predeterminada elige automáticamente los lenguajes que se van a analizar, la suite de consultas que se va a ejecutar y los eventos que activan escaneos. Si lo prefiere, puede seleccionar manualmente el conjunto de consultas para ejecutar y lenguajes que se van a analizar. Después de habilitar CodeQL, GitHub Actions ejecutará ejecuciones de flujo de trabajo para examinar el código. Para obtener más información, vea [Establecimiento de la configuración predeterminada para el examen del código](/es/enterprise-cloud@latest/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning).\n\n* Use la configuración avanzada para agregar el CodeQL flujo de trabajo al repositorio. Esto genera un archivo de flujo de trabajo personalizable que utiliza [github/codeql-action](https://github.com/github/codeql-action/) para ejecutar CodeQL CLI. Para obtener más información, vea [Establecimiento de la configuración avanzada para el examen del código](/es/enterprise-cloud@latest/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/configuring-advanced-setup-for-code-scanning#configuring-advanced-setup-for-code-scanning-with-codeql).\n\n* Ejecute directamente CodeQL CLI en un sistema de CI externo y cargue los resultados en GitHub. Para obtener más información, vea [Utilizar el análisis de código de CodeQL con tu sistema de IC existente](/es/enterprise-cloud@latest/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system).\n\nPara obtener información sobre las alertas code scanning, consulte [Alertas de examen de código](/es/enterprise-cloud@latest/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts).\n\n## Acerca de CodeQL\n\nCodeQL es un lenguaje de programación y herramientas asociadas que tratan el código como los 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.\n\n1. Se genera una CodeQL base de datos para representar el código base.\n2. A continuación, ejecute CodeQL consultas en esa base de datos para identificar problemas en el código base.\n3. Los resultados de la consulta se muestran en forma de code scanning alertas en GitHub cuando se usa CodeQL con code scanning.\n\nCodeQL admite lenguajes compilados e interpretados, y puede encontrar vulnerabilidades y errores en el código escrito en los idiomas admitidos.\n\nCodeQL admite los siguientes idiomas:\n\n<!-- If you update the list of supported languages for CodeQL, update docs-internal/content/get-started/learning-about-github/github-language-support.md to reflect the changes. -->\n\n* C/C++\n* C#\n* Go\n* Java/Kotlin\n* JavaScript/TypeScript\n* Python\n* Ruby\n* Rust\n* Swift\n\n> \\[!NOTE]\n>\n> * Usa `java-kotlin` para analizar el código escrito en Java, Kotlin o ambos.\n> * Usa `javascript-typescript` para analizar el código escrito en JavaScript, TypeScript o ambos.\n\nPara más información, consulta la documentación en el sitio web de CodeQL: [Lenguajes y marcos admitidos](https://codeql.github.com/docs/codeql-overview/supported-languages-and-frameworks/).\n\n> \\[!IMPORTANT]\n> CodeQL**no** admite idiomas que no se enumeran anteriormente. Esto incluye, entre otros, **PHP** y **Scala**. Intentar usar CodeQL con idiomas no admitidos puede dar lugar a que no se generen alertas y a análisis incompletos.\n\n## Modelado de marcos personalizados o de nicho\n\nGitHub Los expertos, investigadores de seguridad y colaboradores de la comunidad escriben bibliotecas para modelar el flujo de datos en frameworks y bibliotecas populares. Si usa dependencias personalizadas que no están modeladas, puede usar la CodeQL extensión para Visual Studio Code crear modelos para estas dependencias y usarlas para ampliar el análisis. Para obtener más información, vea [Uso del editor de modelos de CodeQL](/es/enterprise-cloud@latest/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/using-the-codeql-model-editor).\n\n## Consultas de CodeQL\n\nGitHub expertos, investigadores de seguridad y colaboradores de la comunidad escriben y mantienen las consultas predeterminadas CodeQL usadas para code scanning. Las consultas se actualizan periódicamente para mejorar el análisis y reducir los resultados falsos positivos.\n\n### Escribir sus propias consultas\n\nLas consultas son de código abierto, por lo que puede verlas y contribuir a ellas en el repositorio [github/codeql](https://github.com/github/codeql). Para obtener más información, consulte [Información sobre las consultasCodeQL](https://codeql.github.com/docs/writing-codeql-queries/about-codeql-queries/) en la CodeQL documentación.\n\n### Ejecutar consultas adicionales\n\nSi 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.\n\nEstas consultas deben pertenecer a un paquete de consultas publicado CodeQL o a un CodeQL paquete de un repositorio.\n\n* Cuando se publica un CodeQL paquete de consultas en GitHubContainer registry, todas las dependencias transitivas requeridas por las consultas y una 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.\n\n* CodeQL Los paquetes de consulta se pueden descargar desde varios GitHub registros de contenedor. Para obtener más información, vea [Opciones de configuración de flujo de trabajo para el examen de código](/es/enterprise-cloud@latest/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#downloading-codeql-packs-from-github-enterprise-server).\n\nPara obtener más información, vea [Personalización del análisis con paquetes de CodeQL](/es/enterprise-cloud@latest/code-security/codeql-cli/getting-started-with-the-codeql-cli/customizing-analysis-with-codeql-packs)."}