Acerca de code scanning
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. Los problemas identificados por el análisis se muestran en el repositorio.
Puedes configurar el code scanning para ejecutar los análisis del CodeQL y de terceros. El Code scanning también admite la ejecución del análisis de forma nativa mediante GitHub Actions, o bien de forma externa con la infraestructura de CI/CD existente. Las viñetas a continuación resumen las opciones disponibles para los usuarios cuando configuras tu instancia de GitHub Enterprise Server para autorizar el code scanning utilizando acciones.
- CodeQL: usa GitHub Actions con la configuración predeterminada (consulta Establecimiento de la configuración predeterminada para el examen del código) o la configuración avanzada (consulta Establecimiento de la configuración avanzada para el examen del código), o bien ejecuta el análisis de CodeQL en un sistema de integración continua (CI) de terceros (consulta Utilizar el análisis de código de CodeQL con tu sistema de IC existente).
- Terceros: usa GitHub Actions o herramientas de terceros y carga los resultados a GitHub (consulta Subir un archivo SARIF a GitHub).
Verificar si tu licencia incluye Advanced Security
Puedes identificar si tu empresa tiene una licencia para Advanced Security revisando la configuración de la empresa. Para más información, consulta Habilitación de productos de GitHub Advanced Security para tu empresa.
Prerequisitos para el code scanning
-
Una licencia para GitHub Advanced Security, (ver Facturación de licencias de GitHub Advanced Security)
-
Code scanning habilitado en el panel de administración (consulta Habilitación de productos de GitHub Advanced Security para tu empresa)
-
Una MV o contenedor para ejecutar el análisis de code scanning.
Ejecutar el code scanning utilizando GitHub Actions
Aprovisionamiento de un agente autohospedado
GitHub puede ejecutar code scanning mediante un flujo de trabajo GitHub Actions. Primero, necesitas aprovisionar uno o más ejecutores auto-hospedados de GitHub Actions en tu ambiente. Puedes aprovisionar ejecutores auto-hospedados a nivel de repositorio, organización o empresa. Consulta Ejecutores autohospedados y Agrega ejecutores auto-hospedados.
Debes asegurarte de que Git esté en la variable de "PATH" de cualquier ejecutor auto-hospedado que utilices para ejecutar las acciones de CodeQL.
Nota:
Si usas CodeQL code scanning para analizar el código escrito en Python en tu empresa, debes asegurarte de que el agente autoalojado tenga Python 3 instalado.
Aprovisionamiento de un conjunto de escalado de ejecutores
Puedes usar Actions Runner Controller para crear un conjunto de escalado de ejecutores dedicado para la instancia GitHub Enterprise Server. Consulta Implementación de conjuntos de escalado de ejecutor con Actions Runner Controller.
Configurar las acciones del code scanning
Si quieres utilizar acciones para ejecutar el code scanning en GitHub Enterprise Server, las acciones deben estar disponibles en tu aplicativo.
La acción CodeQL se incluye en tu instalación de GitHub Enterprise Server. Si tanto GitHub Enterprise Server 3.14 como tu ejecutor GitHub Actions tienen acceso a Internet, la acción descargará automáticamente el paquete de CodeQL 2.17.6 necesario para realizar el análisis. Como alternativa, puedes utilizar una herramienta de sincronización para que el conjunto de análisis de CodeQL esté disponible de forma local. Consulta Configurar el análisis de CodeQL en un servidor sin acceso a internet a continuación.
También puedes hacer que acciones de terceros estén disponibles para los usuarios del code scanning al configurar GitHub Connect. Consulta Configuración la digitalización de código para el dispositivo a continuación.
Configurar el análisis de CodeQL en un servidor sin acceso a internet
Si el servidor en el que estás ejecutando GitHub Enterprise Server no está conectado a Internet y deseas permitir que los usuarios habiliten el análisis de código code scanning con CodeQL para sus repositorios, debes usar la herramienta de sincronización de acciones de CodeQL para copiar el paquete de análisis de CodeQL desde GitHub.com a tu servidor. La herramienta y los detalles de cómo usarla están disponibles en https://github.com/github/codeql-action-sync-tool.
Si configuras la herramienta de sincronización de la acción de CodeQL, puedes utilizarla para sincronizar los últimos lanzamientos de la acción de CodeQL y el paquete de análisis de CodeQL relacionado. Estos son compatibles con GitHub Enterprise Server.
Configurar GitHub Connect para sincronizarse con GitHub Actions
- Si quieres descargar flujos de trabajo de acciones por petición desde GitHub.com, necesitarás habilitar GitHub Connect. Consulta Habilitación de GitHub Connect para GitHub.com.
- También deberás habilitar GitHub Actions. Consulta Introducción a GitHub Actions para GitHub Enterprise Server.
- El siguiente paso es configurar el acceso a las acciones en GitHub.com utilizando GitHub Connect. Consulta Habilitación del acceso automático a acciones de GitHub.com mediante GitHub Connect.
- Agrega un corredor autohospedado a tu repositorio, organización o cuenta empresarial. Consulta Agrega ejecutores auto-hospedados.
Realizar el escaneo de código utilizando el CodeQL CLI
Si no quieres utilizar GitHub Actions, debes ejecutar el code scanning utilizando el CodeQL CLI.
El CodeQL CLI es una herramienta de línea de comandos que utilizas para analizar bases de código en cualquier máquina, incluyendo un sistema de IC/DC de terceros. Consulta Utilizar el análisis de código de CodeQL con tu sistema de IC existente.