Skip to main content
Publicamos actualizaciones para la documentación con frecuencia y es posible que aún se esté traduciendo esta página. Para obtener la información más reciente, consulta la documentación en inglés.

Clasificar las alertas del escaneo de código en las solicitudes de cambios

Cuando el code scanning identifica un problema en una solicitud de extracción, puedes revisar el código que se ha resaltado y resolver la alerta.

Quién puede usar esta característica

If you have read permission for a repository, you can see annotations on pull requests. With write permission, you can see detailed information and resolve code scanning alerts for that repository.

Code scanning está disponible para todos los repositorios públicos en GitHub.com. Code scanning también está disponible para los repositorios privados que pertenecen a las organizaciones que usan GitHub Enterprise Cloud y que tienen una licencia de GitHub Advanced Security. Para obtener más información, vea «Acerca de GitHub Advanced Security».

Acerca de los resultados del code scanning en las solicitudes de cambios

En los repositorios donde se configura el code scanning como una verificación de solicitudes de cambios, code scanning verificará el código en dicha solicitud. Predeterminadamente, esto se limita a solicitudes de cambios que apuntan a la rama predeterminada, pero puedes cambiar esta configuración dentro de GitHub Actions o en un sistema de IC/EC de terceros. Si las líneas de código modificadas en la solicitud de incorporación de cambios generan alertas code scanning, las alertas se notifican en los siguientes lugares de la solicitud de incorporación de cambios.

  • Comprueba los resultados en la solicitud de incorporación de cambios.
  • Pestaña Conversación de la solicitud de incorporación de cambios, como parte de una revisión de solicitud de incorporación de cambios.
  • Pestaña Archivos cambiados de la solicitud de incorporación de cambios.

Si tienes permiso de escritura para el repositorio, puedes ver cualquier alerta existente de code scanning en la pestaña Seguridad. Para información sobre las alertas del repositorio, consulta "Administración de alertas de examen de código para el repositorio".

En los repositorios en los que está configurado que el code scanning realice un examen cada vez que se inserta código, code scanning también asignará los resultados a cualquier solicitud de incorporación de cambios abierta y agregará las alertas como anotaciones en los mismos lugares que otras comprobaciones de solicitud de incorporación de cambios. Para obtener más información, vea «Personalización del examen de código».

Si su solicitud de cambios apunta a una rama protegida que utiliza el code scanning y el propietario del repositorio configuró las verificaciones de estado requeridas, entonces la verificación de los "resultados del Code scanning" debe pasar antes de que pueda fusionar la solicitud de cambios. Para obtener más información, vea «Acerca de las ramas protegidas».

Acerca del code scanning como una verificación de solicitudes de cambio

Hay muchas opciones para configurar el code scanning como una comprobación de solicitudes de cambio, así que la configuración de cada repositorio variará y algunas tendrán más de una comprobación.

Code scanning results check

En todas las configuraciones de code scanning, la comprobación que contiene los resultados del code scanning es: resultados de Code scanning . Los resultados para cada herramienta de análisis se muestran por separado. Las nuevas alertas en líneas de código modificadas en la solicitud de incorporación de cambios se muestran como anotaciones.

Para ver el conjunto de alertas completo de la rama analizada, haz clic en Ver todas las alertas de rama. Se abre la vista completa de alertas en donde puedes filtrar todas las de la rama por tipo, gravedad, etiqueta, etc. Para más información, consulta "Administración de alertas de examen de código para el repositorio".

Captura de pantalla de la comprobación de resultados de Code scanning en una solicitud de cambios. El vínculo "Ver todas las alertas de rama" está resaltado con un contorno naranja oscuro.

Fallos de verificación de resultados de Code scanning

Si en la comprobación de resultados de code scanning se detecta algún problema con una gravedad de error, critical o high, se produce un error en la comprobación y el error se notifica en los resultados. Si todos los resultados que encontró el code scanning tienen gravedades menores, las alertas se tratarán como advertencias o notas y la verificación tendrá éxito.

Captura de pantalla del cuadro de combinación para una solicitud de incorporación de cambios. Junto a la comprobación "Resultados del análisis de código/CodeQL" está "1 nueva alerta, incluida 1 seguridad de gravedad alta v..."

Puedes invalidar el comportamiento predeterminado en la configuración del repositorio. Para ello, especifica los niveles de gravedad y la gravedad de seguridad que causarán un error en la comprobación de la solicitud de incorporación de cambios. Para más información, consulta "Personalización del examen de código".

Otras verificaciones del code scanning

Dependiendo de tu configuración, podrías ver verificaciones adicionales ejecutándose en las solicitudes de cambios con el code scanning configurado. A menudo, estos son flujos de trabajo que analizan el código o que cargan resultados del code scanning. Estas verificaciones son útiles para solucionar problemas cuando el análisis los presenta.

