Skip to main content

CodeQL クエリ セット

CodeQL CodeQLセットアップで使用するさまざまな組み込みのcode scanningクエリ スイートから選択できます。

この機能を使用できるユーザーについて

CodeQL は、次の種類のリポジトリで使用できます:

クエリ スイートとは

クエリ スイートを使用すると、各クエリ ファイルへのパスを個別に指定しなくても、複数のクエリを CodeQL に渡すことができます。 ファイル名、メタデータ プロパティ、ディスク上の場所、または CodeQL パック内の場所に基づいてクエリを選択する方法が提供されます。

CodeQL分析で頻繁に使用するクエリには、クエリ スイートを使用する必要があります。 GitHubで使用できる組み込みのクエリ スイートを使用することも、独自のクエリ スイートを作成することもできます。

組み込みの CodeQL クエリ スイート

組み込みの CodeQL クエリ スイート ( defaultsecurity-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 クエリ スイートの作成」をご覧ください。

詳細については、次を参照してください。