关于路径查询
路径查询是具有属性 @kind path-problem
的 CodeQL 查询。 可以在标准 CodeQL 库中找到许多类似的查询。
可以运行标准 CodeQL 路径查询来识别安全漏洞并手动查看结果。 有关 CodeQL 如何跟踪数据流的详细信息,请参阅 CodeQL 文档中的“关于数据流分析”。
熟悉数据流分析和现有查询后,可以在 CodeQL 中编写自己的路径查询。 有关详细信息,请参阅“后续步骤”。
在本地运行 VS Code 中的路径查询
- 在 VS Code 中打开路径查询。
- 在打开了查询的窗口中右键单击,然后选择 CodeQL:在所选数据库上运行查询。 或者,也可以从 VS Code Command Palette 运行此查询。
- 查询运行完毕后,可以在“结果”视图(下拉菜单中
alerts
的下方)中看到结果。 每个查询结果描述源和接收器之间的信息流。 - 展开结果以查看数据流动的各个步骤。
- 单击每个步骤以在源代码中跳转到该步骤,并进一步调查问题。
后续步骤
准备好大规模运行路径查询时,可以使用“变体分析存储库”视图对 GitHub.com 上的最多 1000 个存储库运行查询。 有关详细信息,请参阅“通过多库变体分析大规模运行 CodeQL 查询”。
有关如何为自己的路径查询使用正确的格式和元数据的信息,请参阅 CodeQL 文档中的“创建路径查询”。 CodeQL 文档还包含有关如何定义新源和接收器的详细信息,以及有关如何扩展标准 CodeQL 库以满足分析需求的模板和示例。