# Establecimiento de la configuración avanzada para el examen del código

Puede configurar la configuración avanzada de un repositorio para buscar vulnerabilidades de seguridad en el código mediante una configuración altamente personalizable code scanning .

Si no necesita una configuración altamente personalizable code scanning , considere la posibilidad de usar la configuración predeterminada para code scanning. Para obtener más información, vea [Acerca de los tipos de configuración para el examen de código](/es/code-security/concepts/code-scanning/setup-types).

## Prerrequisitos

El repositorio es apto para la configuración avanzada si cumple estos requisitos.

* Usa lenguajes compatibles con CodeQL o tienen previsto generar resultados del examen de código con una herramienta de terceros.
* GitHub Actions está habilitado.
* Es visible públicamente o GitHub Code Security se ha habilitado.

## Configuración de la configuración avanzada para code scanning con CodeQL

Puede personalizar el CodeQL análisis mediante la creación y edición de un archivo de flujo de trabajo. Al seleccionar la configuración avanzada, se genera un archivo de flujo de trabajo básico para personalizar mediante la sintaxis de flujo de trabajo estándar y se especifican opciones para la CodeQL acción. Consulte [Flujos de trabajo](/es/actions/using-workflows/about-workflows) y [Opciones de configuración de flujo de trabajo para el examen de código](/es/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning).

Al usar acciones para ejecutar code scanning se usarán minutos. Para más información, consulta [facturación de GitHub Actions](/es/billing/managing-billing-for-github-actions/about-billing-for-github-actions)

> \[!NOTE]
> Puede configurar code scanning para cualquier repositorio público en el que tenga acceso de escritura.

1. En GitHub, navegue hasta la página principal del repositorio.

2. Debajo del nombre del repositorio, haz clic en **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-gear" aria-label="gear" role="img"><path d="M8 0a8.2 8.2 0 0 1 .701.031C9.444.095 9.99.645 10.16 1.29l.288 1.107c.018.066.079.158.212.224.231.114.454.243.668.386.123.082.233.09.299.071l1.103-.303c.644-.176 1.392.021 1.82.63.27.385.506.792.704 1.218.315.675.111 1.422-.364 1.891l-.814.806c-.049.048-.098.147-.088.294.016.257.016.515 0 .772-.01.147.038.246.088.294l.814.806c.475.469.679 1.216.364 1.891a7.977 7.977 0 0 1-.704 1.217c-.428.61-1.176.807-1.82.63l-1.102-.302c-.067-.019-.177-.011-.3.071a5.909 5.909 0 0 1-.668.386c-.133.066-.194.158-.211.224l-.29 1.106c-.168.646-.715 1.196-1.458 1.26a8.006 8.006 0 0 1-1.402 0c-.743-.064-1.289-.614-1.458-1.26l-.289-1.106c-.018-.066-.079-.158-.212-.224a5.738 5.738 0 0 1-.668-.386c-.123-.082-.233-.09-.299-.071l-1.103.303c-.644.176-1.392-.021-1.82-.63a8.12 8.12 0 0 1-.704-1.218c-.315-.675-.111-1.422.363-1.891l.815-.806c.05-.048.098-.147.088-.294a6.214 6.214 0 0 1 0-.772c.01-.147-.038-.246-.088-.294l-.815-.806C.635 6.045.431 5.298.746 4.623a7.92 7.92 0 0 1 .704-1.217c.428-.61 1.176-.807 1.82-.63l1.102.302c.067.019.177.011.3-.071.214-.143.437-.272.668-.386.133-.066.194-.158.211-.224l.29-1.106C6.009.645 6.556.095 7.299.03 7.53.01 7.764 0 8 0Zm-.571 1.525c-.036.003-.108.036-.137.146l-.289 1.105c-.147.561-.549.967-.998 1.189-.173.086-.34.183-.5.29-.417.278-.97.423-1.529.27l-1.103-.303c-.109-.03-.175.016-.195.045-.22.312-.412.644-.573.99-.014.031-.021.11.059.19l.815.806c.411.406.562.957.53 1.456a4.709 4.709 0 0 0 0 .582c.032.499-.119 1.05-.53 1.456l-.815.806c-.081.08-.073.159-.059.19.162.346.353.677.573.989.02.03.085.076.195.046l1.102-.303c.56-.153 1.113-.008 1.53.27.161.107.328.204.501.29.447.222.85.629.997 1.189l.289 1.105c.029.109.101.143.137.146a6.6 6.6 0 0 0 1.142 0c.036-.003.108-.036.137-.146l.289-1.105c.147-.561.549-.967.998-1.189.173-.086.34-.183.5-.29.417-.278.97-.423 1.529-.27l1.103.303c.109.029.175-.016.195-.045.22-.313.411-.644.573-.99.014-.031.021-.11-.059-.19l-.815-.806c-.411-.406-.562-.957-.53-1.456a4.709 4.709 0 0 0 0-.582c-.032-.499.119-1.05.53-1.456l.815-.806c.081-.08.073-.159.059-.19a6.464 6.464 0 0 0-.573-.989c-.02-.03-.085-.076-.195-.046l-1.102.303c-.56.153-1.113.008-1.53-.27a4.44 4.44 0 0 0-.501-.29c-.447-.222-.85-.629-.997-1.189l-.289-1.105c-.029-.11-.101-.143-.137-.146a6.6 6.6 0 0 0-1.142 0ZM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM9.5 8a1.5 1.5 0 1 0-3.001.001A1.5 1.5 0 0 0 9.5 8Z"></path></svg> Settings**. Si no puedes ver la pestaña "Configuración", selecciona el menú desplegable **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-kebab-horizontal" aria-label="More" role="img"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg>** y, a continuación, haz clic en **Configuración**.

   ![Captura de pantalla de un encabezado de repositorio en el que se muestran las pestañas. La pestaña "Configuración" está resaltada con un contorno naranja oscuro.](/assets/images/help/repository/repo-actions-settings.png)

