
Fai i primi passi in CodeQL per Python scrivendo una query per trovare CVE-2024-32022
Prerequisiti • Risorse • Workshop
Puoi scegliere tra due opzioni per eseguire gli esercizi del workshop:
Usa un'installazione locale di CodeQL per lavorare sugli esercizi del workshop.
git installati sulla tua macchina locale.Installa l'estensione per VS Code per CodeQL](https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-codeql)
Esegui nel terminale:
code --install-extension GitHub.vscode-codeql
``````bash
git clone https://github.com/sylwia-budzynska/codeql-workshop cd codeql-workshop git submodule init git submodule update --recursive --depth 1
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. In VS Code: File -> **Open Workspace from File...** `vscode-codeql-starter.code-workspace`
4. Continuare con [Selezionare un database CodeQL](#select-codeql-database)
5. Quindi [Testare l'installazione](#test-your-installation)
### Opzione B: GitHub Codespace
Utilizzare un Codespace remoto di GitHub per lavorare agli esercizi del workshop.
#### Prerequisiti
* Account GitHub ([iscrizione](https://github.com/) gratuita)
* Browser (è possibile svolgere l'intero workshop in un browser – questa è la configurazione più rapida) o [Visual Studio Code](https://code.visualstudio.com/download) (VS Code) con l'estensione [GitHub Codespaces](https://marketplace.visualstudio.com/items?itemName=GitHub.codespaces) installata sul proprio computer locale.
Nota: Le prime 120 ore per core di utilizzo di Codespace sono gratuite al mese; per questo workshop utilizziamo un codespace con 4 core, poiché 4 core è il massimo attuale per gli account gratuiti. (Se si dispone di un account Pro, si consiglia di passare a una macchina a 8 core.)
#### Istruzioni
1. Accedi al tuo account [GitHub](https://github.com/login)
2. Vai al repository https://github.com/sylwia-budzynska/codeql-workshop
3. Clicca su Code -> Codespaces
4. Clicca sul segno più (+) per creare un nuovo codespace.
<img src="https://assets.kitploit.com/production/public/readmes/33098/c86e537f9e7891fb6bdb5da727cae5b6ad0b2c9ac94f67854d48296f2dad89cb.png" width="439" alt="Screenshot: Crea Codespace, clicca sul più">
VS Code si avvierà nel browser e verrà creato un Codespace remoto. Potrebbero essere necessari alcuni minuti.
Se ti viene richiesto di aprire il workspace `vscode-codeql-starter.code-workspace`, clicca su "Open Workspace".
5. Se desideri utilizzare VS Code in locale, premi il pulsante a tre linee nell'angolo in alto a sinistra e seleziona "Open VS Code Desktop". L'opzione potrebbe richiedere alcuni minuti per apparire.
<img src="https://assets.kitploit.com/production/public/readmes/33098/f2c8c2fe6da80142344b17c208da31a23c3fa68a3917a124f0e2f7871b6a20f7.png" width="300" alt="Screenshot: Premi il pulsante a tre linee e apri in VS Code Desktop">
6. Continuare con [Selezionare un database CodeQL](#select-codeql-database)
7. Quindi [Testare l'installazione](#test-your-installation)
Puoi vedere i tuoi codespace all'indirizzo [github.com/codespaces](https://github.com/codespaces). Il codespace si spegnerà autonomamente dopo alcune ore di inattività, ma per assicurarti di non utilizzare ore aggiuntive rispetto alle 120 ore gratuite, ricordati di andare su [github.com/codespaces](https://github.com/codespaces) > tre punti > "Stop codespace" dopo il workshop.
#### Risoluzione dei problemi di installazione
Se si verificano errori come:
* `Failed to run query: Could not resolve library path for [..]`
* `Could not resolve module [..]`
* `Could not resolve type [..]`
È molto probabile che tu abbia dimenticato di clonare i sottomoduli git (in particolare il repository ql). Per risolvere, esegui `git submodule init && git submodule update --recursive`.
### Selezionare un database CodeQL
1. Assicurati di avere il workspace `vscode-codeql-starter.code-workspace` aperto in VS Code.
2. Fai clic sull'icona "QL" nel pannello a sinistra per accedere alla vista CodeQL.
3. Fai clic su "Choose Database from Archive" e seleziona il file `test-app-db.zip` nella radice del repository.
Nota: A questo punto potrebbe apparire un errore in VSCode con un messaggio pop-up che chiede di installare il CLI di CodeQL. Accettare questa installazione dovrebbe risolvere il problema. Dopo il completamento dell'installazione del CLI, dovresti essere in grado di completare la selezione del database sopra descritta.
<img src="https://assets.kitploit.com/production/public/readmes/33098/65cc5790b8b49113623bc9a9b34a1be61575b05bea2428c46f83115e2271148b.png" alt="Screenshot: Messaggio di errore VSCode relativo a CodeQL">
<img src="https://assets.kitploit.com/production/public/readmes/33098/c3bf9c304d9c1f6199f591c9bcbf6e446ee4f5388ab209e30887326698129f84.png" alt="Screenshot: Installazione di CodeQL CLI in VSCode">
### Testare l'installazione
#### Prerequisiti
Assicurati che il database CodeQL precedentemente scelto sia selezionato nella vista CodeQL. (Fai clic su "Select" se non lo è)
Quando il database è selezionato dovrebbe apparire così (nota il segno di spunta):
<img src="https://assets.kitploit.com/production/public/readmes/33098/fee6e47c0d9b0754c7ac9e29e2f0b3a721093aa5ce882615b3839a99f4862506.png" alt="Screenshot: Database CodeQL selezionato">
#### Istruzioni
1. In VS Code: vai alla cartella del workspace: `codeql-custom-queries-python`
2. Crea un nuovo file `test.ql`
3. Aggiungi il seguente contenuto: `select "Hello World!"`
4. Salva il file, fai clic destro nell'area del file e scegli "CodeQL: Run Query on Selected Database"
5. Dovresti vedere una nuova scheda aprirsi con il risultato "Hello World!"
## :books: Risorse