GitHub のセキュリティ機能について
GitHub のセキュリティ機能は、リポジトリ内と organization 全体でコードとシークレットを安全に保つために役立ちます。
- 一部の機能は、すべての GitHub プランで利用できます。
- Enterprise は、GitHub Advanced Security を購入して追加機能を利用できます。
すべての GitHub プランで利用可能
お客様は、ご利用の GitHub プランに関係なく、次のセキュリティ機能を使用できます。
セキュリティ ポリシー
リポジトリで見つけたセキュリティの脆弱性を、ユーザが内密に報告しやすくします。 詳しくは、「リポジトリへのセキュリティ ポリシーの追加」をご覧ください。
依存関係グラフ
依存関係グラフを使うと、自分のリポジトリが依存しているエコシステムやパッケージ、そして自分のリポジトリに依存しているリポジトリやパッケージを調べることができます。
依存関係グラフは、リポジトリの [分析情報] タブにあります。 詳しくは、「依存関係グラフについて」をご覧ください。
ソフトウェア部品表 (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 のバージョンアップデートについて」をご覧ください。
リポジトリ ルールセット
ブランチ間およびタグ間で、一貫したコード標準、セキュリティ、コンプライアンスを適用します。 詳しくは、「ルールセットについて」をご覧ください。
GitHub Advanced Security で利用可能
GitHub Advanced Security 機能は、GitHub Advanced Security ライセンスをお持ちの Enterprise で使用できます。 機能は、組織が所有するリポジトリに制限されます。
シークレット スキャンニング
リポジトリにチェックインされたトークンまたは資格情報を自動的に検出します。 GitHub によってコードで検出されたシークレットに関するアラートは、リポジトリの [Security] タブで確認できるので、侵害されているものとして扱うべきトークンまたは資格情報がわかります。 詳しくは、「シークレット スキャン アラートについて」をご覧ください。
プッシュ保護
プッシュ保護は、プッシュ プロセスの間に、作成者自身のコードとリポジトリの共同作成者のコードでシークレットを事前にスキャンし、シークレットが検出された場合はプッシュをブロックします。 共同作成者がブロックをバイパスすると、GitHub によってアラートが作成されます。 詳しくは、「プッシュ保護について」をご覧ください。
プッシュ保護のための委任されたバイパス
プッシュ保護に対して委任されたバイパスを使うと、プッシュ保護をバイパスできる個人、ロール、チームを制御でき、シークレットを含むプッシュのレビューと承認サイクルが実装されます。 詳しくは、「プッシュ保護のために委任されたバイパスについて」をご覧ください。
カスタムパターン
カスタム パターンを定義すると、organization 内部のパターンのような、secret scanning でサポートされている既定のパターンで検出されないシークレットを特定できます。 詳しくは、「シークレット スキャンのカスタム パターンの定義」をご覧ください。
Code scanning
新しいコードまたは変更されたコードのセキュリティの脆弱性とコーディングエラーを自動的に検出します。 潜在的な問題が強調表示され、あわせて詳細情報も確認できるため、デフォルトのブランチにマージする前にコードを修正できます。 詳しくは、「コード スキャンについて」をご覧ください。
CodeQL CLI
ソフトウェア プロジェクトのローカル環境で CodeQL プロセスを実行したり、GitHub にアップロードするための code scanning の結果を生成したりします。 詳しくは、「CodeQL CLI について」をご覧ください。
Dependabot に対する カスタム自動トリアージ ルール
大規模な Dependabot alerts の管理に役立ちます。 カスタム自動トリアージ ルール を使用すると、無視、スヌーズ、または Dependabot のセキュリティ アップデートをトリガーするアラートを制御できます。 詳細については、「Dependabot アラートについて」および「自動トリアージ ルールをカスタマイズして Dependabot アラートの優先度を設定する」を参照してください。
依存関係の確認
Pull Requestをマージする前に、依存関係に対する変更の影響を詳細に示し、脆弱なバージョンがあればその詳細を確認できます。 詳しくは、「依存関係の確認について」をご覧ください。
セキュリティの概要
セキュリティの概要を使用すると、組織の全体的なセキュリティ環境を確認したり、トレンドやその他の分析情報を表示したり、セキュリティ構成を管理したりできます。これにより、組織のセキュリティ状態を簡単に監視し、リスクが最大のリポジトリと組織を特定できます。 詳しくは、「セキュリティの概要について」をご覧ください。