CodeQL 查询的元数据¶
元数据告诉用户有关 CodeQL 查询的重要信息。必须在查询中包含正确的查询元数据,才能在源代码中查看查询结果。
关于查询元数据¶
作为分析的一部分运行的任何查询都包含许多属性,称为查询元数据。元数据作为 QLDoc 注释的内容,包含在每个查询文件的顶部。此元数据告诉 CodeQL VS Code 扩展 和 GitHub 中的代码扫描功能 如何处理查询并正确显示其结果。它还为其他用户提供有关查询结果含义的信息。有关查询元数据的更多信息,请参阅我们 GitHub 上的开源代码库 中的 查询元数据样式指南。
注意
确切的元数据要求取决于你将如何运行查询。有关更多信息,请参阅“关于 CodeQL 查询”中有关查询元数据的部分。
元数据属性¶
以下属性受所有查询文件支持
属性 | 值 | 描述 |
---|---|---|
@description |
<text> |
一个句子或简短段落,用于描述查询的目的以及为什么结果有用或重要。描述以纯文本形式编写,并使用单引号 (' ) 将代码元素括起来。 |
@id |
<text> |
由小写字母或数字组成的单词序列,用 / 或 - 分隔,用于识别和分类查询。每个查询必须具有唯一的 ID。为了确保这一点,使用固定的结构来定义每个 ID 可能会有所帮助。例如,标准 CodeQL 查询具有以下格式:<language>/<brief-description> 。 |
@kind |
problem path-problem |
标识查询是警报 (@kind problem ) 还是路径 (@kind path-problem )。有关这些查询类型的更多信息,请参阅“关于 CodeQL 查询”。 |
@name |
<text> |
定义查询标签的语句。名称以纯文本形式编写,并使用单引号 (' ) 将代码元素括起来。 |
@tags |
correctness maintainability readability security |
这些标签将查询分组到广泛的类别中,以便更轻松地搜索和识别它们。除了此处列出的常见标签之外,还有一些更具体的类别。有关更多信息,请参阅 查询元数据样式指南。 |
@precision |
low medium high very-high |
指示查询结果中真实阳性(与假阳性结果相比)的百分比。这与 @problem.severity 属性一起确定结果在 GitHub 上的显示方式。 |
@problem.severity |
error warning recommendation |
定义非安全查询生成的任何警报的严重性级别。这与 @precision 属性一起确定结果在 GitHub 上的显示方式。有关更多信息,请参阅 查询元数据样式指南。 |
@security-severity |
<score> |
为具有 @tags security 的查询定义严重性级别,介于 0.0 到 10.0 之间。有关更多信息,请参阅 GitHub 用户文档。 |