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
- Abrir uma consulta de caminho no VS Code.
- 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.
- 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. - Expanda o resultado para ver as etapas individuais que os dados seguem.
- 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 obter mais informações, confira "Executar consultas do CodeQL em escala com análise de variantes de vários repositórios".
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.