Skip to main content

关于适用于 VS Code 的 CodeQL

可以使用 CodeQL 扩展在 Visual Studio Code 内编写、运行和测试 CodeQL 查询。

关于适用于 Visual Studio Code 的 CodeQL

可以对从源代码生成的数据库运行 CodeQL 查询,以便查找代码库中的错误和安全漏洞。 有关 CodeQL code scanning 的详细信息,请参阅“关于使用 CodeQL 进行代码扫描”。

通过适用于 Visual Studio Code 的 CodeQL 扩展,可以执行以下操作:

  • 编写自定义 CodeQL 查询和支持库
  • 直接从大型开源 github/codeql 存储库查看和使用 CodeQL 安全查询。
  • 对一个或多个 CodeQL 数据库运行查询
  • 通过程序跟踪数据流,突出显示存在潜在安全漏洞的区域。
  • 查看、创建和编辑所有类型的查询或库的 CodeQL 包,你可以使用这些包,也可以发布包与他人共享。
  • 运行 CodeQL 查询的单元测试。
  • 使用专用编辑器来查看、创建和编辑 CodeQL 模型包,这些包用于扩展标准 CodeQL 分析。

适用于 Visual Studio Code 的 CodeQL 扩展还会将 CodeQL 边栏视图添加到 VS Code。 这包括本地 CodeQL 数据库的列表、当前会话中运行的查询概述以及用于大规模分析的变体分析视图。

IntelliSense

该扩展为在 VS Code 编辑器中打开的查询文件(扩展 .ql)和库文件(扩展 .qll)提供标准 IntelliSense 功能。 这些设置包括:

  • 语法突出显示
  • 右键单击选项(如转到定义
  • 自动完成建议
  • 悬停信息

有关 VS Code 中 Intellisense 的详细信息,请参阅 Visual Studio Code 文档中的 IntelliSense

还可以使用 VS Code 文档格式设置命令来根据 CodeQL 样式指南设置代码的格式。

VS Code Command Palette

可以从 VS Code Command Palette 对适用于 VS Code 的 CodeQL 扩展运行命令。 有关 VS Code Command Palette 的详细信息,请参阅 VS Code 文档中的“用户界面”。

数据和遥测

如果明确选择允许 GitHub 收集使用情况数据和指标,GitHub 将执行此操作,以帮助核心开发人员改进适用于 Visual Studio Code 的 CodeQL 扩展。 有关详细信息,请参阅“Visual Studio Code 的 CodeQL 中的遥测”。

关于 GitHub CodeQL 许可证

许可证通知: 如果没有 GitHub Enterprise 许可证,则通过安装此产品,即表示你同意 GitHub CodeQL 条款和条件

GitHubCodeQL 按用户授予许可。 根据许可证限制,可以使用 CodeQL 执行以下任务:

  • 执行学术研究。
  • 演示软件。
  • 测试根据 OSI 批准的许可证发布的 CodeQL 查询,确认这些查询的新版本可以继续找到正确的漏洞。

其中“OSI 批准的许可证”是指开放源代码计划 (OSI) 批准的开放源代码软件许可证。

如果使用的是开放源代码代码库(即根据 OSI 批准的许可证发布的代码库),则还可以使用 CodeQL 来完成以下任务:

  • 对开放源代码代码库执行分析。
  • 如果在 GitHub.com 上托管和维护开放源代码库,则为自动分析、持续集成或持续交付或在此期间生成 CodeQL 数据库。

CodeQL 不能用于自动分析、持续集成或持续交付,无论是用作正常软件工程流程还是其他,除了在本文中明确规定的情况下,除非你具有 GitHub Advanced Security 的许可证。

后续步骤

若要了解如何安装适用于 Visual Studio Code 的 CodeQL 扩展,请参阅“安装适用于 Visual Studio Code 的 CodeQL”。