
Machen Sie erste Schritte in CodeQL für Python, indem Sie eine Abfrage schreiben, um CVE-2024-32022 zu finden
Voraussetzungen • Ressourcen • Workshop
Sie haben die Wahl zwischen zwei Optionen, um die Workshop-Übungen durchzuführen:
Verwenden Sie eine lokale CodeQL-Installation, um an den Workshop-Übungen zu arbeiten.
git installiert auf Ihrem lokalen Rechner.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: Datei -> **Arbeitsbereich aus Datei öffnen...** `vscode-codeql-starter.code-workspace`
4. Fahren Sie fort mit [Auswählen einer CodeQL-Datenbank](#select-codeql-database)
5. Dann [Testen Sie Ihre Installation](#test-your-installation)
### Option B: GitHub Codespace
Verwenden Sie einen remote GitHub Codespace, um an den Workshop-Übungen zu arbeiten.
#### Voraussetzungen
* GitHub-Konto ([kostenlos anmelden](https://github.com/))
* Browser (Sie können den gesamten Workshop in einem Browser durchführen – dies ist der schnellste Setup) oder [Visual Studio Code](https://code.visualstudio.com/download) (VS Code) mit der [GitHub Codespaces](https://marketplace.visualstudio.com/items?itemName=GitHub.codespaces)-Erweiterung, die auf Ihrem lokalen Rechner installiert ist.
Hinweis: Die ersten 120 Stunden pro Kern der Codespace-Nutzung sind pro Monat kostenlos. Wir verwenden für diesen Workshop einen Codespace mit 4 Kernen, da 4 Kerne das derzeitige Maximum für kostenlose Konten sind. (Wenn Sie ein Pro-Konto haben, empfehlen wir, auf eine 8-Kern-Maschine umzusteigen.)
#### Anleitung
1. Melden Sie sich bei Ihrem [GitHub](https://github.com/login)-Konto an
2. Gehen Sie zum Repository https://github.com/sylwia-budzynska/codeql-workshop
3. Klicken Sie auf Code -> Codespaces
4. Klicken Sie auf das Pluszeichen (+), um einen neuen Codespace zu erstellen.
<img src="https://assets.kitploit.com/production/public/readmes/33098/c86e537f9e7891fb6bdb5da727cae5b6ad0b2c9ac94f67854d48296f2dad89cb.png" width="439" alt="Screenshot: Codespace erstellen, klicken Sie auf Plus">
VS Code wird in Ihrem Browser gestartet und ein remote Codespace wird erstellt. Dies kann einige Minuten dauern.
Wenn Sie aufgefordert werden, den Arbeitsbereich `vscode-codeql-starter.code-workspace` zu öffnen, klicken Sie auf "Arbeitsbereich öffnen".
5. Wenn Sie VS Code lokal verwenden möchten, drücken Sie die Drei-Linien-Taste oben links und wählen Sie "Open VS Code Desktop". Die Option kann einige Minuten dauern, bis sie erscheint.
<img src="https://assets.kitploit.com/production/public/readmes/33098/f2c8c2fe6da80142344b17c208da31a23c3fa68a3917a124f0e2f7871b6a20f7.png" width="300" alt="Screenshot: Drücken Sie die Drei-Linien-Taste und VS Code Desktop öffnen">
6. Fahren Sie fort mit [Auswählen einer CodeQL-Datenbank](#select-codeql-database)
7. Dann [Testen Sie Ihre Installation](#test-your-installation)
Sie können Ihre Codespaces unter [github.com/codespaces](https://github.com/codespaces) einsehen. Der Codespace schaltet sich nach einigen Stunden der Nichtbenutzung von selbst aus. Um sicherzustellen, dass Sie keine zusätzlichen Stunden der 120 kostenlosen Stunden verbrauchen, denken Sie daran, nach dem Workshop zu [github.com/codespaces](https://github.com/codespaces) > drei Punkte > "Codespace stoppen" zu gehen.
#### Fehlerbehebung bei der Installation
Falls Fehler wie diese auftreten:
* `Failed to run query: Could not resolve library path for [..]`
* `Could not resolve module [..]`
* `Could not resolve type [..]`
Haben Sie sehr wahrscheinlich vergessen, die Git-Submodule (nämlich das ql-Repository) zu klonen. Führen Sie zur Behebung `git submodule init && git submodule update --recursive` aus.
### CodeQL-Datenbank auswählen
1. Stellen Sie sicher, dass der Arbeitsbereich `vscode-codeql-starter.code-workspace` in VS Code geöffnet ist.
2. Klicken Sie in der linken Tab-Leiste auf das "QL"-Symbol, um zur CodeQL-Ansicht zu gelangen.
3. Klicken Sie auf "Datenbank aus Archiv auswählen" und wählen Sie die Datei `test-app-db.zip` im Stammverzeichnis des Repositorys.
Hinweis: Möglicherweise tritt an dieser Stelle ein Fehler in VSCode mit einer Pop-up-Meldung auf, die Sie auffordert, die CodeQL CLI zu installieren. Wenn Sie dieser Installation zustimmen, sollte das Problem behoben werden. Nachdem die CLI-Installation abgeschlossen ist, sollten Sie die obige Datenbankauswahl abschließen können.
<img src="https://assets.kitploit.com/production/public/readmes/33098/65cc5790b8b49113623bc9a9b34a1be61575b05bea2428c46f83115e2271148b.png" alt="Screenshot: VSCode Fehlermeldung bzgl. CodeQL">
<img src="https://assets.kitploit.com/production/public/readmes/33098/c3bf9c304d9c1f6199f591c9bcbf6e446ee4f5388ab209e30887326698129f84.png" alt="Screenshot: VSCode installiert CodeQL CLI">
### Testen Sie Ihre Installation
#### Voraussetzungen
Stellen Sie sicher, dass die zuvor ausgewählte CodeQL-Datenbank in der CodeQL-Ansicht ausgewählt ist. (Klicken Sie auf "Auswählen", falls nicht)
Wenn die Datenbank ausgewählt ist, sollte dies wie folgt aussehen (beachten Sie das Häkchen):
<img src="https://assets.kitploit.com/production/public/readmes/33098/fee6e47c0d9b0754c7ac9e29e2f0b3a721093aa5ce882615b3839a99f4862506.png" alt="Screenshot: CodeQL-Datenbank ausgewählt">
#### Anleitung
1. Gehen Sie in VS Code zum Arbeitsbereichsordner: `codeql-custom-queries-python`
2. Erstellen Sie eine neue Datei `test.ql`
3. Fügen Sie den folgenden Inhalt hinzu: `select "Hello World!"`
4. Speichern Sie die Datei, klicken Sie mit der rechten Maustaste in den Dateibereich und wählen Sie "CodeQL: Abfrage auf ausgewählter Datenbank ausführen"
5. Es sollte ein neuer Tab mit dem Ergebnis "Hello World!" geöffnet werden.
## :books: Ressourcen