Skip to main content

GitHub セキュリティ機能

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

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

GitHubは、リポジトリ内及びOrganizationに渡ってコードとシークレットをセキュアに保つのに役立つ機能があります。 一部の機能は、すべてのリポジトリに使用できます。 その他の機能は、GitHub Advanced Security を使うエンタープライズに使用できます。 詳しくは、「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 プリセット ルールを使用して 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 Advanced Security で使用可能

GitHub Advanced Security 機能は、GitHub Advanced Security ライセンスを持つエンタープライズで使用できます。 機能は、組織が所有するリポジトリに制限されます。 詳しくは、「GitHub Advanced Security について」を参照してください。

Code scanning

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

シークレット スキャンニング

リポジトリにチェックインされたトークンまたは資格情報を自動的に検出します。 GitHub によってコードから検出されたシークレットのアラートは、リポジトリの [セキュリティ] タブに表示できます。これにより、侵害されているものとして扱うべきトークンまたは資格情報がわかります。 詳細な情報については、「シークレット スキャンについて」を参照してください。

カスタム自動トリアージ ルール

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

依存関係の確認

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

参考資料