Información sobre de la edición de la configuración predeterminada
Después de ejecutar un análisis inicial del código con la configuración predeterminada, es posible que tengas que realizar cambios en la configuración para que se adapte mejor a tus necesidades de seguridad del código. Para las configuraciones existentes de la configuración predeterminada, puedes editar:
- Qué lenguajes se analizarán con la configuración predeterminada.
- El conjunto de consultas que se ejecuta durante el análisis. Para obtener más información sobre los conjuntos de consultas disponibles, consulte “Conjuntos de consultas codeQL”.
- Modelos de riesgos (beta) que se van a usar para el análisis. La elección del modelo de riesgos determina qué orígenes de datos contaminados se tratan como un riesgo para la aplicación. Durante la beta, los modelos de riesgos solo son compatibles con el análisis de Java/Kotlin y C#. Para obtener más información sobre los modelos de riesgos, consulte "Incluir orígenes locales de datos contaminados en la configuración predeterminada".
Si el código base depende de una biblioteca o marco que no reconozcan las bibliotecas estándar incluidas con CodeQL, también puede ampliar la cobertura de CodeQL en la configuración predeterminada al usar paquetes de modelos CodeQL. Para obtener más información, consulte "Extender la cobertura de CodeQL con paquetes de modelos codeQL en la configuración predeterminada".
Si necesitas cambiar cualquier otro aspecto de la configuración del code scanning, considera la posibilidad de crear una configuración avanzada. Para obtener más información, vea «Establecimiento de la configuración avanzada para el examen del código».
Personalización de la configuración predeterminada existente
-
En GitHub, navegue hasta la página principal del repositorio.
-
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, haz clic en Análisis y seguridad del código.
-
En la fila “Análisis de CodeQL” de la sección “Code scanning”, selecciona y haz clic en Ver configuración de CodeQL.
-
En la ventana “Configuración predeterminada de CodeQL", haz clic en Editar.
-
Opcionalmente, en la sección "Lenguajes", selecciona o anula la selección de lenguajes para analizar.
-
Opcionalmente, en la fila “Conjunto de consultas” de la sección “Configuración del escáner”, seleccione otro conjunto de consultas para ejecutarlo en el código.
-
(beta) Opcionalmente, en la fila "Modelo de riesgos" de la sección "Configuración del análisis", seleccione Orígenes remotos y locales.
-
Para actualizar la configuración, así como ejecutar un análisis inicial del código con la nueva configuración, haz clic en Guardar cambios. Todos los análisis futuros usarán la nueva configuración.
Definición de las gravedades de alerta que provocan un error de comprobación de una solicitud de incorporación de cambios
Al habilitar code scanning en las solicitudes de incorporación de cambios, la comprobación solo produce un error si se detectan una o varias alertas de gravedad error
, o gravedad critical
de seguridad o high
. La comprobación se realizará correctamente si se detectan alertas con gravedades inferiores o gravedades de seguridad. En el caso de los códigos base importantes, es posible que desees que code scanning compruebe si se producen errores cuando se detecten alertas, de modo que la alerta deba corregirse o descartarse antes de que se combine el cambio de código. Para obtener más información sobre los niveles de gravedad, consulta «Acerca de la gravedad de alerta y los niveles de gravedad de seguridad».
-
En GitHub, navegue hasta la página principal del repositorio.
-
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 "Code scanning", a la derecha de "Error de comprobación", utiliza el menú desplegable para seleccionar el nivel de gravedad que quisieras que ocasionara un error de comprobación en la solicitud de cambios.
Inclusión de orígenes locales de datos contaminados en la configuración por defecto
Nota: Los modelos de riesgos están actualmente en beta y está sujeta a cambios. Durante la beta, los modelos de riesgos solo son compatibles con el análisis de Java/Kotlin y C#.
Si el código base solo considera que las solicitudes de red remota son posibles orígenes de datos contaminados, se recomienda usar el modelo de riesgos predeterminado. Si su código base considera que otros orígenes distintos de las solicitudes de red pueden contener datos contaminados, puede utilizar modelos de riesgos para añadir estos orígenes adicionales a su análisis de CodeQL. Durante la beta, puede añadir orígenes locales (por ejemplo: argumentos de la línea de comandos, variables de entorno, sistemas de archivos y bases de datos) que el código base puede considerar como orígenes adicionales de datos contaminados.
Puede editar el modelo de riesgos utilizado en una configuración de instalación predeterminada. Para obtener más información, consulte “Personalización de la configuración predeterminada existente”.
Extensión de la cobertura de CodeQL con paquetes de modelos de CodeQL en la configuración predeterminada
Nota: Los paquetes de modelos de CodeQL y el editor de modelos de CodeQL se encuentran actualmente en beta y están sujetos a cambios. Los paquetes de modelos son compatibles con el análisis de C#, Java/Kotlin, and Ruby.
Si usa marcos y bibliotecas que no reconocen las bibliotecas estándar incluidas con CodeQL, puede modelar las dependencias y ampliar el análisis de code scanning. Para más información sobre los lenguajes y marcos admitidos, consulte la documentación para CodeQL.
Para la configuración predeterminada, debe definir los modelos de las dependencias adicionales en paquetes de modelos CodeQL. Puede extender la cobertura en la configuración predeterminada con los paquetes de modelos CodeQL para repositorios individuales o a gran escala para todos los repositorios de una organización.
Para obtener más información sobre los paquetes de modelos de CodeQL y escribir el suyo propio, consulte “Uso del editor de modelos de CodeQL”.
Extensión de la cobertura de un repositorio
- En el directorio
.github/codeql/extensions
del repositorio, copie el directorio del paquete de modelos que debe incluir un archivocodeql-pack.yml
y los archivos.yml
que contengan modelos adicionales para las bibliotecas o los marcos que desee incluir en el análisis. - Los paquetes de modelos se detectarán y usarán automáticamente en su análisis de code scanning.
- Si más adelante cambia la configuración para usar la configuración avanzada, los paquetes de modelos del directorio
.github/codeql/extensions
seguirán siendo reconocidas y usadas.
Extensión de la cobertura para todos los repositorios de una organización
Note
Si amplía la cobertura con los paquetes de modelos de CodeQL para todos los repositorios de una organización, los paquetes de modelos que especifique deben publicarse en el registro de contenedor asociado a la instancia de GitHub Enterprise Server (https://containers.HOSTNAME
) y que sean accesibles para los repositorios que ejecutan variables de datos code scanning. Para obtener más información, vea «Trabajar con el registro de contenedores».
-
En la esquina superior derecha de GitHub, seleccione la foto del perfil y haga clic en Sus organizaciones.
-
En el nombre de la organización, 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.
-
Haga clic en Seguridad y análisis del código.
-
Vaya a la sección “Code scanning”.
-
Junto a “Expandir análisis de CodeQL”, haga clic en Configurar.
-
Escriba referencias a los paquetes de modelos publicados que desea usar, uno por línea y, a continuación, haga clic en Guardar.
-
Los paquetes de modelos se detectarán y usarán automáticamente cuando code scanning se ejecute en cualquier repositorio de la organización con la configuración predeterminada habilitada.