既定のセットアップ構成の編集について
既定のセットアップでコードの初回分析を実行した後、コードのセキュリティ ニーズをより適切に満たすために、構成の変更が必要になる場合があります。 既定のセットアップの既存の構成では、次の内容を編集できます。
- デフォルトのセットアップが分析する言語。
- クエリ スイートは分析中に実行されます。 使用可能なクエリ スイートの詳細については、「CodeQL クエリ スイート」を参照してください。
- 分析に使用する脅威モデル (パブリック プレビュー)。 脅威モデルを選択すると、汚染されたデータのどのソースがアプリケーションのリスクとして扱われるかが決まります。 パブリック プレビュー 期間中、脅威モデルは Java/Kotlin および C# 解析でのみサポートされます。 脅威モデルの詳細については、「既定のセットアップで汚染されたデータのローカル ソースを含める」を参照してください。
コードベースが、CodeQL に含まれている標準ライブラリで認識されないライブラリまたはフレームワークに依存している場合は、CodeQL モデル パックを使用して、デフォルトのセットアップで CodeQL カバレッジを拡張することもできます。 詳細については、「既定のセットアップでの CodeQL モデル パックを使用した CodeQL カバレッジの拡張」を参照してください。
code scanning 構成のその他の要素を変更する必要がある場合は、高度なセットアップの構成を検討してください。 詳しくは、「コード スキャンの高度なセットアップの構成」をご覧ください。
既定のセットアップの既存の構成をカスタマイズする
-
GitHub で、リポジトリのメイン ページに移動します。
-
リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
-
サイドバーの [Security] セクションで、[ Code security] をクリックします。
-
[Code scanning] セクションの [CodeQL 分析] 列で、[] を選択した後、 [CodeQL 構成を表示する] をクリックします。
-
[CodeQL 既定の構成] ウィンドウで、 [編集] をクリックします。
-
必要に応じて、[言語] セクションで、分析用の言語を選択または選択解除します。
-
必要に応じて、[スキャン設定] セクションの [クエリ スイート] 行で、コードに対して実行する別のクエリ スイートを選択します。
-
ラベル付きランナーを使う必要がある場合は、[CodeQL default configuration] モーダル ダイアログの [Runner type] セクションで、[Standard GitHub runner] を選んでドロップダウン メニューを開き、[Labeled runner] を選びます。 次に、[Runner label] の隣に、既存の自己ホストランナーまたは GitHub でホストされるランナーのラベルを入力します。 詳しくは、「コード スキャンの既定セットアップの構成」をご覧ください。
-
(パブリック プレビュー) 必要に応じて、[スキャン設定] セクションの [脅威モデル] 行で、[リモートソースとローカル ソース] を選択します。
-
構成を更新し、新しい構成でコードの初期分析を実行するために、[変更の保存] をクリックします。 今後のすべての分析では、新しい構成が使用されます。
pull request チェック エラーの原因となるアラートの重大度を定義する
ルールセットを使用すると、次のいずれかの条件が満たされたときに pull request がマージされないようにできます。
-
必要なツールで、ルール セットで定義している重大度の code scanning アラートが見つかりました。
-
必要な code scanning ツールはまだ分析中です。
-
必要な code scanning ツールはリポジトリ用に構成されていません。
詳しくは、「コード スキャンのマージ保護を設定します」をご覧ください。 ルールセットの一般的な情報については、「ルールセットについて」を参照してください。
デフォルトのセットアップに汚染されたデータのローカル ソースを含む
Note
脅威モデルは現在 パブリック プレビュー 段階であり、変更される可能性があります。 パブリック プレビュー 期間中、脅威モデルは Java/Kotlin および C# 解析でのみサポートされます。
コードベースでリモート ネットワーク リクエストのみが汚染されたデータの潜在的なソースと見なされる場合は、デフォルトの脅威モデルを使用することをお勧めします。 コードベースで、ネットワーク リクエスト以外のソースに汚染されたデータが含まれている可能性があると見なされる場合は、脅威モデルを使用して、これらの追加のソースを CodeQL 解析に追加できます。 パブリック プレビュー 期間中は、コードベースが汚染されたデータの追加ソースと見なすローカル ソース (コマンド ライン引数、環境変数、ファイル システム、データベースなど) を追加できます。
デフォルトのセットアップ構成で使用される脅威モデルを編集できます。 詳細については、「既定のセットアップの既存構成をカスタマイズする」を参照してください。
デフォルトのセットアップで CodeQL モデル パックを使用して CodeQL カバレッジを拡張する
Note
CodeQL モデル パックと CodeQL モデル エディターは現在 パブリック プレビュー であり、変更される可能性があります。 モデル パックは C#、Java/Kotlin、Python、および Ruby 分析でサポートされます。
CodeQL に含まれている標準ライブラリで認識されないフレームワークとライブラリを使用する場合は、依存関係をモデル化し、code scanning 分析を拡張できます。 詳細については、CodeQL 用のドキュメント内のサポートされている言語とフレームワークを参照してください。
既定のセットアップでは、CodeQL モデル パックで追加の依存関係のモデルを定義する必要があります。 既定のセットアップのカバレッジを拡張するには、個々のリポジトリ用に CodeQL モデル パックを使用することも、組織内のすべてのリポジトリに対して大規模に行うこともできます。
CodeQL モデル パックと、独自のものを作成する方法の詳細については、「CodeQL モデル エディターの使用」を参照してください。
リポジトリのカバレッジの拡張
- リポジトリの
.github/codeql/extensions
ディレクトリに、分析に含めるライブラリやフレームワーク用の追加モデルを含むcodeql-pack.yml
ファイルおよび.yml
ファイルが含まれた、モデル パック ディレクトリをコピーします。 - モデル パックは自動的に検出され、code scanning 分析で使用されます。
- 後で高度なセットアップを使用するように構成を変更した場合、
.github/codeql/extensions
ディレクトリ内のすべてのモデル パックは引き続き認識され、使用されます。
組織内のすべてのリポジトリのカバレッジを拡張する
Note
組織内のすべてのリポジトリに対して CodeQL モデル パックでカバレッジを拡張する場合、指定するモデル パックは、GitHub Enterprise Server インスタンス (https://containers.HOSTNAME
) に関連付けられた