3. En la sección "Security" de la barra lateral, haz clic en **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-codescan" aria-label="codescan" role="img"><path d="M8.47 4.97a.75.75 0 0 0 0 1.06L9.94 7.5 8.47 8.97a.75.75 0 1 0 1.06 1.06l2-2a.75.75 0 0 0 0-1.06l-2-2a.75.75 0 0 0-1.06 0ZM6.53 6.03a.75.75 0 0 0-1.06-1.06l-2 2a.75.75 0 0 0 0 1.06l2 2a.75.75 0 1 0 1.06-1.06L5.06 7.5l1.47-1.47Z"></path><path d="M12.246 13.307a7.501 7.501 0 1 1 1.06-1.06l2.474 2.473a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM1.5 7.5a6.002 6.002 0 0 0 3.608 5.504 6.002 6.002 0 0 0 6.486-1.117.748.748 0 0 1 .292-.293A6 6 0 1 0 1.5 7.5Z"></path></svg> Advanced Security**.

4. Desplácese hacia abajo hasta "Code Security", en la fila "CodeQL análisis" seleccione **Configurar**<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-triangle-down" aria-label="triangle-down" role="img"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg> y, a continuación, haga clic en **Avanzadas**.

   > \[!NOTE]
   > Si va a cambiar de la configuración predeterminada a la configuración avanzada, en la fila "CodeQL análisis", seleccione <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-kebab-horizontal" aria-label="Menu" role="img"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg>y, a continuación, haga clic en **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-workflow" aria-label="workflow" role="img"><path d="M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 0 1 5.25 7H4v4a1 1 0 0 0 1 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 14.25 16h-3.5A1.75 1.75 0 0 1 9 14.25v-.75H5A2.5 2.5 0 0 1 2.5 11V7h-.75A1.75 1.75 0 0 1 0 5.25Zm1.75-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Zm9 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Z"></path></svg> Cambiar a avanzado**. En la ventana emergente que aparece, haga clic en **Deshabilitar CodeQL**.

   ![Captura de pantalla de la sección "Code Security" de la configuración de "Advanced Security". El botón "Configuración avanzada" está resaltado con un contorno naranja.](/assets/images/help/security/advanced-code-scanning-setup-ghas.png)

5. Para personalizar cómo code scanning examina el código, edite el flujo de trabajo.

   Por lo general, puede confirmar el Flujo de trabajo de análisis de CodeQL sin hacer ningún cambio en él. 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 [Opciones de configuración de flujo de trabajo para el examen de código](/es/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning) y [Análisis de código de CodeQL para lenguajes compilados](/es/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages).

6. Haz clic en **Confirmar cambios...** para mostrar el formulario de confirmación de cambios.

   ![Captura de pantalla del formulario para crear un nuevo archivo. A la derecha del nombre de archivo, un botón verde, con la etiqueta "Confirmar cambios...", está resaltado en naranja oscuro.](/assets/images/help/repository/start-commit-commit-new-file.png)

7. En el campo de mensaje de confirmación, escribe un mensaje de confirmación.

8. Elija si quiere confirmar directamente en la rama predeterminada o crear una rama e iniciar una solicitud de incorporación de cambios.

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

