Skip to main content

GitHub セキュリティ機能

GitHub のセキュリティ機能の概要。

GitHub のセキュリティ機能について

GitHub のセキュリティ機能は、リポジトリ内と organization 全体でコードとシークレットを安全に保つために役立ちます。

  • 一部の機能は、すべての GitHub プランで利用できます。
  • Organization は、GitHub Advanced Security 製品を購入して、GitHub Team と GitHub Enterprise Cloud で追加機能を利用できます。
  • さらに、GitHub Secret Protection と GitHub Code Security の多くの機能を、パブリック リポジトリで無料で実行できます。

すべての GitHub プランで利用可能

お客様は、ご利用の GitHub プランに関係なく、次のセキュリティ機能を使用できます。 これらの機能を使うために、GitHub Secret Protection or GitHub Code Security を購入する必要はありません。

これらの機能のほとんどは、パブリックおよびプライベートのリポジトリで使用できます。 一部の機能は、パブリック リポジトリで "のみ" 使用できます。__

セキュリティ ポリシー

リポジトリで見つけたセキュリティの脆弱性を、ユーザが内密に報告しやすくします。 詳しくは、「リポジトリへのセキュリティ ポリシーの追加」をご覧ください。

依存関係グラフ

依存関係グラフを使うと、自分のリポジトリが依存しているエコシステムやパッケージ、そして自分のリポジトリに依存しているリポジトリやパッケージを調べることができます。

依存関係グラフは、リポジトリの [分析情報] タブにあります。 詳しくは、「依存関係グラフについて」をご覧ください。

ソフトウェア部品表 (SBOM)

リポジトリの依存関係グラフを、SPDX と互換性のあるソフトウェア部品表 (SBOM) としてエクスポートできます。 詳しくは、「リポジトリのソフトウェア部品表のエクスポート」をご覧ください。

GitHub Advisory Database

GitHub Advisory Databaseには、表示、検索、フィルタできる精選されたセキュリティ脆弱性のリストが含まれます。 詳しくは、「GitHub Advisory Database でのセキュリティ アドバイザリの参照」をご覧ください。

Dependabot alerts およびセキュリティアップデート

セキュリティの脆弱性を含むことを把握している依存関係に関するアラートを表示し、プルリクエストを自動的に生成してこれらの依存関係を更新するかどうかを選択します。 詳細については、「Dependabot アラートについて」および「Dependabot のセキュリティ アップデート」を参照してください。

また、GitHub によってキュレーションされた既定の Dependabot 自動トリアージ ルール を使って、大量の誤検知を自動的に除外できます。

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

Dependabot version updates:

Dependabotを使って、依存関係を最新に保つためのPull Requestを自動的に発行してください。 これは、依存関係の古いバージョンの公開を減らすために役立ちます。 新しいバージョンを使用すると、セキュリティの脆弱性が発見された場合にパッチの適用が容易になり、さらに脆弱性のある依存関係を更新するため Dependabot security updates がプルリクエストを発行することも容易になります。 また、Dependabot version updates をカスタマイズして、リポジトリへの統合を効率化することもできます。 詳しくは、「GitHub Dependabot のバージョンアップデートについて」をご覧ください。

セキュリティ アドバイザリ

パブリック リポジトリのコードでのセキュリティの脆弱性を、非公開で検討して修正します。 その後、セキュリティアドバイザリを公開して、コミュニティに脆弱性を警告し、アップグレードするようコミュニティメンバーに促すことができます。 詳しくは、「リポジトリ セキュリティ アドバイザリについて」をご覧ください。

リポジトリ ルールセット

ブランチ間およびタグ間で、一貫したコード標準、セキュリティ、コンプライアンスを適用します。 詳しくは、「ルールセットについて」をご覧ください。

アーティファクト構成証明

ビルドするソフトウェアの証明不可能な起源と整合性の保証を作成します。 詳しくは、「アーティファクトの構成証明を使用して構築の実績を確立する」をご覧ください。

Note

GitHub Free、GitHub Pro、または GitHub Team プランを利用している場合、成果物の構成証明はパブリック リポジトリでのみ使用できます。 プライベートまたは内部リポジトリで成果物の構成証明を使うには、GitHub Enterprise Cloud プランを利用している必要があります。

パートナーに対するシークレット スキャンニング アラート

GitHub がパブリック リポジトリまたはパブリック npm パッケージでシークレットの漏洩を検出すると、GitHub はシークレットが侵害される可能性があることを関連するサービス プロバイダーに通知します。 サポートされるシークレットとサービス プロバイダーの詳細については、「サポートされているシークレット スキャン パターン」を参照してください。

ユーザーのプッシュ保護

ユーザーのプッシュ保護は、リポジトリ自体が secret scanning を有効にしているかどうかに関係なく、シークレットを誤ってパブリック リポジトリにコミットしないように自動的に保護します。 ユーザーのプッシュ保護は既定でオンになっていますが、個人用アカウント設定でいつでも機能を無効にすることができます。 詳しくは、「ユーザーのプッシュ保護」をご覧ください。

GitHub Secret Protection で利用可能

GitHub Team と GitHub Enterprise Cloud のアカウントの場合は、GitHub Secret Protection を購入すると、追加のセキュリティ機能にアクセスできます。

