Skip to main content

Esta versión de GitHub Enterprise Server se discontinuó el 2024-03-26. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. Para obtener rendimiento mejorado, seguridad mejorada y nuevas características, actualice a la versión más reciente de GitHub Enterprise Server. Para obtener ayuda con la actualización, póngase en contacto con el soporte técnico de GitHub Enterprise.

Acerca de las alertas de análisis de código

Obtén información sobre los diferentes tipos de alertas de análisis de código y la información que te ayuda a comprender el problema que resalta cada alerta.

¿Quién puede utilizar esta característica?

Code scanning está disponible para repositorios que son propiedad de una organización en GitHub Enterprise Server. Esta característica requiere una licencia para la GitHub Advanced Security. Para obtener más información, vea «Acerca de GitHub Advanced Security».

Nota: El administrador del sitio debe habilitar code scanning para tu instancia de GitHub Enterprise Server para puedas utilizar esta característica. Para obtener más información, vea «Configuración la digitalización de código para el dispositivo».

Es posible que no puedas habilitar o deshabilitar code scanning si un propietario de una empresa ha establecido una directiva GitHub Advanced Security (GHAS) en el nivel empresarial. Para obtener más información, vea «Aplicación de directivas de seguridad y análisis de código de la empresa».

Acerca de las alertas de code scanning

Puedes configurar el code scanning para comprobar el código en un repositorio utilizando el análisis predeterminado de CodeQL, un análisis de terceros o varios tipos de análisis. Cuando se complete el análisis, las alertas resultantes se mostrarán unas junto a otras en la vista de seguridad del repositorio. Los resultados de las herramientas de terceros o de las consultas personalizadas podrían no incluir todas las propiedades que ves para las alertas que se detectan con el análisis predeterminado del CodeQL de GitHub. Para obtener más información, consulta "Establecimiento del examen de código con CodeQL."

Predeterminadamente, el code scanning analiza tu código periódicamente en la rama predeterminada y durante las solicitudes de cambios. Para información sobre la administración de alertas en una solicitud de incorporación de cambios, consulta "Clasificar las alertas del escaneo de código en las solicitudes de cambios".

Puedes auditar las acciones realizadas en respuesta a las alertas de code scanning mediante las herramientas de GitHub. Para obtener más información, vea «Auditoría de alertas de seguridad».

Acerca de los detalles de la alerta

Cada alerta resalta un problema en el código y el nombre de la herramienta que lo identificó. Puedes ver la línea de código que ha desencadenado la alerta, así como las propiedades de la misma, tales como la gravedad de alerta, la gravedad de seguridad y la naturaleza del problema. Las alertas también te dicen si el problema se introdujo por primera vez. Para las alertas que identificó el análisis de CodeQL, también verás información de cómo arreglar elproblema.

El estado y los detalles de la página de alertas solo reflejan el estado de la alerta en la rama predeterminada del repositorio, incluso si la alerta existe en otras ramas. Puede ver el estado de la alerta en ramas no predeterminadas en la sección Ramas afectadas del lado derecho de la página de alertas. Si una alerta no existe en la rama predeterminada, el estado de la alerta se mostrará como "en la solicitud de incorporación de cambios" o "en la rama", y tendrá un color gris.

Captura de pantalla que muestra los elementos de una alerta de code scanning, incluido el título de la alerta y las líneas de código pertinentes a la izquierda, así como el nivel de gravedad, las ramas afectadas y las debilidades a la derecha.

Si configuras el code scanning mediante CodeQL, también puedes encontrar problemas de flujo de datos en el código. El análisis de flujo de datos encuentra problemas de seguridad potenciales en el código, tales como: utilizar los datos de formas no seguras, pasar argumentos peligrosos a las funciones y tener fugas de información sensible.

Cuando code scanning reporta alertas de flujo de datos, GitHub te muestra como se mueven los datos a través del código. El Code scanning te permite identificar las áreas de tu código que filtran información sensible y que podrían ser el punto de entrada para los ataques que hagan los usuarios malintencionados.

Acerca de alertas

orígenes de análisis

Puedes ejecutar varias configuraciones de análisis de código en un repositorio mediante distintas herramientas y destinadas a diferentes lenguajes o áreas del código. Cada configuración de code scanning es el origen del análisis de todas las alertas que genera. Por ejemplo, una alerta generada mediante el análisis predeterminado CodeQL con GitHub Actions tendrá un origen del análisis diferente de una alerta generada externamente y cargada a través de la API code scanning.

