Nota: El Escaneo de código se encuentra en beta dentro de GitHub Enterprise Server 2.22. Para encontrar un lanzamiento de disponibilidad general del escaneo de código, mejora al último lanzamiento de GitHub Enterprise Server.
Acerca de las alertas de escaneo de código
Puedes configurar el escaneo de código para que verifique 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 la sección "Configurar el escaneo de código en un repositorio".
Predeterminadamente, el escaneo de código analiza tu código periódicamente en la rama predeterminada y durante las solicitudes de cambios. Para obtener información acerca de la administración de alertas en una solicitud de cambios, consulta la sección "Clasificar las alertas del escaneo de código en las solicitudes de cambios".
Notas:
-
SARIF upload supports a maximum of 1000 results per upload. Cualquier resultado que sobrepase este límite se ignorará. Si una herramienta genera demasiados resultados, debes actualizar la configuración para enfocarte en los resultados de las reglas o consultas más importantes.
-
For each upload, SARIF upload supports a maximum size of 10 MB for the
gzip
-compressed SARIF file. Any uploads over this limit will be rejected. If your SARIF file is too large because it contains too many results, you should update the configuration to focus on results for the most important rules or queries.
Acerca de los detalles de las alertas
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 activó la alerta, así como las propiedades de la misma, tales como la severidad y la naturaleza de dicho 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.
Si configuras el escaneo de código utilizando CodeQL, esto también puede detectar problemas de flujo de datos en tu 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 escaneo de código reporta alertas de flujo de datos, GitHub te muestra como se mueven los datos a través del código. El Escaneo de código 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.
Visualizar las alertas de un repositorio
Cualquiera con permisos de escritura en un repositorio puede ver las anotaciones del escaneo de código en las solicitudes de cambios. Para obtener màs informaciònPara obtener más información, consulta la sección "Clasificar las alertas del escaneo de código en las solicitudes de extracción".
Necesitas permisos de escritura para ver un resumen de todas las alertas de un repositorio en la pestaña de Seguridad. Predeterminadamente, las alertas se muestran para la rama predeterminada.
- En GitHub Enterprise Server, visita la página principal del repositorio.
- Debajo de tu nombre de repositorio, da clic en Seguridad.
- En la barra lateral izquierda, da clic en alertas de escaneo de código.
- Debajo de "Escaneo de código", da clic en la alerta que quisieras explorar.
- Opcionalmente, si la alerta resalta un problema con el flujo de datos, da clic en Mostrar rutas para mostrar la ruta desde la fuente de datos hacia el consumidor de datos en donde se utiliza.
- Las alertas del análisis de CodeQL incluyen una descripción del problema. Da clic en Mostrar más para obtener orientación sobre cómo arreglar tu código.
Arreglar una alerta
Cualquiera con permisos de escritura en un repositorio puede arreglar una alerta si confirma una corrección en el código. Si el repositorio tiene programado un escaneo de código para ejecutarse en las solicitudes de cambios, es mejor levantar una solicitud de cambios con tu corrección. Esto activará el análisis del escaneo de código en los cambios y probará que tu arreglo no introduciría ningún problema nuevo. Para obtener más información, consulta la sección "Configurar el escaneo de código" y "Clasificar las alertas del escaneo de código en las solicitudes de cambios".
Si tienes permisos de escritura para un repositorio, puedes ver las alertas arregladas si ves el resumen de las alertas y das clic en Cerrado. Para obtener más información, consulta la sección "Visualizar las alertas de un repositorio". La lista "Cerrada" muestra las alertas fijas y las que cerraron los usuarios.
Las alertas pueden arreglarse en una rama pero no en alguna otra. Puedes utilizar el menú desplegable de "Rama", en el resumen de las alertas, para verificar si una alerta se arregló en una rama en particular.
Cerrar una alerta
Cerrar una alerta es una forma de resolverla si no crees que necesita un arreglo. Por ejemplo, un error en el código que se utiliza únicamente para hacer pruebas, o cuando el esfuerzo de areglar el error es mayor que el beneficio potencial de mejorar el código.
-
En GitHub Enterprise Server, visita la página principal del repositorio.
-
Debajo de tu nombre de repositorio, da clic en Seguridad.
-
En la barra lateral izquierda, da clic en alertas de escaneo de código.
-
Debajo de "Code scanning", da clic en la alerta que quieras explorar.
-
Selecciona el menú desplegable de Cerrar y da clic en una razón para cerrar la alerta.
Si cierras una alerta de CodeQL como un resultado falso positivo, por ejemplo, porque el código utiliza una biblioteca de sanitización que no es compatible, considera colaborar con el repositorio de CodeQL y mejorar el análisis. Para obtener más información acerca de CodeQL, consulta la sección "Contribuir con CodeQL".