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