Por ejemplo, si el repositorio utiliza Flujo de trabajo de análisis de CodeQL, se ejecutará una verificación de CodeQL/Analyze (LANGUAGE) para cada lenguaje antes de que se ejecute la comprobación de resultados. La verificación del análisis podría fallar si existieran problemas de configuración o si la solicitud de cambios impide la compilación para un lenguaje que el análisis necesita compilar (por ejemplo, C/C++, C# o Java).

Al igual que con otras comprobaciones de solicitudes de incorporación de cambios, puedes ver detalles completos del error de comprobación en la pestaña Comprobaciones. Para más información sobre la configuración y la solución de problemas, consulta "Personalización del examen de código" o "Solución de problemas de configuración avanzada para CodeQL".

Visualizar una alerta en tu solicitud de cambios

Podrá ver todas las alertas de code scanning dentro de las diferencias de cambios introducidas en una solicitud de incorporación de cambios, accediendo a la pestaña Conversación. Code scanning publica una revisión de solicitud de incorporación de cambios en la que cada alerta se muestra como una anotación en las líneas de código que desencadenaron la alerta. Puedes comentar las alertas, descartarlas y ver sus rutas de acceso directamente en las anotaciones. Para ver los detalles completos de una alerta, haz clic en el vínculo "Mostrar más detalles", lo que te llevará a la página de detalles de la alerta.

Captura de pantalla que muestra una anotación de alerta en la pestaña "Conversaciones" de una solicitud de cambios. El vínculo "Mostrar más detalles" está resaltado con un contorno naranja oscuro.

También puede ver todas las alertas de code scanning dentro de la diferencia de los cambios introducidos en la solicitud de incorporación de cambios en la pestaña Archivos cambiados .

Si agrega una nueva configuración de análisis de código en la solicitud de incorporación de cambios, verá un comentario en la solicitud de incorporación de cambios que le dirige a la pestaña Seguridad del repositorio para que pueda ver todas las alertas en la rama de solicitud de incorporación de cambios. Para obtener más información sobre cómo ver las alertas de un repositorio, consulte "Administración de alertas de examen de código para el repositorio".

Si tienes permisos de escritura para el repositorio, algunas anotaciones contendrán enlaces con un contexto adicional de la alerta. En el ejemplo anterior del análisis de CodeQL, puede hacer clic en user-provided value para ver dónde se introducen los datos no fiables en el flujo de datos (a esto se le conoce como el origen). En este caso, también puede ver la ruta completa desde el origren hasta el código que utiliza los datos (el receptor) haciendo clic en Show paths. Esto facilita la revisión, ya sea que los datos no sean confiables o que el análisis falle en reconocer un paso de sanitización de datos entre la fuente y el consumidor de datos. Para obtener información sobre cómo analizar el flujo de datos mediante CodeQL, consulte "Acerca del análisis de flujo de datos".

Para ver más información sobre una alerta, los usuarios con permisos de escritura pueden hacer clic en el vínculo Show more details que se muestra en la anotación. Esto te permite ver todo el contexto y los metadatos que proporciona la herramienta en una vista de alertas. En el siguiente ejemplo, puedes ver que las etiquetas muestran la severidad, tipo y las enumeraciones de los puntos débiles comunes (los CWE) del problema. La vista también muestra qué confirmación introdujo el 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 vista detallada de una alerta, algunas herramientas de code scanning, como el análisis de CodeQL, también incluyen una descripción del problema y un enlace de Show more para ayudarle a saber cómo corregir el código.

Captura de pantalla que muestra la descripción de una alerta de code scanning. El vínculo con la etiqueta "Mostrar más" está resaltado con un contorno naranja oscuro.

Realización de comentarios sobre una alerta en una solicitud de incorporación de cambios

Puedes comentar cualquier alerta de code scanning que aparezca en una solicitud de incorporación de cambios. Las alertas aparecen como anotaciones en la pestaña Conversación de una solicitud de incorporación de cambios, como parte de una revisión de la solicitud de incorporación de cambios, y también se muestran en la pestaña Archivos cambiados. .

Puedes optar por establecer que, para que se pueda combinar una solicitud de incorporación de cambios, primero deban resolverse todas las conversaciones de una solicitud de incorporación de cambios, incluidas las conversaciones de las alertas de code scanning. Para obtener más información, vea «Acerca de las ramas protegidas».

Arreglar una alerta en tu solicitud de cambios

Cualquiera con acceso de subida a una solicitud de cambios puede arreglar una alerta del code scanning, la cual se identifique en dicha solicitud. Si confirmas cambios en la solicitud de extracción, esto activará una ejecución nueva de las verificaciones de dicha solicitud. Si tus cambios arreglan el problema, la alerta se cierra y la anotación se elimina.

Descartar una alerta en tu solicitud de cambios

Una forma alterna de cerrar una alerta es descartarla. Puedes descartar una alerta si no crees que necesite arreglarse. 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. Si tienes permisos de escritura en el repositorio, el botón Descartar alerta aparece en las anotaciones de código y en el resumen de alertas. Al hacer clic en Descartar alerta, se te pedirá que elijas 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".

Para más información sobre cómo descartar alertas, consulta "Administración de alertas de examen de código para el repositorio."