Skip to main content

リポジトリを保護するためのクイック スタート

コードへのアクセスを管理します。 脆弱なコードと依存関係を自動的に見つけて修正します。

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

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

概要

このガイドは、リポジトリでのセキュリティ機能の設定方法を紹介します。

セキュリティの要件はリポジトリに固有のものなので、リポジトリですべての機能を有効化する必要はないかもしれません。 詳しくは、「GitHub セキュリティ機能」をご覧ください。

一部の機能は、すべてのリポジトリに使用できます。 GitHub Secret Protection, GitHub Code Security, or GitHub Advanced Security を使う organization や Enterprise は、その他の機能を使用できます。 詳しくは、「GitHub Advanced Security について」をご覧ください。

リポジトリへのアクセスの管理

リポジトリを保護するための最初の手順は、誰がコードを表示および変更できるかを確立することです。 詳しくは、「リポジトリの設定と機能を管理する」をご覧ください。

リポジトリのメイン ページから、 [設定] をクリックし、[危険区域] まで下にスクロールします。

依存関係グラフの管理

Enterprise 所有者は、Enterprise の依存関係グラフと Dependabot alerts を構成できます。 詳細については、「企業の依存関係グラフの有効化」と「エンタープライズ向けの Dependabot の有効化」を参照してください。

詳しくは、「リポジトリの依存関係を調べる」をご覧ください。

Dependabot alertsの管理

GitHub によって脆弱性のある依存関係が依存関係グラフで特定されたときに、Dependabot alerts が生成されます。

さらに、Dependabot 自動トリアージ ルール を使用してアラートを大規模に管理できるため、アラートを自動的に閉じたりスヌーズしたりして、pull requestを開く Dependabot アラートを指定できます。 さまざまな種類の自動トリアージ ルールと、リポジトリが適格かどうかについては、「Dependabot 自動トリアージ ルールについて」を参照してください。

Dependabot によって提供されるさまざまな機能の概要と、開始方法の手順については、「Dependabot クイックスタート ガイド」を参照してください。

エンタープライズ所有者は、エンタープライズの依存関係グラフと Dependabot alerts を構成する必要があります。

Dependabot alerts が構成されたら、リポジトリ管理者と organization 所有者は、[Advanced Security] 設定ページで、プライベートと内部のリポジトリに対して Dependabot alerts を有効にできます。 パブリック リポジトリは既定で有効になっています。 詳細については、「企業の依存関係グラフの有効化」、「エンタープライズ向けの Dependabot の有効化」、「Dependabot アラートの構成」を参照してください。

詳細については、「Dependabot アラートについて」 を参照してください。

依存関係レビューの管理

依存関係レビューを使うと、Pull Requestがリポジトリにマージされる前に、Pull Request内での依存関係の変化を可視化できます。 詳しくは、「依存関係の確認について」をご覧ください。

依存関係レビューは % data variables.product.prodname_GH_code_security %} 機能です。

リポジトリの依存関係の確認を有効にするには、依存関係グラフが有効になっていることを確認します。

  1. リポジトリのメイン ページから、 [設定] をクリックします。
  2. [Advanced Security] をクリックします。
  3. 依存関係グラフが Enterprise に対して構成されていることを確認します。

Dependabot security updatesの管理

Dependabot alerts を使用するリポジトリでは、Dependabot security updates を有効化して脆弱性が検出された際にセキュリティ更新で Pull Request を発行させることができます。

  1. リポジトリのメイン ページから、 [設定] をクリックします。
  2. [Advanced Security] をクリックします。
  3. Dependabot security updates の横にある [有効化] をクリックします。

詳細については、「Dependabot のセキュリティ アップデート」および「Dependabot セキュリティの更新の構成」を参照してください。

Dependabot version updatesの管理

Dependabotを有効化して、依存関係を最新の状態に保つためのPull Requestを自動的に発行するようにできます。 詳しくは、「GitHub Dependabot のバージョンアップデートについて」をご覧ください。

