Skip to main content

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?

Usuarios con acceso de escritura

Code scanning está disponible para los tipos de repositorio siguientes:

  • Repositorios públicos en GitHub.com
  • Repositorios propiedad de la organización en GitHub Team, GitHub Enterprise Cloud, o GitHub Enterprise Server, con GitHub Advanced Security habilitados.

Nota:

El administrador del sitio debe habilitar code scanning antes de que puedas utilizar esta característica. Para más información, consulta 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 de GitHub Advanced Security en el nivel de la empresa. Para más información, consulta Aplicación de directivas de seguridad y análisis de código de la empresa.

Acerca de las alertas de code scanning

Puede configurar code scanning para comprobar el código de un repositorio mediante el análisis predeterminado 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. Es posible que los resultados de herramientas de terceros o de consultas personalizadas no incluyan todas las propiedades que usted observa en las alertas detectadas por GitHub el análisis predeterminado CodeQL. Para más información, consulta Establecimiento de la configuración predeterminada para el examen del código y Establecimiento de la configuración avanzada para el examen del código.

De forma predeterminada, code scanning analiza tu código periódicamente en la rama predeterminada y durante los pull requests. Para información sobre la administración de alertas en una solicitud de incorporación de cambios, consulte Clasificar las alertas del escaneo de código en las solicitudes de cambios.

En code scanning el caso de las alertas del CodeQL análisis, puede usar la vista general de la seguridad para ver cómo CodeQL está funcionando en las solicitudes de extracción en los repositorios de toda la organización y para identificar los repositorios en los que es posible que tenga que tomar medidas. Para más información, consulta Métricas de alertas de pull request de CodeQL.

Puedes auditar las acciones realizadas en respuesta a las alertas de code scanning mediante las herramientas de GitHub. Para más información, consulta 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. En el caso de las alertas identificadas mediante el análisis de CodeQL, también verán información sobre la solución del problema.

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. En la sección Desarrollo se muestran ramas vinculadas y solicitudes de incorporación de cambios que corregirán la alerta.

Captura de pantalla de una alerta de code scanning que incluye el título de la alerta, las líneas de código pertinentes a la izquierda y los metadatos a la derecha.

Si configura code scanning mediante CodeQL, también puede 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 notifica alertas de flujo de datos, GitHub muestra cómo se mueven los datos a través del código. Code scanning permite identificar las áreas del código que filtran información confidencial y que podrían ser el punto de entrada de ataques por parte de usuarios malintencionados.

Acerca de las alertas de varias configuraciones

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 genera un conjunto único de alertas. Por ejemplo, una alerta generada mediante el análisis predeterminado CodeQL con GitHub Actions procede de una configuración diferente de una alerta generada externamente y cargada a través de la code scanning API.

Si usas varias configuraciones para analizar un archivo, los problemas detectados por la misma consulta se notifican como alertas generadas por múltiples configuraciones. Si existe una alerta en más de una configuración, el número de configuraciones aparece junto al nombre de la rama en la sección "Ramas afectadas" del lado derecho de la página de alertas. Para ver las configuraciones de una alerta, en la sección "Ramas afectadas", haz clic en una rama. Aparece un modal "Configuraciones de análisis" con los nombres de cada configuración que genera la alerta para esa rama. Debajo de cada configuración, puedes ver cuándo se actualizó por última vez la alerta de esa configuración.

Una alerta puede mostrar diferentes estados de configuraciones diferentes. Para actualizar los estados de alerta, vuelve a ejecutar cada configuración obsoleta. Como alternativa, puedes eliminar configuraciones obsoletas de una rama para quitar alertas obsoletas. Para obtener más información sobre cómo eliminar configuraciones y alertas obsoletas, consulte Resolución de alertas de análisis de código.

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

          GitHub 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

            Code scanning clasifica los archivos por ruta de acceso de archivo. No puedes categorizar los archivos de origen manualmente.
    

En este ejemplo, una alerta está marcada como "Prueba" en la lista de alertas del código 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 code scanning alerta indica cuánto riesgo agrega el problema al código base.

  •         **Gravedad.** Todas las code scanning alertas tienen un nivel de `Error`, `Warning`o `Note`.
    
  •         **Gravedad de seguridad.** Cada alerta de seguridad que se encuentra 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 preferencia para .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.

Cálculo de los niveles de gravedad de seguridad

Cuando se agrega una consulta de seguridad al CodeQL conjunto de consultas predeterminado o extendido, el CodeQL equipo de ingeniería 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, consulte la sección CodeQL de cobertura de CWE en el sitio web de documentación.

Acerca de las alertas en las solicitudes de incorporación de cambios

          Code scanning las alertas pueden aparecer en las solicitudes de incorporación de cambios como resultados de comprobación y anotaciones. Esto sucede en repositorios donde code scanning ocurre una de dos cosas:
  • Se configura como comprobación de solicitudes de incorporación de cambios (de forma predeterminada, se limita a las solicitudes de incorporación de cambios que tienen como destino la rama predeterminada).
  • Está configurado para examinar cada vez que se inserta código (los resultados se asignan a cualquier pull request abierto).

Solo verá una alerta en una solicitud de incorporación de cambios si todas las líneas de código identificadas por la alerta existen en el diff de la solicitud de incorporación de cambios.

En función de las reglas de protección de rama, la comprobación "Code scanning resultados" puede ser un requisito necesario que impide que las solicitudes de extracción se fusionen hasta que sea aprobada.