Skip to main content

CodeQL クエリ セット

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

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

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

  • GitHub.com のパブリック リポジトリについては、「GitHub CodeQL の使用条件」を参照してください
  • GitHub Team が有効になっている GitHub Code Security 上の organization 所有のリポジトリ

クエリ スイートとは

クエリ スイートを使用すると、各クエリ ファイルへのパスを個別に指定しなくても、複数のクエリを 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 クエリ スイートの作成」をご覧ください。

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