Skip to main content

コード スキャンの既定セットアップの構成

自動的に脆弱なコードを検出するように code scanning を簡単に設定できます。

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

リポジトリの所有者、組織の所有者、セキュリティ マネージャー、および 管理者 ロールを持つユーザー

Code scanning は、次のリポジトリの種類で使用できます。

  • GitHub.com 上のパブリックリポジトリ
  • GitHub Team、GitHub Enterprise Cloud、または GitHub Enterprise Server 上の組織所有リポジトリ。 GitHub Code Security が 有効になっています。

既定のセットアップで code scanning の使用を開始することをおすすめします。 既定のセットアップを最初に構成したら、code scanning を評価して、それがどのように機能しているかを確認し、ニーズに合わせてカスタマイズできます。 詳しくは、「コード スキャンのセットアップの種類について」をご覧ください。

前提条件

次の場合、リポジトリには code scanning の既定の設定が適用されます。

データ 再利用可能.code-scanning.require-actions-ghcs %}

リポジトリの既定のセットアップを構成する

メモ

リポジトリ内のすべての CodeQL 対応言語の分析が失敗した場合でも、既定のセットアップは有効のままですが、別の CodeQL 対応言語がリポジトリに追加されるか、既定のセットアップが手動で再構成されて、1 つの CodeQL 対応言語の分析が成功するまで、スキャンが実行されたり GitHub Actions の分数が実行されたりすることはありません。

  1. GitHub で、リポジトリのメイン ページに移動します。

    メモ

    フォークで既定のセットアップを構成する場合は、まず GitHub Actions を有効にする必要があります。 GitHub Actions を有効にするには、リポジトリ名の下にある [ Actions] をクリックしてから、[I understand my workflows, go ahead and enable them] をクリックします。 これにより、フォーク上のすべての既存のワークフローが有効になることに注意してください。

  2. リポジトリ名の下にある [Settings] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。
    1. サイドバーの [Security] セクションで、[ Advanced Security] をクリックします。

  3. [Code Security] の下の [CodeQL analysis] の右側で、[Set up ] を選んでから、[Default] をクリックします。

    [Advanced Security] 設定の [Code scanning] セクションのスクリーンショット。 [既定のセットアップ] ボタンがオレンジ色のアウトラインで強調されています。

    その後、既定のセットアップで自動的に作成された code scanning 構成が要約された [CodeQL 既定の構成] ダイアログが表示されます。

  4. 必要に応じて、code scanning セットアップをカスタマイズするには、[ 編集] をクリックします。

    • 既定の設定で実行される分析の言語を追加または削除するには、[言語] セクションでその言語を選択または選択解除します。
    • 使用する CodeQL クエリ スイートを指定するには、[クエリ スイート] セクションで任意のクエリ スイートを選択します。
  5. リポジトリの既定のセットアップでの設定を確認して、[CodeQL を有効にする] をクリックします。 これで、自動的に生成された新しい構成をテストするワークフローがトリガーされます。

    メモ

    詳細セットアップから既定のセットアップに切り替える場合は、既定のセットアップによって既存の code scanning 構成がオーバーライドされることを通知する警告が表示されます。 この警告では、既定のセットアップにより、既存のワークフロー ファイルが無効になり、CodeQL 分析 API のアップロードがブロックされることを意味します。

これらの手順に従ってください:

  1. リポジトリ内のプロジェクトがプライベート パッケージ レジストリの依存関係に依存している場合は、code scanning にアクセス権を付与できます。 これにより、分析の結果と品質を向上させることができます。 「セキュリティ機能にプライベート レジストリへのアクセスを許可する」を参照してください。

  2. 必要に応じて、有効化後に既定のセットアップ構成を表示するには、[] を選んでから、[ View CodeQL 設定] をクリックします。

メモ

6 か月間、既定のセットアップが有効になっているリポジトリでプッシュと pull request が発生しなかった場合は、GitHub Actions の分数を節約するために、週単位のスケジュールが無効になります。

既定のセットアップにランナーを割り当てる

メモ

既定のセットアップが有効になっていると、Code scanning は割り当てられたランナーを参照します。 既にデフォルトのセットアップを実行しているリポジトリにランナーが割り当てられている場合、ランナーの使用を開始するには、既定のセットアップを無効にして再度有効にする必要があります。 ランナーを追加してその使用を開始したい場合は、構成を手動で変更でき、そうすれば既定のセットアップを無効にして再度有効にする必要はありません。

セルフホステッド ランナーへのラベルの割り当て

既定のセットアップ用にセルフホステッド ランナーを割り当てるには、 を既定の code-scanning ラベルとして使用することも、必要に応じて、個々のリポジトリが異なるランナーを使用できるようにカスタム ラベルを指定することもできます。他の %} code-scanning ラベル。 セルフホステッド ランナーにラベルを割り当てる方法については、 AUTOTITLE を参照してください。

セルフホステッド ランナーにカスタム ラベルを割り当てると、リポジトリは code scanning の既定のセットアップにそれらのランナーを使用できます。

security configurations を使用して、code scanning 用のセルフホステッド ランナーにラベルを割り当てることもできます。 「カスタム セキュリティ構成を作成する」を参照してください。

ビルドサポートの確認

既定のセットアップでは、C# および Java には none ビルド モードが使用され、他のコンパイル型言語には autobuild ビルド モードが使用されます。 C/C++、C#、および Swift 分析に必要なコマンドをすべて実行できるようにセルフホスト ランナーを構成する必要があります。 JavaScript/TypeScript、Go、Ruby、Python、Kotlin コードの分析では、現時点では特別な構成は必要ありません。

次のステップ

構成が少なくとも 1 回正常に実行できたら、code scanning アラートの調査と解決を開始できます。 pull request での code scanning アラートについて詳しくは、「Code scanningアラートについて」および「リポジトリのコード スキャンのアラートの評価」をご覧ください。

code scanning の既定のセットアップを構成したら、その動作の評価およびカスタマイズに使用できる次の手順を確認できます。 詳しくは、「コード スキャンの既定のセットアップの評価」をご覧ください。

code scanning 構成に関する詳細情報 (各スキャンのタイムスタンプ、スキャンされたファイルの割合など) は、ツールの状態ページで確認できます。 詳しくは、「コード スキャンにツールの状態ページを使用する」をご覧ください。

既定のセットアップを構成すると、エラーが発生する可能性があります。 特定のエラーのトラブルシューティングについては、「コード スキャン分析エラーのトラブルシューティング」を参照してください。