
Dê os primeiros passos no CodeQL para Python escrevendo uma consulta para encontrar o CVE-2024-32022
Pré-requisitos • Recursos • Workshop
Você pode escolher entre duas opções para executar os exercícios do workshop:
Use uma instalação local do CodeQL para trabalhar nos exercícios do workshop.
git instalados na sua 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. No VS Code: Arquivo -> **Abrir workspace a partir de arquivo...** `vscode-codeql-starter.code-workspace`
4. Continue com [Selecionando um banco de dados do CodeQL](#select-codeql-database)
5. Em seguida, [Teste sua instalação](#test-your-installation)
### Opção B: GitHub Codespace
Use um Codespace remoto do GitHub para trabalhar nos exercícios do workshop.
#### Pré-requisitos
* Conta GitHub ([inscreva-se](https://github.com/) gratuitamente)
* Navegador (você pode fazer todo o workshop em um navegador — é a configuração mais rápida) ou [Visual Studio Code](https://code.visualstudio.com/download) (VS Code) com a extensão [GitHub Codespaces](https://marketplace.visualstudio.com/items?itemName=GitHub.codespaces) instalada em sua máquina local.
Nota: As primeiras 120 horas por núcleo de uso do Codespace são gratuitas por mês; usamos um codespace com 4 núcleos para este workshop, pois 4 núcleos é o máximo atual para contas gratuitas. (Se você tiver uma conta Pro, recomendamos mudar para uma máquina de 8 núcleos.)
#### Instruções
1. Faça login na sua conta do [GitHub](https://github.com/login)
2. Vá para o repositório https://github.com/sylwia-budzynska/codeql-workshop
3. Clique em Code -> Codespaces
4. Clique no sinal de mais (+) para criar um novo codespace.
<img src="https://assets.kitploit.com/production/public/readmes/33098/c86e537f9e7891fb6bdb5da727cae5b6ad0b2c9ac94f67854d48296f2dad89cb.png" width="439" alt="Captura de tela: Criar Codespace, clique em +">
O VS Code será iniciado no seu navegador e um Codespace remoto será criado. Isso pode levar alguns minutos.
Se for solicitado a abrir o workspace `vscode-codeql-starter.code-workspace`, clique em "Abrir Workspace".
5. Se você quiser usar o VS Code localmente, pressione o botão de três linhas no canto superior esquerdo e selecione "Abrir no VS Code Desktop". A opção pode levar alguns minutos para aparecer.
<img src="https://assets.kitploit.com/production/public/readmes/33098/f2c8c2fe6da80142344b17c208da31a23c3fa68a3917a124f0e2f7871b6a20f7.png" width="300" alt="Captura de tela: Pressione o botão de três linhas e Abrir no VS Code Desktop">
6. Continue com [Selecionando um banco de dados do CodeQL](#select-codeql-database)
7. Em seguida, [Teste sua instalação](#test-your-installation)
Você pode ver seus codespaces em [github.com/codespaces](https://github.com/codespaces). O codespace será desligado sozinho após algumas horas sem uso, mas para garantir que você não esteja usando horas adicionais das 120h gratuitas, lembre-se de ir para [github.com/codespaces](https://github.com/codespaces) > três pontos > "Parar codespace" após o workshop.
#### Solução de problemas da instalação
Caso você veja erros como:
* `Failed to run query: Could not resolve library path for [..]`
* `Could not resolve module [..]`
* `Could not resolve type [..]`
É muito provável que você tenha esquecido de clonar os submódulos do git (a saber, o repositório ql). Para corrigir isso, execute `git submodule init && git submodule update --recursive`.
### Selecionar banco de dados do CodeQL
1. Certifique-se de ter o workspace `vscode-codeql-starter.code-workspace` aberto no VS Code.
2. Clique no ícone "QL" no painel de abas à esquerda para ir para a visualização do CodeQL.
3. Clique em "Escolher banco de dados do arquivo" e selecione o arquivo `test-app-db.zip` na raiz do repositório.
Nota: Neste ponto, você pode encontrar um erro no VSCode com uma mensagem pop-up pedindo para instalar o CodeQL CLI. Aceitar essa instalação deve corrigir o problema. Após a instalação do CLI terminar, você deve conseguir concluir a seleção de banco de dados acima.
<img src="https://assets.kitploit.com/production/public/readmes/33098/65cc5790b8b49113623bc9a9b34a1be61575b05bea2428c46f83115e2271148b.png" alt="Captura de tela: mensagem de erro do VSCode sobre CodeQL">
<img src="https://assets.kitploit.com/production/public/readmes/33098/c3bf9c304d9c1f6199f591c9bcbf6e446ee4f5388ab209e30887326698129f84.png" alt="Captura de tela: VSCode instalando o CodeQL CLI">
### Teste sua instalação
#### Pré-requisitos
Certifique-se de que o banco de dados do CodeQL escolhido anteriormente esteja selecionado na visualização do CodeQL. (Clique em "Selecionar" se não estiver)
Quando o banco de dados estiver selecionado, deve ficar assim (observe a marca de seleção):
<img src="https://assets.kitploit.com/production/public/readmes/33098/fee6e47c0d9b0754c7ac9e29e2f0b3a721093aa5ce882615b3839a99f4862506.png" alt="Captura de tela: Banco de dados do CodeQL selecionado">
#### Instruções
1. No VS Code: vá para a pasta do workspace: `codeql-custom-queries-python`
2. Crie um novo arquivo `test.ql`
3. adicione o seguinte conteúdo: `select "Hello World!"`
4. Salve o arquivo, clique com o botão direito na área do arquivo e escolha "CodeQL: Executar consulta no banco de dados selecionado"
5. Você deve ver uma nova guia abrir com o resultado "Hello World!"
## :books: Recursos