Skip to main content

Configuración la digitalización de código para el dispositivo

Puede habilitar, configurar y deshabilitar code scanning para GitHub Enterprise Server. Code scanning permite que los usuarios examinen el código para encontrar vulnerabilidades y errores.

¿Quién puede utilizar esta característica?

Repositorios propiedad de la organización con GitHub Advanced Security habilitado

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 externamente. Las siguientes viñetas resumen las opciones disponibles para los usuarios cuando configuras tu instancia de GitHub Enterprise Server para que permita el code scanning utilizando acciones.

Verificar si tu licencia incluye a la GitHub Advanced Security

Puedes identificar si tu empresa tiene una licencia de GitHub Advanced Security revisando los ajustes de la misma. Para obtener más información, vea «Habilitación de GitHub Advanced Security para su empresa».

Prerequisitos para el code scanning

Ejecutar el code scanning utilizando GitHub Actions

Aprovisionamiento de un ejecutor de prueba interna

GitHub Enterprise Server 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. Para obtener más información, vea «Acerca de los ejecutores autohospedados» y «Agrega ejecutores auto-hospedados».

Si va a aprovisionar un ejecutor de prueba interna para el análisis de CodeQL, el ejecutor debe usar una versión del sistema operativo y una arquitectura de CPU compatibles con CodeQL. Para más información, consulta "Requisitos del sistema de CodeQL".

Si usas la configuración predeterminada para code scanning, asigna la etiqueta code-scanning al ejecutor autohospedado. Para obtener más información sobre el uso de etiquetas con ejecutores de prueba interna, consulte "Uso de etiquetas con ejecutores autohospedados". Para obtener más información sobre el uso de la configuración predeterminada para el análisis de código de lenguajes compilados, consulte "Análisis de código de CodeQL para lenguajes compilados".

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 utiliza la code scanning CodeQL para analizar código escrito en Python en su empresa, debe asegurarse de que el ejecutor de prueba interna tiene 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. Para obtener más información, vea «Implementación de conjuntos de escalado de ejecutor con Actions Runner Controller».

Aprovisionar las acciones del code scanning

Si quiere usar acciones para ejecutar code scanning en GitHub Enterprise Server, las acciones deben estar disponibles en el dispositivo.

La acción CodeQL se incluye en tu instalación de GitHub Enterprise Server. Si tanto GitHub Enterprise Server 3.13 como tu ejecutor GitHub Actions tienen acceso a Internet, la acción descargará automáticamente la agrupación de CodeQL 2.16.5 necesaria 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. Para más información, vea "Configuración del 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 el code scanning para los usuarios si configuras GitHub Connect. Para más información, 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 a GitHub Enterprise Server no está conectado a internet y quieres permitir que los usuarios habiliten el code scanning de CodeQL para sus repositorios, debes utilizar la herramienta de sincronización de la acción de CodeQL para copiar el paquete de análisis de CodeQL desde GitHub.com hacia 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

  1. Si quieres descargar flujos de trabajo de acciones por petición desde GitHub.com, necesitarás habilitar GitHub Connect. Para obtener más información, vea «Administrar GitHub Connect».
  2. También deberás habilitar GitHub Actions. Para obtener más información, vea «Iniciar con GitHub Actions para GitHub Enterprise Server».
  3. El siguiente paso es configurar el acceso a las acciones en GitHub.com utilizando GitHub Connect. Para obtener más información, vea «Habilitación del acceso automático a las acciones de GitHub.com mediante GitHub Connect».
  4. Agrega un ejecutor auto-hospedado a tu repositorio, organización, o cuenta empresarial. Para obtener más información, vea «Agrega ejecutores auto-hospedados».

Ejecutar 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. Para obtener más información, vea «Utilizar el análisis de código de CodeQL con tu sistema de IC existente».