Skip to main content

使用路径查询探究数据流

可以在 Visual Studio Code 中运行 CodeQL 查询,以帮助你通过某个程序跟踪数据流,并突出显示存在潜在安全漏洞的区域。

关于路径查询

路径查询是具有属性 @kind path-problem 的 CodeQL 查询。 可以在标准 CodeQL 库中找到许多类似的查询。

可以运行标准 CodeQL 路径查询来识别安全漏洞并手动查看结果。 有关 CodeQL 如何跟踪数据流的详细信息,请参阅 CodeQL 文档中的“关于数据流分析”。

熟悉数据流分析和现有查询后,可以在 CodeQL 中编写自己的路径查询。 有关详细信息,请参阅“后续步骤”。

在本地运行 VS Code 中的路径查询

  1. 在 VS Code 中打开路径查询。
  2. 在打开了查询的窗口中右键单击,然后选择 CodeQL:在所选数据库上运行查询。 或者,也可以从 VS Code Command Palette 运行此查询。
  3. 查询运行完毕后,可以在“结果”视图(下拉菜单中 alerts 的下方)中看到结果。 每个查询结果描述源和接收器之间的信息流。
  4. 展开结果以查看数据流动的各个步骤。
  5. 单击每个步骤以在源代码中跳转到该步骤,并进一步调查问题。

后续步骤

有关如何为自己的路径查询使用正确的格式和元数据的信息,请参阅 CodeQL 文档中的“创建路径查询”。 CodeQL 文档还包含有关如何定义新源和接收器的详细信息,以及有关如何扩展标准 CodeQL 库以满足分析需求的模板和示例。