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