既定のセットアップで code scanning の使用を開始することをお勧めします。 既定のセットアップを最初に構成したら、 code scanning を評価してそれがどのように機能しているかを確認し、ニーズに合わせてカスタマイズできます。 詳細については、「コード スキャンのセットアップの種類について」を参照してください。
前提条件
次の場合、リポジトリは code scanning の既定のセットアップの対象となります。
- GitHub Actions が有効になっています。
- 一般公開されているか、GitHub Code Security が有効になっている。
リポジトリの既定のセットアップを構成する
メモ
リポジトリ内のすべてのCodeQLサポートされている言語に対して分析が失敗した場合でも、既定のセットアップは有効になりますが、別のGitHub Actionsサポートされている言語がリポジトリに追加されるか、既定のセットアップが手動で再構成され、CodeQLサポートされている言語の分析が成功するまで、スキャンは実行されず、CodeQL分も使用されません。
-
GitHub で、リポジトリのメイン ページに移動します。
メモ
フォークで既定のセットアップを構成する場合は、最初に GitHub Actionsを有効にする必要があります。 GitHub Actionsを有効にするには、リポジトリ名の下にある [アクション] をクリックし、[ワークフローを理解する] をクリックして有効にします。 これにより、フォーク上のすべての既存のワークフローが有効になることに注意してください。
-
リポジトリ名の下にある [Settings] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
![タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。](/assets/cb-28260/images/help/repository/repo-actions-settings.png)
-
サイドバーの [Security] セクションで、[ Advanced Security] をクリックします。
-
[Code Security] の下の [CodeQL analysis] の右側で、[Set up ] を選んでから、[Default] をクリックします。
![[Advanced Security] 設定の [Code scanning] セクションのスクリーンショット。 [既定のセットアップ] ボタンがオレンジ色のアウトラインで強調されています。](/assets/cb-67308/images/help/security/default-code-scanning-setup-ghas.png)
その後、既定のセットアップで自動的に作成されたCodeQL構成をまとめた "既定の構成code scanning" ダイアログが表示されます。
-
必要に応じて、code scanningセットアップをカスタマイズするには、[編集] クリックします。
- 既定の設定で実行される分析の言語を追加または削除するには、[言語] セクションでその言語を選択または選択解除します。
- 使用する CodeQL クエリ スイートを指定するには、[クエリ スイート] セクションで任意のクエリ スイートを選択します。
-
リポジトリの既定のセットアップの設定を確認し、[CodeQLを有効にする] をクリックします。 これで、自動的に生成された新しい構成をテストするワークフローがトリガーされます。
メモ
詳細設定から既定のセットアップに切り替える場合は、既定のセットアップが既存の code scanning 構成をオーバーライドすることを通知する警告が表示されます。 この警告は、既定のセットアップで既存のワークフロー ファイルが無効になり、 CodeQL 分析 API のアップロードがブロックされることを意味します。
-
リポジトリ内のプロジェクトがプライベート パッケージ レジストリの依存関係に依存している場合は、 code scanning アクセス権を付与できます。 これにより、分析の結果と品質を向上させることができます。 「セキュリティ機能にプライベート レジストリへのアクセスを許可する」を参照してください。
-
必要に応じて、既定のセットアップに影響するその他の構成オプションを調整します。 「code scanning のリポジトリのプロパティ」を参照してください。
-
必要に応じて、有効化後に既定のセットアップ構成を表示するには、を選択し、構成CodeQL表示] をクリックします。
メモ
既定のセットアップが有効となっているリポジトリで6か月間プッシュやプルリクエストがなかった場合、週次スケジュールが無効になりますので、 GitHub Actions 分を節約できます。
セルフホステッドまたはより大きなランナー (larger runner)での既定のセットアップの実行
セルフホステッド ランナーまたは GitHub-ホステッド ランナーで、すべてのCodeQL対応言語に対してデフォルト設定を使用できます。
メモ
Code scanning では、既定のセットアップが有効になっている場合に、割り当てられたランナーが表示されます。 既にデフォルトのセットアップを実行しているリポジトリにランナーが割り当てられている場合、ランナーの使用を開始するには、既定のセットアップを無効にして再度有効にする必要があります。 ランナーを追加してその使用を開始したい場合は、構成を手動で変更でき、そうすれば既定のセットアップを無効にして再度有効にする必要はありません。
セルフホステッド ランナーへのラベルの割り当て
既定のセットアップにセルフホステッドランナーを割り当てるには、既定のcode-scanningラベルを使用するか、または必要に応じてカスタムラベルを付けて、個々のリポジトリで異なるランナーを利用できるようにします。 セルフホステッド ランナーにラベルを割り当てる方法については、「 セルフホストランナーとのラベルの利用」を参照してください。
セルフホステッド ランナーにカスタム ラベルを割り当てた後、リポジトリでこれらのランナーをデフォルトセットアップとして使用できます。
security configurationsを使用して、code scanningのセルフホステッド ランナーにラベルを割り当てることもできます。 「[AUTOTITLE](/code-security/securing-your-organization/meeting-your-specific-security-needs-with-custom-security-configurations/creating-a-custom-security-configuration#creating-a-custom-security-configuration)」を参照してください。
割り当てる より大きなランナー (larger runner)
より大きなランナーを割り当てるには、ランナーに`code-scanning`名前を付けます。 これにより、 `code-scanning` ラベルが より大きなランナーに自動的に追加されます。 組織は、より大きなランナー ラベルを持つ`code-scanning`を 1 つだけ持つだけで、そのランナーは、ランナーのグループにアクセスできる組織内のリポジトリからのすべてのcode scanningジョブを処理します。 「[AUTOTITLE](/code-security/code-scanning/managing-your-code-scanning-configuration/configuring-larger-runners-for-default-setup#provisioning-organization-level-larger-runners-for-default-setup)」を参照してください。
ビルドサポートの確認
既定のセットアップでは、noneにC/C++、 C#、 Java および Rust ビルド モードが使用され、他のコンパイル済み言語にはautobuild ビルド モードが使用されます。 C/C++、C#、および Swift 分析に必要なコマンドをすべて実行できるようにセルフホスト ランナーを構成する必要があります。 JavaScript/TypeScript、Go、Ruby、Python、Kotlin コードの分析では、現時点では特別な構成は必要ありません。
次のステップ
構成が少なくとも 1 回正常に実行されたら、 code scanning アラートの調査と解決を開始できます。 code scanningアラートの詳細については、「Code scanningアラートについて」および「AUTOTITLE」を参照してください。
code scanningの既定のセットアップを構成したら、その動作の評価と、それをカスタマイズするために実行できる次の手順を確認できます。 詳細については、「[AUTOTITLE](/code-security/code-scanning/enabling-code-scanning/evaluating-default-setup-for-code-scanning)」を参照してください。
各スキャンのタイムスタンプやスキャンされたファイルの割合など、 code scanning 構成に関する詳細情報は、ツールの状態ページで確認できます。 詳細については、「コード スキャンにツールの状態ページを使用する」を参照してください。
既定のセットアップを構成すると、エラーが発生する可能性があります。 特定のエラーのトラブルシューティングについては、「コード スキャン分析エラーのトラブルシューティング」を参照してください。