Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Configuración del análisis de código para un repositorio

Puedes configurar code scanning para que un repositorio encuentre vulnerabilidades de seguridad en el código.

Who can use this feature

If you have write permissions to a repository, you can configure code scanning for that repository.

Code scanning está disponible para todos los repositorios públicos en GitHub.com. Para utilizar code scanning en un repositorio privado que pertenece a una organización, debes tener una licencia para GitHub Advanced Security. Para más información, consulte "Acerca de GitHub Advanced Security".

Opciones para configurar code scanning

Tú decides cómo generar las alertas del code scanning y qué herramientas utilizar a nivel de repositorio. GitHub Enterprise Cloud 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 siguientes viñetas y "Acerca de code scanning".

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. El repositorio es apto para la configuración predeterminada si usa GitHub Actions y solo contiene los siguientes lenguajes compatibles con CodeQL: 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 compatibles con CodeQL, consulta "Acerca de code scanning con 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.

  1. En GitHub.com, navega a la página principal del repositorio. 1. Debajo del nombre del repositorio, haz clic en Configuración. Botón de configuración del repositorio

  2. En la sección "Seguridad" de la barra lateral, haga clic en Análisis y seguridad del código.

  3. En la sección "Code scanning", selecciona Configurar y, después, haz clic en Predeterminado.

    Captura de pantalla de la sección "Code scanning" con énfasis en la opción de configuración "Predeterminada"

  4. En la ventana de configuración predeterminada CodeQL que se muestra, revisa la configuración del repositorio y, posteriormente, haz clic en Habilitar CodeQL .

    Captura de pantalla de la ventana emergente "Configuración predeterminada de CodeQL" con énfasis en el botón "Habilitar datos 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é conjuntos de consultas se ejecutarán, qué eventos desencadenarán un nuevo examen u otras características de code scanning, debes utilizar la configuración avanzada. Para obtener más información, consulta "Creación de un conjunto".
    • 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. Una vez que hayas habilitado CodeQL, asegúrate de eliminar o deshabilitar el archivo de flujo de trabajo existente. De lo contrario, el flujo de trabajo seguirá ejecutándose con regularidad sin cargar ningún resultado de code scanning, con los minutos de GitHub Actions.
    • 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 Enterprise Cloud 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 tu repositorio si el code scanning se encuentra habilitado.

Al usar acciones para ejecutar code scanning se usarán minutos. Para más información, vea "Acerca de la facturación de GitHub Actions".

  1. En GitHub.com, navega a la página principal del repositorio. 1. En el nombre del repositorio, haga clic en Acciones. Pestaña Acciones en la navegación del repositorio principal
  2. Si el repositorio ya tiene al menos un flujo de trabajo configurado y en ejecución, haz clic en Nuevo flujo de trabajo y ve al paso 5. Actualmente no hay flujos de trabajo configurados para el repositorio, ve al siguiente paso. Captura de pantalla del botón Nuevo flujo de trabajo
  3. Desplácese hacia abajo hasta la categoría "Seguridad" y haga clic en Configurar en el flujo de trabajo que quiera configurar, o bien haga clic en Ver todo para ver todos los flujos de trabajo de seguridad disponibles. Captura de pantalla de la sección de seguridad de flujos de trabajo de Acciones
  4. En el panel derecho de la página del flujo de trabajo, haga clic en Documentación y siga las instrucciones en pantalla para configurarlo de acuerdo a las necesidades. Captura de pantalla de la pestaña Documentación para flujos de trabajo de inicio Para más información, consulta "Uso de flujos de trabajo de inicio" y "Personalización de code scanning".

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, vea "Acerca de la facturación de GitHub Actions".

  1. En GitHub.com, navega a la página principal del repositorio. 1. Debajo del nombre del repositorio, haz clic en Configuración. Botón de configuración del repositorio

  2. En la sección "Seguridad" de la barra lateral, haga clic en Análisis y seguridad del código.

  3. En 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 , haz clic en Cambiar a avanzada. En la ventana emergente que aparece, haga clic en Deshabilitar CodeQL .

    Captura de pantalla de la sección "Code scanning" con énfasis en la opción de configuración "Avanzada"

  4. Para personalizar la forma en que el code scanning escanea tu còdigo, edita el flujo de trabajo.

    Generalmente, puedes confirmar el CodeQL analysis workflow 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 más información, consulta "Personalización de code scanning".

  5. Use la lista desplegable Start commit (Iniciar confirmación) y escriba un mensaje de confirmación. Iniciar confirmación

  6. Elija si quiere confirmar directamente en la rama predeterminada o crear una rama e iniciar una solicitud de incorporación de cambios. Elegir dónde realizar la confirmación

  7. Haga clic en Commit new file (Confirmar nuevo archivo) o Propose new file (Proponer nuevo archivo).

En el CodeQL analysis workflow 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 más información, consulta "Personalización de code scanning".

Configuración masiva de code scanning

Puedes configurar el code scanning en muchos repositorios al mismo tiempo mediante un script. Si quiere usar un script para generar solicitudes de incorporación de cambios que agreguen un flujo de trabajo de GitHub Actions a varios repositorios, vea el repositorio jhutchings1/Create-ActionsPRs para obtener un ejemplo mediante PowerShell, o bien nickliffen/ghas-enablement para equipos que no tienen PowerShell y en su lugar quieren usar NodeJS.

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.

  1. En el nombre del repositorio, haga clic en Acciones. Pestaña Acciones en la navegación del repositorio principal

    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.

    Lista de acciones que muestran el flujo de trabajo del code scanning

  2. Da clic en la entrada para el flujo de trabajo de code scanning.

  3. Da clic en el nombre del job situado a la izquierda. Por ejemplo, Analizar (LENGUAJE) .

    Registro de salida del flujo de trabajo del code scanning

  4. Revisa la salida de registro de las acciones en este flujo de trabajo conforme se ejecutan.

  5. Una vez que todos los jobs se completen, puedes ver los detalles de cualquier alerta del code scanning que se hayan identificado. Para más información, vea "Administración de alertas de code scanning para el repositorio".

Nota: Si ha generado una solicitud de incorporación de cambios para agregar el flujo de trabajo de code scanning al repositorio, las alertas de esa solicitud de incorporación de cambios no se mostrarán directamente en la página de Code scanning hasta que se combine esta solicitud. Si se han encontrado alertas, puedes verlas antes de que se combine la solicitud de incorporación de cambios si haces clic en el vínculo NÚMERO alertas encontradas en el banner de la página de Code scanning.

Haz clic en el vínculo "N.  de alertas encontradas"

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.

Verificaciones de solicitudes de cambios del code scanning

Cuando se completan los jobs del code scanning, GitHub averigua si la solicitud de cambios agregò alguna alerta y agrega 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: