Skip to main content

GitHub AE es una versión limitada en este momento.

Administración de alertas de examen de código para el repositorio

En la vista de seguridad, puedes ver, corregir, descartar o eliminar alertas de posibles vulnerabilidades o errores en el código del proyecto.

Quién puede usar esta característica

If you have write permission to a repository you can manage code scanning alerts for that repository.

Code scanning está disponible para los repositorios que son propiedad de una organización en GitHub AE. Esta es una característica de la GitHub Advanced Security (gratuita durante el lanzamiento beta). Para obtener más información, vea «Acerca de GitHub Advanced Security».

Visualizar las alertas de un repositorio

Cualquiera con permisos de escritura en un repositorio puede ver las anotaciones del code scanning en las solicitudes de cambios. Para obtener más información, vea «Clasificar las alertas del escaneo de código en las solicitudes de cambios».

Necesita permiso de escritura para ver un resumen de todas las alertas de un repositorio en la pestaña Seguridad.

Predeterminadamente, la página de alertas del escaneo de código se filtra para mostrar las alertas únicamente para la rama predeterminada del repositorio.

  1. En tu empresa, navega a la página principal del repositorio.

  2. En el nombre del repositorio, haz clic en Seguridad. Si no puedes ver la pestaña "Seguridad", selecciona el menú desplegable y, a continuación, haz clic en Seguridad. Captura de pantalla de un encabezado de repositorio en el que se muestran las pestañas. La pestaña "Seguridad" está resaltada con un contorno naranja oscuro.

  3. En la barra lateral izquierda, haga clic en Code scanning alerts (Alertas de análisis de código).

  4. Opcionalmente, utiliza la caja de búsqueda de texto libre o los menús desplegables para filtrar las alertas. Por ejemplo, puedes filtrar por la herramienta que se utilizó para identificar las alertas.

  5. Debajo de "Code scanning", haz clic en la alerta que quieras explorar para mostrar la página de alerta detallada. 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.

  6. Opcionalmente, si la alerta resalta un problema con el flujo de datos, haga clic en Mostrar rutas para mostrar la ruta desde el origen de datos hacia el receptor en el que se usa. Captura de pantalla de una alerta de code scanning. El vínculo "Mostrar rutas de acceso" está resaltado con un contorno naranja oscuro. También se resalta el vínculo "Mostrar más", descrito en el paso siguiente.

  7. Las alertas del análisis de CodeQL incluyen una descripción del problema. Haga clic en Mostrar más para obtener instrucciones sobre cómo corregir el código.

Para obtener más información, vea «Acerca de las alertas de análisis de código».

Nota: Para realizar el análisis de code scanning con CodeQL, puede ver información sobre la última ejecución en un encabezado en la parte superior de la lisa de alertas de code scanning para el repositorio.

Por ejemplo, puedes ver cuándo se ejecutó el último escaneo, la cantidad de líneas de código que se analizó en comparación con la cantidad de líneas de código totales en tu repositorio y la cantidad total de alertas qeu se generaron.

Filtrar las alertas del code scanning

Puedes filtrar las alertas que se muestran en la vista de alertas del code scanning. Esto es útil si hay muchas alertas, ya que puedes enfocarte en un tipo particular de estas. Hay algunos filtros predefinidos y rangos de palabras clave que puedes utilizar para refinar la lista de alertas que se muestran.

Al seleccionar una palabra clave de una lista desplegable o al escribir una palabra clave en el campo de búsqueda, solo se muestran los valores con los resultados. Esto hace que sea más fácil evitar configurar filtros que no encuentran resultados.

Captura de pantalla del campo de búsqueda en la vista de alertas de code scanning. El usuario ha escrito "branch:dependabot" en el campo. Los nombres de todas las ramas válidas con un nombre que incluye "dependabot" se muestran en un menú desplegable.

Si escribe varios filtros, en la vista se mostrarán alertas que coincidan con todos ellos. Por ejemplo, is:closed severity:high branch:main solo mostrará alertas de gravedad alta cerradas que están presentes en la rama main. La excepción son los filtros relacionados con las referencias (ref, branch y pr): is:open branch:main branch:nextmostrará las alertas abiertas tanto de la rama main como de la rama next.

