关于路径查询
路径查询是一个 CodeQL 查询,其属性为 @kind path-problem
。您可以在标准 CodeQL 库中找到许多这样的查询。
您可以运行标准 CodeQL 路径查询来识别安全漏洞并手动查看结果。有关 CodeQL 如何跟踪数据流的更多信息,请参阅 CodeQL 文档中的“关于数据流分析”。
熟悉数据流分析和现有查询后,您可以在 CodeQL 中编写自己的路径查询。有关更多信息,请参阅“后续步骤”。
在本地在 VS Code 中运行路径查询
- 在 VS Code 中打开路径查询。
- 右键单击包含打开查询的窗口,然后选择**CodeQL:在选定数据库上运行查询**。或者,您也可以从 VS Code 命令面板中运行此操作。
- 查询运行完成后,您可以在“结果”视图中看到结果(在下拉菜单中的
alerts
下)。每个查询结果都描述了信息在源和接收器之间的流动。 - 展开结果以查看数据遵循的各个步骤。
- 单击每个步骤以跳转到源代码中的相应位置并进一步调查问题。
后续步骤
准备好大规模运行路径查询后,您可以使用“变体分析仓库”视图对 GitHub.com 上最多 1,000 个仓库运行查询。有关更多信息,请参阅“使用多仓库变体分析大规模运行 CodeQL 查询”。
有关如何为自己的路径查询使用正确的格式和元数据的更多信息,请参阅 CodeQL 文档中的“创建路径查询”。CodeQL 文档还包含有关如何定义新的源和接收器以及如何扩展标准 CodeQL 库以适应您的分析的模板和示例的详细信息。