Dependabot version updates を有効にするには、dependabot.yml 構成ファイルを作成する必要があります。 詳しくは、「Dependabot バージョンの更新の構成」をご覧ください。

Code Security の構成

GitHub Code Security には、code scanning、CodeQL CLI、Copilotの自動修正 と、コードベースの脆弱性を検出して修正するその他の機能が含まれています。

CodeQL 分析ワークフロー もしくはサードパーティのツールを使い、リポジトリ中に保存されたコードの脆弱性やエラーを自動的に特定するよう、code scanningを構成できます。 リポジトリのプログラミング言語によっては、既定の設定を使って code scanning と CodeQL を構成でき、その場合、スキャンする言語、実行するクエリ スイート、新しいスキャンをトリガーするイベントは、GitHub によって自動的に決定されます。 詳しくは、「コード スキャンの既定セットアップの構成」をご覧ください。

  1. リポジトリのメイン ページから、 [設定] をクリックします。
  2. サイドバーの [セキュリティ] セクションで、 [Advanced Security] をクリックします。
  3. [Code Security] または [GitHub Advanced Security] がまだ有効になっていない場合は、[有効化] をクリックします。
  4. [CodeQL 分析] の右側にある [設定] を選んでから、[既定] をクリックします。
  5. 表示されるポップアップ ウィンドウで、リポジトリの既定の構成設定を確認し、 [CodeQL を有効にする] をクリックします。

既定のセットアップの代わりに、編集可能なワークフロー ファイルを生成する詳細設定を使用して、CodeQL を使用してcode scanningをカスタマイズすることもできます。 詳しくは、「コード スキャンの高度なセットアップの構成」をご覧ください。

Secret Protectionの構成

GitHub Secret Protection には、secret scanning とプッシュ保護、およびリポジトリ内のシークレット漏洩の検出と防止に役立つその他の機能が含まれています。

  1. リポジトリのメイン ページから、 [設定] をクリックします。
  2. [Advanced Security] をクリックします。
  3. [Secret Protection] または [GitHub Advanced Security] がまだ有効になっていない場合は、[有効化] をクリックします。
  4. オプション [Secret scanning] が表示されている場合は、[有効か] をクリックします。
  5. プロバイダー以外のパターンのスキャン、プッシュ保護などの追加機能を有効にするかどうかを選びます。

セキュリティポリシーの設定

リポジトリの保守管理者であれば、リポジトリに SECURITY.md という名前のファイルを作成して、リポジトリのセキュリティ ポリシーを指定することをお勧めします。 このファイルは、ユーザーがリポジトリのセキュリティ脆弱性を報告したいときに、リポジトリの保守管理者と連絡を取って共同作業を行うにはどうすれば一番良いかを指示します。 リポジトリのセキュリティ ポリシーは、リポジトリの [Security] タブから確認できます。

  1. リポジトリのメイン ページから、 [セキュリティ] をクリックします。
  2. 左側のサイド バーの [レポート] で、 [ポリシー] をクリックします。
  3. [Start setup] (セットアップの開始) をクリックします。
  4. プロジェクトのサポートされているバージョンに関する情報と、脆弱性の報告方法に関する情報を追加してください。

詳しくは、「リポジトリへのセキュリティ ポリシーの追加」をご覧ください。

次のステップ

セキュリティの機能からのアラートを表示及び管理して、コード中の依存関係と脆弱性に対処できます。 詳しくは、「Dependabot アラートの表示と更新」、「依存関係の更新に関するPull Requestを管理する」、「リポジトリのコード スキャンのアラートの評価」、「シークレット スキャン アラートの管理」を参照してください。

また、GitHub のツールを使用して、セキュリティ アラートへの応答を監査することもできます。 詳しくは、「セキュリティ アラートの監査」をご覧ください。

GitHub Actionsを使用する場合、GitHubのセキュリティ機能を使用して、ワークフローのセキュリティを強化できます。 詳しくは、「セキュリティで保護された使用に関するリファレンス」をご覧ください。