Opciones para configurar code scanning
Tú decides cómo generar las alertas del code scanning y qué herramientas utilizar a nivel de repositorio. GitHub te proporciona compatibilidad total e integrada para el análisis de CodeQL y también es compatible con el análisis de herramientas de terceros. Para más información, consulta las viñetas siguientes y "Acerca del examen de código".
-
CodeQL : usa GitHub Actions con la configuración predeterminada (consulta "Configuración del análisis de código para un repositorio") o una configuración avanzada (consulta "Configuración del análisis de código para un repositorio"), o bien ejecuta el análisis de CodeQL en un sistema de integración continua (CI) de terceros (consulta "Acerca del escaneo de código de CodeQL en tu sistema de IC").
-
Terceros: usa GitHub Actions (consulta "Configuración del análisis de código para un repositorio") o herramientas de terceros y carga los resultados a GitHub (consulta "Subir un archivo SARIF a GitHub").
Si ejecutas el análisis de código con varias configuraciones, a veces se generará la misma alerta mediante más de una configuración. Si una alerta proviene de varias configuraciones, puedes ver el estado de la alerta para cada configuración en la página de alertas. Para obtener más información, vea «Acerca de las alertas de análisis de código».
La página de estado de la herramienta muestra información útil sobre todas las herramientas de examen de código. Si el examen de código no funciona según lo esperado, la página de estado de la herramienta es un buen punto de partida para depurar los problemas. Para obtener más información, vea «Acerca de la página de estado de la herramienta para el examen de código».
Configuración automática de code scanning
La configuración predeterminada de code scanning configurará automáticamente code scanning con la mejor configuración para el repositorio. La configuración predeterminada usa GitHub Actions para ejecutar el análisis de CodeQL sin necesidad de confirmar un archivo de flujo de trabajo en el repositorio.
El repositorio es apto para la configuración predeterminada si usa GitHub Actions y solo contiene los siguientes lenguajes compatibles con CodeQL: Go, JavaScript/TypeScript, Python o Ruby. Aunque puedes usar la configuración predeterminada si el repositorio incluye lenguajes que no son compatibles con CodeQL, como R, debes usar la configuración avanzada si incluyes lenguajes compatibles con CodeQL distintos de los indicados anteriormente. Para obtener más información sobre los lenguajes admitidos por CodeQL, vea "Acerca del examen de código con CodeQL". Para obtener información sobre la habilitación masiva, consulte "Configuración del análisis de código a escala mediante CodeQL".
Habilitar la configuración predeterminada es la forma más rápida de configurar code scanning para el repositorio. Además, la configuración predeterminada no requiere ningún mantenimiento necesario con un archivo de flujo de trabajo de CodeQL. Antes de habilitar la configuración predeterminada, verás los lenguajes que analizará, los conjuntos de consultas que ejecutará y los eventos que desencadenarán un nuevo examen.
Prueba la configuración predeterminada si no necesitas ejecutar consultas adicionales, cambiar la programación de examen o examinar un lenguaje que no es compatible actualmente con la configuración predeterminada.
-
En GitHub.com, navega a la página principal del repositorio. 1. En el nombre del repositorio, haz clic en Configuración. Si no puedes ver la pestaña "Configuración", selecciona el menú desplegable y, a continuación, haz clic en Configuración.
-
En la sección "Seguridad" de la barra lateral, haga clic en Análisis y seguridad del código.
-
En la sección "Code scanning", selecciona Configurar y, después, haz clic en Predeterminado.
-
Opcionalmente, en la sección "Conjuntos de consultas" del cuadro de diálogo modal "Configuración predeterminada de CodeQL", selecciona el menú desplegable Predeterminado y, luego, haz clic en el conjunto de consultas de CodeQL que quieres usar.
Si eliges el conjunto de consultas Extendido, la configuración de code scanning ejecutará consultas de gravedad y precisión inferiores, además de las consultas incluidas en el conjunto de consultas Predeterminado.
Nota: Si configuras code scanning para usar el conjunto de consultas Extendido, puedes experimentar una tasa más alta de alertas de falsos positivos.
-
Revisa los valores de la configuración predeterminada en el repositorio y, luego, haz clic en Habilitar CodeQL .
Notas:
- La ventana de configuración predeterminada CodeQL muestra los detalles de la configuración predeterminada, incluidos los lenguajes que se van a analizar, los conjuntos de consultas que se van a ejecutar y los eventos que desencadenan un nuevo examen. Si quieres cambiar qué eventos desencadenarán un nuevo examen u personalizar otras características de code scanning, debes usar la configuración avanzada. Para obtener más información, vea «Configuración del análisis de código para un repositorio».
- Si vas a cambiar a la configuración predeterminada desde la configuración avanzada, verás una advertencia que te informará de que la configuración predeterminada invalidará las configuraciones existentes. El programa de instalación predeterminado de CodeQL deshabilitará el archivo de flujo de trabajo existente y bloqueará las cargas de la API de análisis de CodeQL.
- Si quieres ver la configuración predeterminada de CodeQL después de la configuración, selecciona y haz clic en Ver configuración de CodeQL .
Creación de una configuración avanzada
La configuración avanzada de los datos code scanning es útil cuando necesitas personalizar tus code scanning. Al crear y editar un archivo de flujo de trabajo, puedes elegir qué consultas ejecutar, cambiar la programación del examen, examinar cualquier lenguaje compatible con CodeQL, usar una compilación de matriz, etc.
Configuración del code scanning mediante flujos de trabajo de inicio
Nota: Los flujos de trabajo de inicio de Advanced Security se han consolidado en la categoría "Security" (Seguridad) de la pestaña Actions (Acciones) de un repositorio. Esta nueva configuración está actualmente en versión beta y está sujeta a cambios.
Los GitHub proporciona flujos de trabajo de inicio para características de seguridad como code scanning. Puedes utilizar estos flujos de trabajo sugeridos para construir tus flujos de trabajo del code scanning en vez de comenzar desde cero. de los flujos de trabajo iniciales del Code scanning solo están disponibles para su repositorio si el code scanning se encuentra habilitado.
Al usar acciones para ejecutar code scanning se usarán minutos. Para más información, consulta "Acerca de la facturación para las Acciones de GitHub".
- En GitHub.com, navega a la página principal del repositorio. 1. En el nombre del repositorio, haz clic en Acciones.
- Si el repositorio ya tiene al menos un flujo de trabajo configurado y en ejecución, haz clic en Nuevo flujo de trabajo para mostrar los flujos de trabajo iniciales. Actualmente no hay flujos de trabajo configurados para el repositorio, ve al siguiente paso.
- En la vista "Elegir un flujo de trabajo" o "Introducción a GitHub Actions", desplázate hacia abajo hasta la categoría "Seguridad" y haz clic en Configurar en el flujo de trabajo que deseas configurar. Es posible que tengas que hacer clic en Ver todo para encontrar el flujo de trabajo de seguridad que deseas configurar.
- Sigue las instrucciones del flujo de trabajo para personalizarlo según tus necesidades. Para obtener una ayuda más general sobre los flujos de trabajo, haz clic en Documentación en el panel derecho de la página de flujo de trabajo.
Para obtener más información, vea «Utilizar flujos de trabajo iniciales» y «Personalización del examen de código».
Configuración manual de code scanning
Puedes personalizar tus code scanning mediante la creación y edición de un archivo de flujo de trabajo. La configuración avanzada genera un archivo de flujo de trabajo básico para personalizarlo.
Al usar acciones para ejecutar code scanning se usarán minutos. Para más información, consulta "Acerca de la facturación para las Acciones de GitHub".
Nota: Puedes configurar code scanning para cualquier repositorio público en el que tengas acceso de escritura.
-
En GitHub.com, navega a la página principal del repositorio. 1. En el nombre del repositorio, haz clic en Configuración. Si no puedes ver la pestaña "Configuración", selecciona el menú desplegable y, a continuación, haz clic en Configuración.
-
En la sección "Seguridad" de la barra lateral, haga clic en Análisis y seguridad del código.
-
Desplázate hacia abajo hasta la sección "Code scanning", selecciona Configurar y, después, haz clic en Avanzado.
Nota: Si vas a cambiar a la configuración avanzada de code scanning desde la configuración predeterminada, en la sección "Code scanning", selecciona y haz clic en Cambiar a avanzada. En la ventana emergente que aparece, haga clic en Deshabilitar CodeQL .
-
Para personalizar la forma en que el code scanning escanea tu còdigo, edita el flujo de trabajo.
Generalmente, puedes confirmar el Flujo de trabajo de análisis de CodeQL sin hacerle ningún cambio. Pero muchos de los flujos de trabajo de terceros necesitan una configuración adicional, así que lea los comentarios del flujo de trabajo antes de confirmar.
Para obtener más información, vea «Personalización del examen de código».
-
Haz clic en Confirmar cambios... para mostrar el formulario de confirmación de cambios.
-
En el campo de mensaje de confirmación, escribe un mensaje de confirmación.
-
Elija si quiere confirmar directamente en la rama predeterminada o crear una rama e iniciar una solicitud de incorporación de cambios.
-
Haz clic en Confirmar nuevo archivo para confirmar el archivo de flujo de trabajo en la rama predeterminada o haz clic en Proponer nuevo archivo para confirmar el archivo en una nueva rama.
-
Si has creado una nueva rama, haz clic en Crear solicitud de cambios y abre una solicitud de cambios para combinar el cambio en la rama predeterminada.
En el Flujo de trabajo de análisis de CodeQL sugerido, el code scanning se configura para analizar tu código cada vez que envíes un cambio a la rama predeterminada o a cualquier rama protegida, o que emitas una solicitud de incorporación cambios contra la rama predeterminada. Como resultado, el code scanning comenzarà ahora.
Los valores on:pull_request
y on:push
que se desencadenan para el examen de código son útiles para distintos propósitos. Para obtener más información, vea «Personalización del examen de código».
Para obtener información sobre la habilitación masiva, vea "Configuración del análisis de código a escala mediante CodeQL".
Visualizar la salida de registro del code scanning
Después de configurar el code scanning para tu repositorio, puedes observar la salida de las acciones conforme se ejecutan.
-
En el nombre del repositorio, haz clic en Acciones.
Veràs una lista que incluye una entrada para ejecutar el flujo de trabajo del code scanning. El texto de la entrada es el título que le diste a tu mensaje de confirmación.
-
Haz clic en la entrada para la ejecución del flujo de trabajo de code scanning.
-
Da clic en el nombre del job situado a la izquierda. Por ejemplo, Analizar (LENGUAJE) .
-
Revisa la salida de registro de las acciones en este flujo de trabajo conforme se ejecutan.
-
Una vez que todos los jobs se completen, puedes ver los detalles de cualquier alerta del code scanning que se hayan identificado. Para obtener más información, vea «Administración de alertas de examen de código para el repositorio».
Entender las verificaciones de la solicitud de cambios
Cada flujo de trabajo del code scanning que configuras para que se utilice en las solicitudes de cambios siempre tiene por lo menos dos entradas listadas en la sección de verificaciones de una solicitud de cambios. Solo hay una entrada para cada uno de los jobs de anàlisis en el flujo de trabajo y uno final para los resultados del anàlisis.
Los nombres de las verificaciones del anàlisis del code scanning se expresan en la forma: "NOMBRE DE LA HERRAMIENTA / NOMBRE DEL JOB (ACTIVADOR)." Por ejemplo, para CodeQL, el anàlisis de còdigo en C++ tiene la entrada "CodeQL / Analyze (cpp) (pull_request)". Puede hacer clic en Detalles en una entrada de análisis de code scanning para ver los datos de registro. Esto te permite depurar un problema si falla el job de anàlisis. Por ejemplo, para el anàlisis del code scanning de los lenguajes compilados, esto puede suceder si la acciòn no puede compilar el còdigo.
Cuando se completan los trabajos del code scanning, GitHub averigüe si la solicitud de cambios agregó alguna alerta y agregue la entrada "Resultados del Code scanning / NOMBRE DE LA HERRAMIENTA" a la lista de verificaciones. Después de que code scanning se haya ejecutado al menos una vez, puede hacer clic en Detalles para ver los resultados del análisis.
Pasos siguientes
Después de configurar el code scanning y permitir que sus acciones se completen, puedes:
- Ver todas las alertas del code scanning que se han generado para este repositorio. Para obtener más información, vea «Administración de alertas de examen de código para el repositorio».
- Ver cualquier alerta que se genere para una solicitud de cambios que se emitió después de que configuraste el code scanning. Para obtener más información, vea «Clasificar las alertas del escaneo de código en las solicitudes de cambios».
- Configurar las notificaciones para las ejecuciones que se hayan completado. Para obtener más información, vea «Configuración de notificaciones».
- Visualizar las bitácoras que generó el análisis del code scanning. Para obtener más información, vea «Visualizar las bitácoras del escaneo de código».
- Investigar cualquier problema que ocurre con la configuración inicial del code scanning de CodeQL. Para obtener más información, vea «Solución de problemas de configuración avanzada para CodeQL».
- Personaliza cómo el code scanning escanea el código en tu repositorio. Para obtener más información, vea «Personalización del examen de código».