10. 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 la sugerencia Flujo de trabajo de análisis de CodeQL, code scanning está configurado para analizar tu código cada vez que realizas un cambio en la rama predeterminada o en cualquier rama protegida, o generas un pull request en la rama predeterminada. Como resultado, 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. Consulte [Opciones de configuración de flujo de trabajo para el examen de código](/es/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#scan-frequency) y [Activar un flujo de trabajo](/es/actions/using-workflows/triggering-a-workflow).

Para obtener información sobre la habilitación masiva, vea [Establecimiento de la configuración avanzada para el examen de código con CodeQL a gran escala](/es/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-advanced-setup-for-code-scanning-with-codeql-at-scale).

## Configurando code scanning mediante acciones de terceros

```
          GitHub incluye plantillas de flujo de trabajo para acciones de terceros, así como la CodeQL acción. El uso de una plantilla de flujo de trabajo es mucho más fácil que escribir un flujo de trabajo sin asistencia.
```

Al usar acciones para ejecutar code scanning se usarán minutos. Para más información, consulta [facturación de GitHub Actions](/es/billing/managing-billing-for-github-actions/about-billing-for-github-actions)

1. En GitHub, navegue hasta la página principal del repositorio.

2. En el nombre del repositorio, haz clic en **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-play" aria-label="play" role="img"><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path></svg> Actions**.

   ![Captura de pantalla de las pestañas del repositorio "github/docs". La pestaña "Proyectos" aparece resaltada con un contorno naranja.](/assets/images/help/repository/actions-tab-global-nav-update.png)

3. Si el repositorio ya tiene al menos un flujo de trabajo configurado y en ejecución, haga clic en **Nuevo flujo de trabajo** para mostrar las plantillas de flujo de trabajo. Actualmente no hay flujos de trabajo configurados para el repositorio, ve al siguiente paso.

   ![Captura de pantalla de la pestaña Acciones de un repositorio. El botón "Nuevo flujo de trabajo" aparece resaltado en naranja oscuro.](/assets/images/help/security/actions-new-workflow-button.png)

4. En la vista "Elegir un flujo de trabajo" o "Introducción GitHub Actions", desplácese hacia abajo hasta la categoría "Seguridad" y haga clic en **Configurar** en el flujo de trabajo que desea configurar. Es posible que tengas que hacer clic en **Ver todo** para encontrar el flujo de trabajo de seguridad que deseas configurar.

   ![Captura de pantalla de la categoría Seguridad de las plantillas de flujo de trabajo. El botón Configurar y el vínculo "Ver todo" están resaltados con un contorno naranja.](/assets/images/help/security/actions-workflows-security-section.png)

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

   ![Captura de pantalla que muestra un archivo de plantilla de flujo de trabajo abierto para su edición. El botón "Documentación" está resaltado con un contorno naranja.](/assets/images/help/security/actions-workflows-documentation.png)

6. Cuando hayas terminado de definir la configuración, agrega el nuevo flujo de trabajo a la rama predeterminada.

   Para obtener más información, vea [Uso de plantillas de flujo de trabajo](/es/actions/learn-github-actions/using-starter-workflows#choosing-and-using-a-starter-workflow) y [Opciones de configuración de flujo de trabajo para el examen de código](/es/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning).

## Pasos siguientes

Después de que el flujo de trabajo se ejecute correctamente al menos una vez, estará listo para empezar a examinar y resolver code scanning alertas. Para obtener más información sobre las code scanning alertas, consulte [Acerca de las alertas de análisis de código](/es/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts) y [Evaluación de alertas de análisis de código para el repositorio](/es/code-security/code-scanning/managing-code-scanning-alerts/assessing-code-scanning-alerts-for-your-repository).

Para obtener información sobre cómo se comportan las ejecuciones de code scanning como comprobaciones en las solicitudes de incorporación de cambios, consulte [Clasificar las alertas del escaneo de código en las solicitudes de cambios](/es/code-security/code-scanning/managing-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests#about-code-scanning-as-a-pull-request-check).

Puede encontrar información detallada sobre su configuración de code scanning, incluidas las marcas de tiempo de cada examen y el porcentaje de archivos escaneados, en la página de estado de la herramienta. Para obtener más información, vea [Usar la página de estado de la herramienta para el examen de código](/es/code-security/code-scanning/managing-your-code-scanning-configuration/about-the-tool-status-page).

### Lectura adicional

* [Clasificar las alertas del escaneo de código en las solicitudes de cambios](/es/code-security/code-scanning/managing-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests).
* [Configuración de notificaciones](/es/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications#github-actions-notification-options).
* [Opciones de configuración de flujo de trabajo para el examen de código](/es/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning).
* [Visualización de registros de examen de código desde GitHub Actions](/es/code-security/code-scanning/managing-your-code-scanning-configuration/viewing-code-scanning-logs).