Si usa varias configuraciones para analizar un archivo, los problemas detectados por la misma consulta se notifican como alertas con varios orígenes de análisis. Si una alerta tiene más de un origen de análisis, aparecerá un icono junto a cualquier rama pertinente de la sección Ramas afectadas en el lado derecho de la página de alertas. Puede mantener el puntero sobre el icono para ver los nombres de cada origen de análisis y el estado de la alerta para ese origen de análisis. También puede ver el historial de cuándo han aparecido las alertas en cada origen de análisis en la escala de tiempo de la página de alertas. Si una alerta solo tiene un origen de análisis, no se muestra información sobre los orígenes de análisis en la página de alertas.

Captura de pantalla que muestra una alerta de análisis de código con varios orígenes de análisis.

Nota: En ocasiones una alerta code scanning se muestra como fija para un origen de análisis, pero sigue abierta para un segundo origen de análisis. Para resolverlo, vuelva a ejecutar la segunda configuración code scanning para actualizar el estado de alerta de ese origen de análisis.

Acerca de las etiquetas para las alertas que no se encuentran en el código de la aplicación

GitHub Enterprise Server asigna una etiqueta de categoría a las alertas que no se encuentran en el código de aplicación. La etiqueta se relaciona con la ubicación de la alerta.

  • Generada: código generado por el proceso de compilación
  • Prueba: código de prueba
  • Biblioteca: biblioteca o código de terceros
  • Documentación: documentación

El Code scanning categoriza los archivos por sus rutas. No puedes categorizar los archivos de origen manualmente.

En este ejemplo, una alerta se marca como en el código "Probar" en la lista de alertas code scanning.

Captura de pantalla de una alerta en la lista code scanning. A la derecha del título, se resalta una etiqueta "Probar" con un contorno naranja oscuro.

Al hacer clic para ver los detalles de la alerta, puedes ver que la ruta de acceso del archivo está marcada como código "Probar".

Captura de pantalla que muestra los detalles de una alerta. La ruta de acceso del archivo y la etiqueta "Probar" están resaltadas con un contorno naranja oscuro.

Acerca de la gravedad de alerta y los niveles de gravedad de seguridad

El nivel de gravedad de una alerta de code scanning indica cuánto riesgo agrega el problema al código base.

  • Gravedad. Todas las alertas de code scanning tienen un nivel de Error, Warning o Note.
  • Gravedad de seguridad. Cada alerta de seguridad encontrada con CodeQL también tiene un nivel de gravedad de seguridad de Critical, High, Medium o Low.

Cuando una alerta tiene un nivel de gravedad de seguridad, code scanning muestra y usa este nivel en lugar de severity. Los niveles de gravedad de seguridad siguen el sistema de puntuación de vulnerabilidades comunes (CVSS) estándar del sector que también se usa para avisos en GitHub Advisory Database. Para obtener más información, consulta CVSS: Qualitative Severity Rating Scale.

Errores de comprobación de solicitudes de cambios para alertas de code scanning

Al habilitar code scanning en las solicitudes de incorporación de cambios, la comprobación solo produce un error si se detectan una o varias alertas de gravedad error, o gravedad critical de seguridad o high. La comprobación se realizará correctamente si se detectan alertas con gravedades inferiores o gravedades de seguridad. En el caso de los códigos base importantes, es posible que desees que code scanning compruebe si se producen errores cuando se detecten alertas, de modo que la alerta deba corregirse o descartarse antes de que se combine el cambio de código. Para obtener más información sobre los niveles de gravedad, consulta «Acerca de la gravedad de alerta y los niveles de gravedad de seguridad».

Puedes editar qué niveles de alerta de gravedad y gravedad de seguridad provocan un error de comprobación. Para obtener más información, consulta »Personalizar la configuración avanzado de el análisis de código

Cálculo de los niveles de gravedad de seguridad

Cuando se agrega una consulta de seguridad al conjunto de consultas predeterminado o ampliado de CodeQL, el equipo de ingeniería de CodeQL calcula la gravedad de seguridad de la siguiente manera.

  1. Busca todos los CV asignados a una o varias de las etiquetas CWE asociadas a la nueva consulta de seguridad.
  2. Calcula el percentil 75 de la puntuación de CVSS para esos CVE.
  3. Define esa puntuación como gravedad de seguridad para la consulta.
  4. Cuando se muestren las alertas encontradas por la consulta, traduce las puntuaciones numéricas a Critical, High, Medium o Low mediante las definiciones de CVSS.

Para obtener más información, consulta «Cobertura de CWE de CodeQL» en el sitio de documentación de CodeQL.