Skip to main content

Enterprise Server 3.15 está disponível no momento como versão release candidate.

Explorar o fluxo de dados com consultas de caminho

Você pode executar consultas do CodeQL no Visual Studio Code para ajudar a acompanhar o fluxo de dados por meio de um programa, destacando áreas que são potenciais vulnerabilidades de segurança.

Sobre as consultas de caminho

Uma consulta de caminho é uma consulta do CodeQL com a propriedade @kind path-problem. Você pode encontrar várias delas nas bibliotecas padrão do CodeQL.

Você pode executar as consultas de caminho padrão do CodeQL para identificar vulnerabilidades de segurança e examinar manualmente os resultados. Para obter mais informações sobre como o CodeQL acompanha o fluxo de dados, confira "About data flow analysis" na documentação do CodeQL.

Depois de se familiarizar com a análise de fluxo de dados e as consultas existentes, você poderá escrever suas próprias consultas de caminho no CodeQL. Para obter mais informações, confira as "Próximas etapas".

Executar consultas de caminho no VS Code localmente

  1. Abrir uma consulta de caminho no VS Code.
  2. Clique com o botão direito do mouse na janela com a consulta aberta e selecione CodeQL: Run Query on Selected Database. Como alternativa, você também pode executar isso no VS Code Command Palette.
  3. Quando a consulta terminar de ser executada, você poderá ver os resultados no modo de exibição "Resultados" (em alerts no menu suspenso). Cada consulta de caminho descreve o fluxo de informações entre uma origem e um coletor.
  4. Expanda o resultado para ver as etapas individuais que os dados seguem.
  5. Clique em cada etapa para ir até ela no código-fonte e investigar o problema mais a fundo.

Próximas etapas

Para obter informações sobre como usar o formato e os metadados corretos para suas próprias consultas de caminho, confira "Creating path queries" na documentação do CodeQL. A documentação do CodeQL também contém informações detalhadas sobre como definir novas origens e coletores, bem como modelos e exemplos de como estender as bibliotecas padrão do CodeQL para se adequar à sua análise.