Tenga en cuenta que si ha filtrado las alertas en una rama no predeterminada, pero las mismas alertas existen en la rama predeterminada, en la página de alertas de cualquier alerta se seguirá reflejando el estado de la alerta en la rama predeterminada, incluso si ese estado entra en conflicto con el de una rama no predeterminada. Por ejemplo, una alerta que aparece en la lista "Abrir" en el resumen de alertas para branch-x podría mostrar un estado de "Corregido" en la página de alertas, si ya se ha corregido en la rama predeterminada. Puede ver el estado de la alerta de la rama filtrada en la sección Ramas afectadas del lado derecho de la página de alertas.

Restringir los resultados únicamente al código de la aplicación

Puede usar el filtro "Solo alertas en el código de la aplicación" o la palabra clave autofilter:true y el valor para restringir a las alertas en el código de aplicación. Para obtener más información sobre los tipos de código que se etiquetan automáticamente como código no de la aplicación, consulta "Acerca de las alertas de análisis de 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 code scanning para ejecutarse en las solicitudes de cambios, es mejor levantar una solicitud de cambios con tu corrección. Esto activará el análisis del code scanning en los cambios y probará que tu arreglo no introduciría ningún problema nuevo. Para obtener más información, vea «Personalizar la configuración avanzado de el análisis de código» y «Clasificar las alertas del escaneo de código en las solicitudes de cambios».

Si tiene permisos de escritura para un repositorio, puede ver las alertas corregidas si examina el resumen de las alertas y hace clic en Cerradas. Para más información, vea "Visualización de las alertas de un repositorio". La lista de "Cerrado" muestra las alertas arregladas y las que los usuarios han descartado.

Puedes usar la búsqueda de texto libre o los filtros para mostrar un subconjunto de alertas y, después, marcar como cerradas todas las alertas que coincidan.

Las alertas pueden arreglarse en una rama pero no en alguna otra. Puedes utilizar el filtro "Branch" en el resumen de las alertas para verificar si una alerta está fija en una rama particular.

Captura de pantalla del campo de búsqueda en code scanning con el menú desplegable "Rama" expandido. El botón "Rama" se destaca en naranja oscuro.

Tenga en cuenta que si ha filtrado las alertas en una rama no predeterminada, pero las mismas alertas existen en la rama predeterminada, en la página de alertas de cualquier alerta se seguirá reflejando el estado de la alerta en la rama predeterminada, incluso si ese estado entra en conflicto con el de una rama no predeterminada. Por ejemplo, una alerta que aparece en la lista "Abrir" en el resumen de alertas para branch-x podría mostrar un estado de "Corregido" en la página de alertas, si ya se ha corregido en la rama predeterminada. Puede ver el estado de la alerta de la rama filtrada en la sección Ramas afectadas del lado derecho de la página de alertas.

Nota: Si ejecutas code scanning con varias configuraciones, en ocasiones una alerta tendrá varios orígenes de análisis. A menos que ejecute todas las configuraciones con regularidad, es posible que vea alertas que se han corregido en un origen de análisis, pero no en otro. Para obtener más información, vea «Acerca de las alertas de análisis de código».

Descarte o eliminación de alertas

Hay dos formas de cerrar una alerta. Puedes arreglar el problema en el código, o puedes descartar la alerta. Como alternativa, si tienes permisos de administrador para el repositorio, puedes eliminar alertas. Borrar las alertas es útil en situaciones en donde configuraste una herramienta del code scanning y luego decidiste eliminarla, o donde configuraste el análisis de CodeQL con un conjunto más grande de consultas que quieres seguir utilizando y después eliminaste algunas de ellas de la herramienta. En ambos casos, el borrar las alertas te permite limpiar tus resultados del code scanning. Puedes eliminar alertas de la lista de resumen dentro de la pestaña Seguridad.

Descartar una alerta es una manera de cerrar una alerta que considere que no es necesario solucionar. 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. Puede eliminar alertas desde las anotaciones de code scanning en el código, o bien desde la lista de resumen dentro de la pestaña Seguridad.

