クエリ スイートとは
クエリ スイートを使用すると、各クエリ ファイルへのパスを個別に指定しなくても、複数のクエリを CodeQL に渡すことができます。 ファイル名、メタデータ プロパティ、ディスク上の場所、または CodeQL パック内の場所に基づいてクエリを選択する方法が提供されます。
CodeQL分析で頻繁に使用するクエリには、クエリ スイートを使用する必要があります。 GitHubで使用できる組み込みのクエリ スイートを使用することも、独自のクエリ スイートを作成することもできます。
組み込みの CodeQL クエリ スイート
組み込みの CodeQL クエリ スイート ( default と security-extended) は、 GitHubによって作成および管理されます。 これらのクエリ スイートはいずれも、サポートされているすべての言語に対して既定のセットアップ CodeQL使用できます。
組織の所有者とセキュリティ マネージャーは、組織全体の既定のセットアップで使用するクエリ スイートを推奨できます。 詳しくは、「大規模なコード スキャンの既定のセットアップを構成する」をご覧ください。
各言語の各クエリ スイートに含まれるクエリの完全な一覧については、 CodeQL 分析のクエリ を参照してください。
default クエリ スイート
defaultクエリ スイートは、CodeQLのcode scanningGitHubで既定で実行されるクエリのグループです。defaultクエリ スイート内のクエリは非常に正確であり、誤検知code scanning結果をほとんど返します。security-extendedクエリ スイートに対して、defaultスイートは、結果の信頼性が低いcode scanningを返します。- このクエリ スイートは、 code scanningの既定のセットアップで使用できます。
security-extended クエリ スイート
security-extendedクエリ スイートは、defaultクエリ スイート内のすべてのクエリと、精度と重大度がやや低い追加のクエリで構成されます。defaultクエリ スイートに対して、security-extendedスイートは、より多くの誤検知code scanning結果を返す場合があります。- このクエリ スイートは、 code scanningの既定のセットアップで使用でき、 GitHubの "拡張" クエリ スイートと呼ばれます。
カスタム クエリ スイート
カスタム クエリ スイートを使用するには、 CodeQLcode scanningの詳細設定を構成する必要があります。 詳しくは、「コード スキャンの詳細設定を構成する」をご覧ください。
クエリ スイートの定義は、拡張子が .qls の YAML ファイルに格納されます。 スイートの定義は一連の命令であり、各命令は、(通常は) 1 つのキーを持つ YAML マッピングです。 これらの命令は、クエリ スイートの定義に指定された順序で実行されます。 スイートの定義の命令がすべて実行されると、結果は、選択されたクエリのセットになります。 詳しくは、「CodeQL クエリ スイートの作成」をご覧ください。