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.
Puede configurar code scanning para ejecutar análisis CodeQL y análisis de terceros. Code scanning también admite la ejecución de análisis de forma nativa mediante GitHub Actions o externamente mediante la infraestructura de CI/CD existente. Las viñetas siguientes resumen las opciones disponibles para los usuarios al configurar tu instancia de GitHub Enterprise Server para permitir 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).
Comprobación de si la licencia incluye Advanced Security
Puedes identificar si tu empresa tiene una licencia para Advanced Security productos revisando la configuración de la empresa. Para más información, consulta Habilitación de GitHub Advanced Securityproductos para su empresa.
Requisitos previos para code scanning
-
Una licencia para GitHub Code Security o GitHub Advanced Security, (consulte GitHub Advanced Security facturación de licencias)
-
Code scanning habilitado en la consola de administración (consulte Habilitación de GitHub Advanced Securityproductos para su empresa)
-
Una máquina virtual o un contenedor en el que se ejecutará el code scanning análisis.
Ejecución code scanning mediante GitHub Actions
Aprovisionamiento de un ejecutor de prueba interna
GitHub puede ejecutar code scanning mediante un flujo de trabajo GitHub Actions. En primer lugar, debe aprovisionar uno o varios ejecutores autohospedados GitHub Actions en su entorno. Puedes aprovisionar ejecutores auto-hospedados a nivel de repositorio, organización o empresa. Consulta [AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners) y [AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners).
Debe asegurarse de que Git está en la variable PATH en los ejecutores autohospedados que use para ejecutar acciones CodeQL.
Nota:
Si usa CodeQLcode scanning para analizar el código escrito en Python de su empresa, debe asegurarse de que el ejecutor autohospedado tenga instalado Python 3.
Aprovisionamiento de un conjunto de escalado de ejecutores
Puede usar Actions Runner Controller para crear un conjunto de escalado de ejecutor dedicado para la instancia de GitHub Enterprise Server. Consulta Implementación de conjuntos de escalado de ejecutor con Actions Runner Controller.
Aprovisionamiento de las acciones para code scanning
Si quiere usar las acciones para ejecutar code scanning en GitHub Enterprise Server, las acciones deben estar disponibles en el dispositivo.
La CodeQL acción se incluye en la instalación de GitHub Enterprise Server. Si tanto GitHub Enterprise Server3.21 como su GitHub Actions runner tienen acceso a Internet, la acción descargará automáticamente el paquete CodeQL2.24.3 necesario para realizar el análisis. Como alternativa, puede usar una herramienta de sincronización para que la versión más reciente del conjunto de CodeQL análisis esté disponible localmente. Consulte Configuración del CodeQL análisis en un servidor sin acceso a Internet a continuación.
También puede poner a disposición de los usuarios acciones de terceros para code scanning, configurando GitHub Connect. Consulta Configuración del análisis de código para el dispositivo a continuación.
Configuración del CodeQL análisis en un servidor sin acceso a Internet
Si el servidor en el que se ejecuta GitHub Enterprise Server no está conectado a Internet y desea permitir que los usuarios habiliten CodeQLcode scanning para sus repositorios, debe usar la herramienta de sincronización de acciones CodeQL para copiar el conjunto de análisis CodeQL desde GitHub.com a su servidor. La herramienta y los detalles de cómo usarla están disponibles en https://github.com/github/codeql-action-sync-tool.
Si configura la CodeQL herramienta de sincronización de acciones, puede usarla para sincronizar las versiones más recientes de la CodeQL acción y el conjunto de análisis asociado CodeQL . Son compatibles con GitHub Enterprise Server.
Configurando GitHub Connect para sincronizar GitHub Actions
- Si desea descargar flujos de trabajo de acción a petición de GitHub.com, debe habilitar GitHub Connect. Consulta Habilitación de GitHub Connect para GitHub.com.
- También deberá habilitar GitHub Actions. Consulta Introducción a GitHub Actions para GitHub Enterprise Server.
- El siguiente paso consiste en configurar el acceso a las acciones en GitHub.com mediante 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.
Ejecutar el escaneo de código mediante CodeQL CLI
Si no desea usar GitHub Actions, debe ejecutar code scanning con .CodeQL CLI
CodeQL CLI es una herramienta de línea de comandos que se usa para analizar código base en cualquier equipo, incluido un sistema de CI/CD de terceros. Consulta [AUTOTITLE](/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system).