GitHub Secret Protection は、secret scanning やプッシュ保護など、シークレットの漏洩の検出と防止に役立つ機能が含まれます。

これらの機能は、すべてのリポジトリの種類で使用できます。 これらの機能の一部は、パブリック リポジトリでは無料で利用できます。つまり、パブリック リポジトリで機能を有効にするために GitHub Secret Protection を購入する必要はありません。

ユーザーに対するシークレット スキャンニング アラート

リポジトリにチェックインされたトークンまたは資格情報を自動的に検出します。 GitHub によってコードで検出されたシークレットに関するアラートは、リポジトリの [Security] タブで確認できるので、侵害されているものとして扱うべきトークンまたは資格情報がわかります。 詳しくは、「シークレット スキャン アラートについて」をご覧ください。

Available for public repositories by default.

Copilot シークレット スキャン

Copilot シークレット スキャン の汎用シークレット検出は、secret scanning の AI を搭載した拡張機能であり、ソース コード内の非構造化シークレット (パスワード) を識別して、アラートを生成します。 詳しくは、「Copilotシークレットスキャンを使用したジェネリックシークレットの責任ある検出」をご覧ください。

プッシュ保護

プッシュ保護は、プッシュ プロセスの間に、作成者自身のコードとリポジトリの共同作成者のコードでシークレットを事前にスキャンし、シークレットが検出された場合はプッシュをブロックします。 共同作成者がブロックをバイパスすると、GitHub によってアラートが作成されます。 詳しくは、「プッシュ保護について」をご覧ください。

Available for public repositories by default.

プッシュ保護のための委任されたバイパス

プッシュ保護に対して委任されたバイパスを使うと、プッシュ保護をバイパスできる個人、ロール、チームを制御でき、シークレットを含むプッシュのレビューと承認サイクルが実装されます。 詳しくは、「プッシュ保護のために委任されたバイパスについて」をご覧ください。

カスタムパターン

カスタム パターンを定義すると、organization 内部のパターンのような、secret scanning でサポートされている既定のパターンで検出されないシークレットを特定できます。 詳しくは、「シークレット スキャンのカスタム パターンの定義」をご覧ください。

セキュリティの概要

セキュリティの概要を使用すると、組織の全体的なセキュリティ環境を確認したり、トレンドやその他の分析情報を表示したり、セキュリティ構成を管理したりできます。これにより、組織のセキュリティ状態を簡単に監視し、リスクが最大のリポジトリと組織を特定できます。 詳しくは、「セキュリティの概要について」をご覧ください。

GitHub Code Security で利用可能

GitHub Team と GitHub Enterprise Cloud のアカウントの場合は、GitHub Code Security を購入すると、追加のセキュリティ機能にアクセスできます。

GitHub Code Security には、code scanning、プレミアム Dependabot 機能、依存関係レビューなど、脆弱性の検出と修正に役立つ機能が含まれます。

これらの機能は、すべてのリポジトリの種類で使用できます。 これらの機能の一部は、パブリック リポジトリでは無料で利用できます。つまり、パブリック リポジトリで機能を有効にするために GitHub Code Security を購入する必要はありません。

Code scanning

新しいコードまたは変更されたコードのセキュリティの脆弱性とコーディングエラーを自動的に検出します。 潜在的な問題が強調表示され、あわせて詳細情報も確認できるため、デフォルトのブランチにマージする前にコードを修正できます。 詳しくは、「コード スキャンについて」をご覧ください。

Available for public repositories by default.

CodeQL CLI

ソフトウェア プロジェクトのローカル環境で CodeQL プロセスを実行したり、GitHub にアップロードするための code scanning の結果を生成したりします。 詳しくは、「CodeQL CLI について」をご覧ください。

Available for public repositories by default.

Copilot Autofix

code scanning アラートに対して自動的に生成される修正を取得します。 詳しくは、「コード スキャンに対する Copilot Autofix の責任ある使用」をご覧ください。

Available for public repositories by default.

Dependabot に対する カスタム自動トリアージ ルール

大規模な Dependabot alerts の管理に役立ちます。 カスタム自動トリアージ ルール を使用すると、無視、スヌーズ、または Dependabot のセキュリティ アップデートをトリガーするアラートを制御できます。 詳細については、「Dependabot アラートについて」および「自動トリアージ ルールをカスタマイズして Dependabot アラートの優先度を設定する」を参照してください。

依存関係の確認

Pull Requestをマージする前に、依存関係に対する変更の影響を詳細に示し、脆弱なバージョンがあればその詳細を確認できます。 詳しくは、「依存関係の確認について」をご覧ください。

Available for public repositories by default.

セキュリティ キャンペーン

セキュリティ キャンペーンを作成し、開発者と協力してセキュリティ バックログを減らすことで、セキュリティ アラートを大規模に修正します。 詳しくは、「セキュリティ キャンペーンについて」をご覧ください。

セキュリティの概要

セキュリティの概要を使用すると、組織の全体的なセキュリティ環境を確認したり、トレンドやその他の分析情報を表示したり、セキュリティ構成を管理したりできます。これにより、組織のセキュリティ状態を簡単に監視し、リスクが最大のリポジトリと組織を特定できます。 詳しくは、「セキュリティの概要について」をご覧ください。

参考資料