
Da tus primeros pasos en CodeQL para Python escribiendo una consulta para encontrar CVE-2024-32022
Requisitos previos • Recursos • Taller
Puedes elegir entre dos opciones para ejecutar los ejercicios del taller:
Usa una instalación local de CodeQL para trabajar en los ejercicios del taller.
git instalados en tu máquina local.curl -L -O "https://github.com/sylwia-budzynska/codeql-workshop/releases/download/v1/test-app-db.zip" curl -L -O "https://github.com/sylwia-budzynska/codeql-workshop/releases/download/v1/kohya_ss-db.zip"
3. En VS Code: Archivo -> **Abrir espacio de trabajo desde archivo...** `vscode-codeql-starter.code-workspace`
4. Continúa con [Seleccionar una base de datos de CodeQL](#select-codeql-database)
5. Luego, [Prueba tu instalación](#test-your-installation)
### Opción B: GitHub Codespace
Usa un GitHub Codespace remoto para trabajar en los ejercicios del taller.
#### Requisitos previos
* Cuenta de GitHub ([regístrate](https://github.com/) gratis)
* Navegador (puedes realizar todo el taller en un navegador; es la configuración más rápida) o [Visual Studio Code](https://code.visualstudio.com/download) (VS Code) con la extensión [GitHub Codespaces](https://marketplace.visualstudio.com/items?itemName=GitHub.codespaces) instalada en tu máquina local.
Nota: Las primeras 120 horas por núcleo de uso de Codespace son gratuitas al mes; usamos un codespace con 4 núcleos para este taller, ya que 4 núcleos es el máximo actual para cuentas gratuitas. (Si tienes una cuenta Pro, recomendamos cambiar a una máquina de 8 núcleos).
#### Instrucciones
1. Inicia sesión en tu cuenta de [GitHub](https://github.com/login)
2. Ve al repositorio https://github.com/sylwia-budzynska/codeql-workshop
3. Haz clic en Code -> Codespaces
4. Haz clic en el signo más (+) para crear un nuevo codespace.
<img src="https://assets.kitploit.com/production/public/readmes/33098/c86e537f9e7891fb6bdb5da727cae5b6ad0b2c9ac94f67854d48296f2dad89cb.png" width="439" alt="Captura de pantalla: Crear Codespace, haz clic en el signo más">
VS Code se iniciará en tu navegador y se creará un Codespace remoto. Esto puede tardar unos minutos.
Si se te pide abrir el espacio de trabajo `vscode-codeql-starter.code-workspace`, haz clic en "Abrir espacio de trabajo".
5. Si quieres usar VS Code localmente, pulsa el botón de las tres líneas en la esquina superior izquierda y selecciona "Abrir VS Code Desktop". La opción puede tardar unos minutos en aparecer.
<img src="https://assets.kitploit.com/production/public/readmes/33098/f2c8c2fe6da80142344b17c208da31a23c3fa68a3917a124f0e2f7871b6a20f7.png" width="300" alt="Captura de pantalla: Pulsa el botón de las tres líneas y abre en VS Code Desktop">
6. Continúa con [Seleccionar una base de datos de CodeQL](#select-codeql-database)
7. Luego, [Prueba tu instalación](#test-your-installation)
Puedes ver tus codespaces en [github.com/codespaces](https://github.com/codespaces). El codespace se apagará solo después de unas horas sin usarlo, pero para asegurarte de no usar horas adicionales de las 120 gratuitas, recuerda ir a [github.com/codespaces](https://github.com/codespaces) > tres puntos > "Detener codespace" después del taller.
#### Solución de problemas de la instalación
En caso de que veas errores como:
* `Failed to run query: Could not resolve library path for [..]`
* `Could not resolve module [..]`
* `Could not resolve type [..]`
Es muy probable que hayas omitido clonar los submódulos de git (es decir, el repositorio ql). Para solucionarlo, ejecuta `git submodule init && git submodule update --recursive`.
### Seleccionar base de datos de CodeQL
1. Asegúrate de tener el espacio de trabajo `vscode-codeql-starter.code-workspace` abierto en VS Code.
2. Haz clic en el icono "QL" en el panel de pestañas izquierdo para ir a la vista de CodeQL.
3. Haz clic en "Elegir base de datos desde archivo" y selecciona el archivo `test-app-db.zip` en la raíz del repositorio.
Nota: En este punto, es posible que encuentres un error en VSCode con un mensaje emergente que pide instalar el CodeQL CLI. Aceptar esta instalación debería solucionar el problema. Después de que se complete la instalación de la CLI, deberías poder completar la selección de base de datos anterior.
<img src="https://assets.kitploit.com/production/public/readmes/33098/65cc5790b8b49113623bc9a9b34a1be61575b05bea2428c46f83115e2271148b.png" alt="Captura de pantalla: mensaje de error de VSCode sobre CodeQL">
<img src="https://assets.kitploit.com/production/public/readmes/33098/c3bf9c304d9c1f6199f591c9bcbf6e446ee4f5388ab209e30887326698129f84.png" alt="Captura de pantalla: VSCode instalando CodeQL CLI">
### Prueba tu instalación
#### Requisitos previos
Asegúrate de que la base de datos de CodeQL elegida anteriormente esté seleccionada en la vista de CodeQL. (Haz clic en "Seleccionar" si no lo está)
Cuando la base de datos esté seleccionada, debería verse así (observa la marca de verificación):
<img src="https://assets.kitploit.com/production/public/readmes/33098/fee6e47c0d9b0754c7ac9e29e2f0b3a721093aa5ce882615b3839a99f4862506.png" alt="Captura de pantalla: Base de datos de CodeQL seleccionada">
#### Instrucciones
1. En VS Code: ve a la carpeta del espacio de trabajo: `codeql-custom-queries-python`
2. Crea un nuevo archivo `test.ql`
3. agrega el siguiente contenido: `select "Hello World!"`
4. Guarda el archivo, haz clic derecho en el área del archivo y elige "CodeQL: Ejecutar consulta en la base de datos seleccionada"
5. Deberías ver una nueva pestaña abierta con el resultado "Hello World!"
## :books: Recursos