GitHubのセキュリティ機能について
GitHubのセキュリティ機能は、リポジトリや組織全体でコードと機密情報を安全に保つのに役立ちます。
- 一部の機能は、すべての GitHub プランで利用できます。
-
GitHub Advanced Securityを購入する企業は、追加の機能を利用できます。
すべての GitHub プランで利用可能
使用している GitHub プランに関係なく、次のセキュリティ機能を使用できます。
セキュリティ ポリシー
リポジトリで見つけたセキュリティの脆弱性を、ユーザが内密に報告しやすくします。 詳しくは、「リポジトリへのセキュリティ ポリシーの追加」をご覧ください。
依存関係グラフ
依存関係グラフを使うと、自分のリポジトリが依存しているエコシステムやパッケージ、そして自分のリポジトリに依存しているリポジトリやパッケージを調べることができます。
依存関係グラフは、リポジトリの [分析情報] タブにあります。 詳しくは、「依存関係グラフについて」をご覧ください。
ソフトウェア部品表 (SBOM)
リポジトリの依存関係グラフを、SPDX と互換性のあるソフトウェア部品表 (SBOM) としてエクスポートできます。 詳しくは、「リポジトリのソフトウェア部品表のエクスポート」をご覧ください。
GitHub Advisory Database
GitHub Advisory Databaseには、表示、検索、およびフィルター処理できるセキュリティの脆弱性の一覧が含まれています。 詳しくは、「[AUTOTITLE](/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/browsing-security-advisories-in-the-github-advisory-database)」をご覧ください。
Dependabot alerts およびセキュリティ更新
セキュリティの脆弱性を含むことを把握している依存関係に関するアラートを表示し、プルリクエストを自動的に生成してこれらの依存関係を更新するかどうかを選択します。 詳細については、「Dependabot アラートについて」および「Dependabot のセキュリティ アップデート」を参照してください。
また、GitHubによってキュレーションされたデフォルトのDependabot 自動トリアージ ルールを使用して、大量の誤検知を自動的に除外することもできます。
Dependabot によって提供されるさまざまな機能の概要と、開始方法の手順については、「Dependabot クイックスタート ガイド」を参照してください。
Dependabot version updates
Dependabotを使用して、依存関係を最新の状態に保つために、プルリクエストを自動で作成します。 これは、依存関係の古いバージョンへの露出を減らすのに役立ちます。 新しいバージョンを使用すると、セキュリティの脆弱性が検出された場合に修正プログラムを適用しやすくなります。また、 Dependabot security updates がプル要求を正常に発生させ、脆弱な依存関係をアップグレードすることが容易になります。
Dependabot version updatesをカスタマイズして、リポジトリへの統合を効率化することもできます。 詳しくは、「[AUTOTITLE](/code-security/dependabot/dependabot-version-updates/about-dependabot-version-updates)」をご覧ください。
リポジトリ ルールセット
ブランチ間およびタグ間で、一貫したコード標準、セキュリティ、コンプライアンスを適用します。 詳しくは、「ルールセットについて」をご覧ください。
と一緒に使用可能 GitHub Advanced Security
GitHub Advanced Security 機能は、 GitHub Advanced Securityのライセンスを持つ企業で使用できます。 機能は、組織が所有するリポジトリに制限されます。
シークレット スキャン
リポジトリにチェックインされたトークンまたは資格情報を自動的に検出します。 GitHub がコード内で検出するシークレットのアラートをリポジトリの [ Security ] タブで表示し、侵害されたトークンや資格情報を特定することができます。 詳しくは、「シークレット スキャン アラートについて」をご覧ください。
プッシュ保護
プッシュ保護は、プッシュ プロセスの間に、作成者自身のコードとリポジトリの共同作成者のコードでシークレットを事前にスキャンし、シークレットが検出された場合はプッシュをブロックします。 共同作成者がブロックをバイパスした場合、 GitHub はアラートを作成します。 詳しくは、「プッシュ保護について」をご覧ください。
プッシュ保護の目的で委任されたバイパス
プッシュ保護のための委任バイパスを使用すると、どの個人、役割、チームを管理できるかを制御できます。
- プッシュ保護をバイパスできます
- 他の共同作成者からのバイパス要求をレビューできます
詳しくは、「プッシュ保護のために委任されたバイパスについて」をご覧ください。
カスタムパターン
カスタム パターンを定義して、組織の内部パターンなど、 secret scanningでサポートされている既定のパターンで検出されないシークレットを識別できます。 詳しくは、「シークレット スキャンのカスタム パターンの定義」をご覧ください。
Code scanning
新しいコードまたは変更されたコードのセキュリティの脆弱性とコーディングエラーを自動的に検出します。 潜在的な問題が強調表示され、あわせて詳細情報も確認できるため、デフォルトのブランチにマージする前にコードを修正できます。 詳しくは、「コード スキャンについて」をご覧ください。
CodeQL CLI
ソフトウェアプロジェクトでは、プロセスをローカルで実行するか、code scanningにアップロードするためのGitHub結果を生成します。 詳しくは、「CodeQL CLI について」をご覧ください。
カスタム自動トリアージ ルール (Dependabot)
大規模な Dependabot alerts の管理に役立ちます。 カスタム自動トリアージ ルール を使用すると、無視、スヌーズ、または Dependabot のセキュリティ アップデートをトリガーするアラートを制御できます。 詳細については、「Dependabot アラートについて」および「自動トリアージ ルールをカスタマイズして Dependabot アラートの優先度を設定する」を参照してください。
依存関係の確認
Pull Requestをマージする前に、依存関係に対する変更の影響を詳細に示し、脆弱なバージョンがあればその詳細を確認できます。 詳しくは、「依存関係の確認について」をご覧ください。
セキュリティの概要
セキュリティの概要を使用すると、組織の全体的なセキュリティ環境を確認したり、トレンドやその他の分析情報を表示したり、セキュリティ構成を管理したりできます。これにより、組織のセキュリティ状態を簡単に監視し、リスクが最大のリポジトリと組織を特定できます。 詳しくは、「セキュリティの概要について」をご覧ください。
参考資料
-
[AUTOTITLE](/get-started/learning-about-github/githubs-plans) -
[AUTOTITLE](/get-started/learning-about-github/about-github-advanced-security) -
[AUTOTITLE](/get-started/learning-about-github/github-language-support)