Skip to main content

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 saber mais 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 saber mais, 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

Quando tudo estiver pronto para executar uma consulta de caminho em escala, você poderá usar o modo de exibição "Repositórios de Análise de Variantes" para executar a consulta em até 1.000 repositórios em GitHub.com. Para saber mais, confira Executar consultas do CodeQL em escala com análise de variantes de vários repositórios.

Para saber sobre como usar o formato e os metadados corretos para suas 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.