Skip to main content

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 repositorios que son propiedad de una organización en GitHub Enterprise Server. Esta característica requiere una licencia para la GitHub Advanced Security. Para más información, consulte "Acerca de GitHub Advanced Security".

Nota: El administrador del sitio debe habilitar code scanning para your GitHub Enterprise Server instance para que puedas utilizar esta característica. Si quieres utilizar GitHub Actions para escanear tu código, el administrador de sitio también puede habilitar las GitHub Actions y configurar la infraestructura que se requiera. Para más información, vea "Configuración de code scanning para el dispositivo".

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 Server 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".

  • CodeQL : usa GitHub Actions (consulte a continuación) o ejecuta el análisis de CodeQL en un sistema de integración continua (CI) de terceros (consulte "Acerca de CodeQL code scanning en el sistema de CI").

  • Terceros: usa GitHub Actions o herramientas de terceros y carga los resultados a GitHub Enterprise Server (consulte "Carga de un archivo SARIF a GitHub").

    Si ejecuta el análisis de código mediante varias configuraciones, en ocasiones una alerta tendrá varios orígenes de análisis. Si una alerta tiene varios orígenes de análisis, puede ver el estado de la alerta para cada origen de análisis en la página de alertas. Para más información, vea "Acerca de los orígenes de análisis".

Nota: Si quieres usar el análisis de CodeQL, ten en cuenta que este artículo se describen las características disponibles con la versión de la acción CodeQL y el paquete CodeQL CLI asociado que se incluyen en la versión inicial de esta versión de GitHub Enterprise Server. Si en la empresa se usa una versión más reciente de la acción CodeQL, consulta el artículo GitHub Enterprise Cloud para obtener información sobre las características más recientes. Para obtener información sobre el uso de la versión más reciente, consulte "Configuración del análisis de código para el dispositivo".

Configuración manual de code scanning

  1. En your GitHub Enterprise Server instance, navega a la página principal del repositorio. 1. En el nombre del repositorio, haz clic en Seguridad. Pestaña Seguridad

  2. A la derecha de "Code scanning alerts", haz clic en Configurar code scanning . Si falta code scanning, debes pedir a un propietario de la organización o administrador del repositorio que habilite GitHub Advanced Security. Para más información, consulta "Administración de la configuración de seguridad y análisis de la organización" o "Administración de la configuración de seguridad y análisis del repositorio". Botón "Configurar code scanning" a la derecha de "Code scanning" en Información general sobre seguridad

  3. En "Comenzar con code scanning", haga clic en Configurar este flujo de trabajo en CodeQL analysis workflow o en un flujo de trabajo de terceros. Botón "Configurar este flujo de trabajo" en el título "Comenzar con code scanning"Los flujos de trabajo solo se muestran si son pertinentes para los lenguajes de programación detectados en el repositorio. El CodeQL analysis workflow siempre se muestra, pero el botón "Configurar este flujo de trabajo" solo se habilita si el análisis de CodeQL es compatible con los lenguajes presentes en el repositorio.

  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: