GitHubのセキュリティ機能について
GitHubは、リポジトリ内及びOrganizationに渡ってコードとシークレットをセキュアに保つのに役立つ機能があります。 一部の機能は、すべてのプランのリポジトリに使用できます。 その他の機能は、GitHub Advanced Security を使うエンタープライズに使用できます。 GitHub Advanced Security の機能は、GitHub のすべてのパブリック リポジトリでも有効になります。詳しくは、「GitHub Advanced Security について」を参照してください。
GitHub Advisory Databaseには、表示、検索、フィルタできる精選されたセキュリティ脆弱性のリストが含まれます。 詳しくは、「GitHub Advisory Database でのセキュリティ アドバイザリの参照」を参照してください。
すべてのリポジトリで使用可能
セキュリティ ポリシー
リポジトリで見つけたセキュリティの脆弱性を、ユーザが内密に報告しやすくします。 詳しくは、「リポジトリへのセキュリティ ポリシーの追加」をご覧ください。
Dependabot alerts およびセキュリティアップデート
セキュリティの脆弱性を含むことを把握している依存関係に関するアラートを表示し、プルリクエストを自動的に生成してこれらの依存関係を更新するかどうかを選択します。 詳細については、「Dependabot アラートについて」および「Dependabot のセキュリティ アップデート」を参照してください。
GitHub によってキュレーションされたデフォルトの Dependabot 自動トリアージ ルール を使用して、大量の誤検知を自動的に除外できます。 Dismiss low impact issues for development-scoped dependencies
は、GitHub プリセットルールです。 このルールでは、開発で使用される npm 依存関係で見つかった特定の種類の脆弱性は自動的に無視されます。 このルールは、誤検知を減らし、アラートの疲労を軽減するためにキュレーションされています。 GitHub プリセット を変更することはできません。 GitHub プリセット について詳しくは、「GitHub プリセット ルールを使用して Dependabot アラートに優先順位を付ける」をご覧ください。
Dependabot によって提供されるさまざまな機能の概要と、開始方法の手順については、「Dependabot クイックスタート ガイド」を参照してください。
Dependabot version updates:
Dependabotを使って、依存関係を最新に保つためのPull Requestを自動的に発行してください。 これは、依存関係の古いバージョンの公開を減らすために役立ちます。 新しいバージョンを使用すると、セキュリティの脆弱性が発見された場合にパッチの適用が容易になり、さらに脆弱性のある依存関係を更新するため Dependabot security updates がプルリクエストを発行することも容易になります。 また、Dependabot version updates をカスタマイズして、リポジトリへの統合を効率化することもできます。 詳しくは、「GitHub Dependabot のバージョンアップデートについて」をご覧ください。
依存関係グラフ
依存関係グラフを使うと、自分のリポジトリが依存しているエコシステムやパッケージ、そして自分のリポジトリに依存しているリポジトリやパッケージを調べることができます。
依存関係グラフは、リポジトリの [分析情報] タブにあります。 詳しくは、「依存関係グラフについて」をご覧ください。
少なくともリポジトリへの読み取りアクセス権がある場合は、GitHub UI または GitHub REST API を使って、リポジトリの依存関係グラフを SPDX 互換のソフトウェア部品表 (SBOM) としてエクスポートできます。 詳しくは、「リポジトリのソフトウェア部品表のエクスポート」を参照してください。
リポジトリのセキュリティの概要
セキュリティの概要には、リポジトリに対して有効になっているセキュリティ機能が示され、まだ有効になっていない使用可能なセキュリティ機能を構成できます。
無料のパブリック リポジトリで使えます
セキュリティ アドバイザリ
リポジトリのコードのセキュリティの脆弱性について、非公開で議論して修正します。 その後、セキュリティアドバイザリを公開して、コミュニティに脆弱性を警告し、アップグレードするようコミュニティメンバーに促すことができます。 詳しくは、「リポジトリ セキュリティ アドバイザリについて」をご覧ください。
ユーザーに対するシークレット スキャンニング アラート
パブリック リポジトリにチェックインされたトークンまたは資格情報を自動的に検出します。 GitHub によってコードから検出されたシークレットのアラートは、リポジトリの [セキュリティ] タブに表示できます。これにより、侵害されているものとして扱うべきトークンまたは資格情報がわかります。 詳しくは、「シークレット スキャン アラートについて」をご覧ください。
ユーザーのプッシュ保護
ユーザーのプッシュ保護は、リポジトリ自体が secret scanning を有効にしているかどうかに関係なく、シークレットを誤ってパブリック リポジトリにコミットしないように自動的に保護します。 ユーザーのプッシュ保護は既定でオンになっていますが、個人用アカウント設定でいつでも機能を無効にすることができます。 詳しくは、「ユーザーのプッシュ保護」をご覧ください。
パートナーに対するシークレット スキャンニング アラート
すべてのパブリック リポジトリとパブリック npm パッケージ全体で漏洩したシークレットを自動的に検出します。 GitHub は、シークレットが侵害される可能性があることを関連するサービス プロバイダーに通知します。 サポートされるシークレットとサービス プロバイダーの詳細については、「サポートされているシークレット スキャン パターン」を参照してください。
GitHub Advanced Security で使用可能
次の GitHub Advanced Security 機能は、GitHub のパブリック リポジトリで無料で使用できます。 GitHub Advanced Security のライセンスを持つ GitHub Enterprise Cloud を使用する組織は、任意のリポジトリで機能の完全なセットを使用できます。 GitHub Enterprise Cloud で使用できる機能の一覧については、GitHub Enterprise Cloud のドキュメントを参照してください。
GitHub Advanced Security で GitHub Enterprise を無料で試す方法の詳細については、「GitHub Enterprise Cloud のトライアルを設定する」と GitHub Enterprise Cloud ドキュメントの「GitHub Advanced Security の無料試用版を設定する」を参照してください。
Code scanning
新しいコードまたは変更されたコードのセキュリティの脆弱性とコーディングエラーを自動的に検出します。 潜在的な問題が強調表示され、あわせて詳細情報も確認できるため、デフォルトのブランチにマージする前にコードを修正できます。 詳しくは、「コード スキャンについて」をご覧ください。
ユーザーに対するシークレット スキャンニング アラート
リポジトリにチェックインされたトークンまたは資格情報を自動的に検出します。 GitHub によってコードから検出されたシークレットのアラートは、リポジトリの [セキュリティ] タブに表示できます。これにより、侵害されているものとして扱うべきトークンまたは資格情報がわかります。 詳細な情報については、「シークレット スキャン アラートについて」を参照してください。
カスタム自動トリアージ ルール
大規模な Dependabot alerts の管理に役立ちます。 カスタム自動トリアージ ルール を使用すると、無視、スヌーズ、または Dependabot のセキュリティ アップデートをトリガーするアラートを制御できます。 詳細については、「Dependabot アラートについて」および「自動トリアージ ルールをカスタマイズして Dependabot アラートの優先度を設定する」を参照してください。
依存関係の確認
Pull Requestをマージする前に、依存関係に対する変更の影響を詳細に示し、脆弱なバージョンがあればその詳細を確認できます。 詳しくは、「依存関係の確認について」をご覧ください。