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 の既存のセットアップを使用することを検討します。 詳しくは、「コード スキャンのセットアップの種類について」をご覧ください。

[前提条件]

これらの要件を満たしている場合、リポジトリは詳細設定の対象となります。

  • CodeQL でサポートされている言語を使用するか、サードパーティ製ツールを使用してコード スキャン結果を生成する予定がある。
  • GitHub Actions が有効になっています。
  • 一般公開されているか、GitHub Code Security が有効になっている。

CodeQL を使用して code scanning の詳細設定を構成する

ワークフロー ファイルを作成して編集することで、CodeQL をカスタマイズできます。 詳細設定を選択すると、標準的なワークフロー構文を使用してカスタマイズし、CodeQL アクションに対するオプションを指定する基本のワークフロー ファイルが生成されます。 「ワークフロー」と「コード スキャンのワークフロー構成オプション」を参照してください。

アクションを使用して code scanning を実行すると、分が使用されます。 詳細については、「GitHub Actions の課金」を参照してください。

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

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

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。

  3. サイドバーの [Security] セクションで、[ Advanced Security] をクリックします。

  4. [Code Security] まで下にスクロールし、[CodeQL 分析] 行で [設定] を選択し、[詳細] をクリックします。

    メモ

    既定の設定から詳細設定に切り替える場合は、[CodeQL analysis] の行で を選択し、 [詳細に切り替え] をクリックします。 表示されるポップアップ ウィンドウで、 [CodeQL を無効にする] をクリックします。

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

  5. code scanning がコードをスキャンする方法をカスタマイズするため、ワークフローを編集します。

    通常は、何も変更せずに CodeQL 分析ワークフローをコミットてきます。 ただし、サード パーティのワークフローの多くでは、追加の構成が必要になるので、コミットする前にワークフローのコメントを読んでください。

    詳細については、「コード スキャンのワークフロー構成オプション」および「コンパイル済み言語の CodeQL コード スキャン」を参照してください。

  6.        **[変更のコミット...]** をクリックし、コミット変更フォームを表示します。
    

    新しいファイルを作成するためのフォームのスクリーンショット。 ファイル名の右側には、"変更をコミット..." というラベルが付いた緑色のボタンが濃いオレンジで囲まれています。

  7. [コミット メッセージ] フィールドに、コミット メッセージを入力します。

  8. 既定のブランチに直接コミットするか、新しいブランチを作成して pull request を開始するかを選択します。

  9.        **[新しいファイルをコミット]** をクリックし、ワークフロー ファイルを既定のブランチにコミットするか、**[新しいファイルを提案]** をクリックし、ファイルを新しいブランチにコミットします。
    
  10. 新しいブランチを作成した場合、[pull request の作成] をクリックし、既定のブランチに変更をマージする pull request を投稿します。

推奨される CodeQL 分析ワークフローでは、code scanning は、既定のブランチまたは保護されたブランチに変更をプッシュするたび、あるいは既定のブランチに pull request を生成するたびに、コードを解析するよう構成されています。 その結果として、code scanning が開始されます。

コード スキャンの on:pull_requeston:push トリガーは、それぞれ異なる目的に役立ちます。 「コード スキャンのワークフロー構成オプション」と「ワークフローをトリガーする」を参照してください。

一括有効化について詳しくは、「CodeQL で大規模にコード スキャンの高度なセットアップを構成する」をご覧ください。

サードパーティ アクションを使用して code scanning を構成する

GitHub には、サードパーティ アクションのワークフロー テンプレートと、CodeQL アクションが含まれます。 ワークフロー テンプレートを使用する方が、一からワークフローを記述するよりもはるかに簡単です。

アクションを使用して code scanning を実行すると、分が使用されます。 詳細については、「GitHub Actions の課金」を参照してください。

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

  2. リポジトリ名の下にある [ Actions] をクリックします。

    "github/docs" リポジトリのタブのスクリーンショット。 [アクション] タブがオレンジ色の枠線で強調表示されています。

  3. リポジトリで既に 1 つ以上のワークフローが構成され、実行されている場合は、[新しいワークフロー] をクリックしてワークフローを表示します。 現在、リポジトリ用に設定されているワークフローがない場合は、次のステップに進みます。

    リポジトリの [アクション] タブのスクリーンショット。 [新しいワークフロー] ボタンが、濃いオレンジ色で囲まれます。

  4. [ワークフローの選択] または [GitHub Actions の作業開始] ビューで、[セキュリティ] カテゴリまで下にスクロールして、構成するワークフローの下にある [構成] をクリックします。 構成するセキュリティ ワークフローを見つけるには、 [すべて表示] をクリックすることが必要な場合があります。

    ワークフロー テンプレートの [セキュリティ] カテゴリのスクリーンショット。 [構成] ボタンと [すべて表示] リンクがオレンジ色のアウトラインで強調されています。

  5. ワークフローの指示に従い、ニーズに合わせてカスタマイズします。 ワークフローに関する一般的なヘルプについては、ワークフロー ページの右側のペインにある [ドキュメント] をクリックします。

    編集用に開かれたワークフロー テンプレートを示すスクリーンショット。 [ドキュメント] ボタンがオレンジ色のアウトラインで強調されています。

  6. 構成の定義が完了したら、新しいワークフローを既定のブランチに追加します。

    詳細については、「ワークフロー テンプレートの使用」および「コード スキャンのワークフロー構成オプション」を参照してください。

次のステップ

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

code scanning の実行が pull request でチェックとして動作する方法については、「Pull RequestでCode scanningアラートをトリアージする」を参照してください。

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

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