
Сделайте первые шаги в CodeQL для Python, написав запрос для поиска CVE-2024-32022
Предварительные требования • Ресурсы • Воркшоп
Вы можете выбрать один из двух вариантов для выполнения упражнений воркшопа:
Используйте локальную установку CodeQL для работы над упражнениями воркшопа.
git, установленные на вашей локальной машине.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. В VS Code: Файл -> **Открыть рабочую область из файла…** `vscode-codeql-starter.code-workspace`
4. Продолжите с [Выбор базы данных CodeQL](#select-codeql-database)
5. Затем [Проверьте вашу установку](#test-your-installation)
### Вариант B: GitHub Codespace
Используйте удаленный GitHub Codespace для выполнения упражнений воркшопа.
#### Предварительные требования
* Учетная запись GitHub ([зарегистрироваться](https://github.com/) бесплатно)
* Браузер (можно выполнить весь воркшоп в браузере — это самый быстрый способ установки) или [Visual Studio Code](https://code.visualstudio.com/download) (VS Code) с установленным расширением [GitHub Codespaces](https://marketplace.visualstudio.com/items?itemName=GitHub.codespaces) на вашем локальном компьютере.
Примечание. Первые 120 часов на ядро использования Codespace бесплатны в месяц; мы используем codespace с 4 ядрами для этого воркшопа, так как 4 ядра — это текущий максимум для бесплатных учетных записей. (Если у вас есть Pro-аккаунт, рекомендуем переключиться на машину с 8 ядрами.)
#### Инструкции
1. Войдите в свою учетную запись [GitHub](https://github.com/login)
2. Перейдите в репозиторий https://github.com/sylwia-budzynska/codeql-workshop
3. Нажмите «Code» -> «Codespaces»
4. Нажмите на знак плюса (+), чтобы создать новый codespace.
<img src="https://assets.kitploit.com/production/public/readmes/33098/c86e537f9e7891fb6bdb5da727cae5b6ad0b2c9ac94f67854d48296f2dad89cb.png" width="439" alt="Скриншот: Создание Codespace, нажмите плюс">
VS Code запустится в вашем браузере, и будет построен удаленный Codespace. Это может занять несколько минут.
Если вам предложат открыть рабочую область `vscode-codeql-starter.code-workspace`, нажмите «Open Workspace».
5. Если вы хотите использовать VS Code локально, нажмите кнопку с тремя линиями в левом верхнем углу и выберите «Open VS Code Desktop». Эта опция может появиться не сразу, подождите до нескольких минут.
<img src="https://assets.kitploit.com/production/public/readmes/33098/f2c8c2fe6da80142344b17c208da31a23c3fa68a3917a124f0e2f7871b6a20f7.png" width="300" alt="Скриншот: Нажмите кнопку с тремя линиями и выберите Open in VS Code Desktop">
6. Продолжите с [Выбор базы данных CodeQL](#select-codeql-database)
7. Затем [Проверьте вашу установку](#test-your-installation)
Вы можете просматривать ваши codespace на странице [github.com/codespaces](https://github.com/codespaces). Codespace автоматически отключится через несколько часов бездействия, но чтобы не расходовать дополнительные часы из 120 бесплатных, не забудьте после воркшопа перейти в [github.com/codespaces](https://github.com/codespaces) > три точки > «Stop codespace».
#### Устранение неполадок при установке
Если вы видите ошибки, такие как:
* `Failed to run query: Could not resolve library path for [..]`
* `Could not resolve module [..]`
* `Could not resolve type [..]`
Скорее всего, вы забыли клонировать git-подмодули (а именно репозиторий ql). Чтобы исправить это, выполните `git submodule init && git submodule update --recursive`.
### Выбор базы данных CodeQL
1. Убедитесь, что в VS Code открыта рабочая область `vscode-codeql-starter.code-workspace`.
2. Щелкните значок «QL» на левой панели вкладок, чтобы перейти к представлению CodeQL.
3. Щелкните «Choose Database from Archive» и выберите файл `test-app-db.zip` в корне репозитория.
Примечание. На этом этапе в VSCode может появиться всплывающее сообщение с предложением установить CodeQL CLI. Согласитесь на установку — это должно решить проблему. После завершения установки CLI вы сможете завершить выбор базы данных.
<img src="https://assets.kitploit.com/production/public/readmes/33098/65cc5790b8b49113623bc9a9b34a1be61575b05bea2428c46f83115e2271148b.png" alt="Скриншот: Сообщение об ошибке VSCode о CodeQL">
<img src="https://assets.kitploit.com/production/public/readmes/33098/c3bf9c304d9c1f6199f591c9bcbf6e446ee4f5388ab209e30887326698129f84.png" alt="Скриншот: VSCode устанавливает CodeQL CLI">
### Проверка установки
#### Предварительные требования
Убедитесь, что в представлении CodeQL выбрана ранее выбранная база данных CodeQL. (Нажмите «Select», если это не так.)
Когда база данных выбрана, это должно выглядеть так (обратите внимание на галочку):
<img src="https://assets.kitploit.com/production/public/readmes/33098/fee6e47c0d9b0754c7ac9e29e2f0b3a721093aa5ce882615b3839a99f4862506.png" alt="Скриншот: База данных CodeQL выбрана">
#### Инструкции
1. В VS Code: перейдите в папку рабочей области: `codeql-custom-queries-python`
2. Создайте новый файл `test.ql`
3. Добавьте следующее содержимое: `select "Hello World!"`
4. Сохраните файл, щелкните правой кнопкой мыши в области файла и выберите «CodeQL: Run Query on Selected Database»
5. Должна открыться новая вкладка с результатом «Hello World!»
## :books: Ресурсы