Cuando descartas una alerta:

  • Se descarta en todas las ramas.
  • La alerta se elimina de la cantidad de alertas actuales para tu proyecto.
  • La alerta se mueve a la lista de "Cerrado" en el resumen de alertas, desde donde puedes volver a abrirla en caso de que lo necesites.
  • Se registra el motivo por el que cerraste la alerta.
  • Opcionalmente, puedes comentar un descarte para registrar el contexto del descarte de una alerta.
  • La siguiente vez que se ejecute el code scanning, este código no volverá a generar una alerta.

Al eliminar una alerta:

  • Se borra en todas las ramas.
  • La alerta se elimina de la cantidad de alertas actuales para tu proyecto.
  • No se agrega a la lista "Cerradas" del resumen de alertas.
  • Si el código que ha generado la alerta se mantiene tal cual, y se ejecuta la misma herramienta otra vez sin ningún cambio de configuración code scanning, la alerta se mostrará otra vez en los resultados de tu análisis.

Para descartar o eliminar alertas:

  1. En tu empresa, navega a la página principal del repositorio.

  2. En el nombre del repositorio, haz clic en Seguridad. Si no puedes ver la pestaña "Seguridad", selecciona el menú desplegable y, a continuación, haz clic en Seguridad. Captura de pantalla de un encabezado de repositorio en el que se muestran las pestañas. La pestaña "Seguridad" está resaltada con un contorno naranja oscuro.

  3. En la barra lateral izquierda, haga clic en Code scanning alerts (Alertas de análisis de código).

  4. Si tiene permisos de administrador en el repositorio y quiere eliminar las alertas para esta herramienta de code scanning, seleccione algunas o todas las casillas, y haga clic en Eliminar.

    Opcionalmente, puedes usar la búsqueda de texto libre o los filtros para mostrar un subconjunto de alertas y, después, borrar simultáneamente todas las alertas que coincidan. Por ejemplo, si eliminaste una consulta desde el análisis de CodeQL, puedes utilizar el filtro de "Regla" para listar solo las alertas para esa consulta y luego seleccionar y borrar todas esas alertas.

  5. Si quieres descartar una alerta, es importante explorarla primero para que puedas elegir la razón correcta para descartarla. Da clic en la alerta que quisieras explorar.

  6. Revisa la alerta y, después, haz clic en Descartar alertar y elige un motivo para cerrar la alerta. Captura de pantalla del error de comprobación de una alerta de análisis de código en una solicitud de cambios. El botón "Descartar alerta" del error de comprobación está resaltado en naranja oscuro. Se muestra la lista desplegable "Descartar alerta". Es importante elegir la razón adecuada del menú desplegable, ya que esto puede afectar si la consulta continuará incluyéndose en los análisis futuros. Opcionalmente, puedes comentar un descarte para registrar el contexto del descarte de una alerta. El comentario de descarte se agrega a la escala de tiempo de la alerta y se puede usar como justificación durante el proceso de auditoría y creación de informes. Puedes recuperar o establecer un comentario mediante la API REST de examen de código. El comentario se incluye en dismissed_comment para el punto de conexión alerts/{alert_number}. Para obtener más información, vea «Examen del código».

    Si descartas una alerta de CodeQL como consecuencia de un resultado de falso positivo, por ejemplo, porque el código utiliza una biblioteca de sanitización que no es compatible, considera contribuir con el repositorio de CodeQL y mejorar el análisis. Para más información sobre CodeQL, vea "Contribución a CodeQL".

Descartar varias alertas al mismo tiempo

Si un proyecto tiene varias alertas que quieras descartar por la misma razón, puedes descartarlas por lote desde el resúmen de las alertas. Habitualmente quieres filtrar la lista y luego descartar todas las alertas coincidentes. Por ejemplo, puede que quieras descartar todas las alertas actuales del proyecto que se hayan etiquetado para una vulnerabilidad de Enumeración de Debilidades (CWE, por sus siglas en inglés) Común en particular.

Volver a abrir alertas descartadas

Si descartas una alerta, pero más adelante te das cuenta de que necesitas corregir la alerta, puedes volver a abrirla y corregir el problema con el código. Muestra la lista de alertas cerradas, busca la alerta, muéstrala y vuelve a abrirla. A continuación, puedes corregir la alerta de la misma manera que cualquier otra alerta.

Auditoría de las respuestas a las alertas de code scanning

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».

Información adicional