Skip to main content

Configurar um espaço de trabalho do CodeQL

Quando você está trabalhando com CodeQL, você precisa de acesso às bibliotecas e consultas padrão.

Configurando um CodeQL espaço de trabalho

Há várias maneiras diferentes de dar à extensão acesso às consultas e bibliotecas padrão do repositório github/codeql:

  • Use o workspace inicial CodeQL, que contém uma série de diretórios nomeados no formato codeql-custom-queries-LANGUAGE. Eles estão prontos para você começar a desenvolver suas próprias consultas personalizadas para cada linguagem, usando as bibliotecas padrão. Há também alguns exemplos de consultas para você começar. Este e o método recomendado.

  • Atualize um espaço de trabalho existente para CodeQL. Isso é recomendado para usuários avançados.

  •         CodeQL CLI os usuários podem abrir o diretório que contém o arquivo extraído CodeQL CLI .
    

Observação

O CodeQL repositório é incluído como um submódulo no workspace inicial. Você deve usar git submodule update --remote regularmente para manter os submódulos atualizados e garantir que eles permaneçam compatíveis com versões mais recentes da VS Code extensão e do CodeQL CLI.

  1. Clonar o repositório vscode-codeql-starter para o seu computador. Certifique-se de incluir os submódulos usando o git clone --recursive ou usando git submodule update --init --remote após a clonagem.

  2. Em VS Code, clique em Arquivo e depois em Abrir Workspace do Arquivo... para abrir o vscode-codeql-starter.code-workspace arquivo do repositório do workspace a partir de seu checkout.

Opção 2: atualizar um espaço de trabalho existente para CodeQL (avançado)

  1. Em VS Code, selecione Arquivo, depois Adicionar Pasta ao Espaço de Trabalho..., e encontre sua cópia local do repositório CodeQL.

  2. Crie um novo diretório por linguagem de destino para armazenar consultas e bibliotecas personalizadas usando as opções Nova Pasta ou Adicionar Pasta ao Espaço de Trabalho....

  3. Crie um arquivo qlpack.yml em cada diretório de linguagem de destino (o branch main de github/codeql já tem esses arquivos). Isso informa o CodeQL CLI idioma de destino para esse diretório e quais são suas dependências. CodeQL procurará as dependências em todos os diretórios de workspace abertos ou no caminho de pesquisa do usuário.

    Por exemplo, para fazer um diretório personalizado CodeQL chamado my-custom-cpp-pack depender da CodeQL biblioteca padrão para C++, crie um qlpack.yml arquivo com o seguinte conteúdo:

    name: my-custom-cpp-pack
    version: 0.0.0
    libraryPathDependencies: codeql/cpp-all
    

    Para saber mais sobre por que você precisa adicionar um arquivo qlpack.yml, confira Como personalizar a análise com pacotes CodeQL.

Opção 3: Abrir o diretório que contém o arquivo extraído CodeQL CLI

Observação

Para essa opção, você precisa configurar o CodeQL CLI. Para obter mais informações, consulte Como configurar a CLI do CodeQL.

No VS Code, abra o diretório onde você extraiu o arquivo .zip do CodeQL CLI para criar um diretório CodeQL (por exemplo, codeql-home).