脆弱性のある依存関係について
脆弱性とは、プロジェクトあるいはそのコードを利用する他のプロジェクトにおいて、秘密性、一貫性、可用性を損なうために悪用されうる、プロジェクトコードの問題です。 脆弱性の種類、重要度、攻撃の方法は様々です。
セキュリティ上の脆弱性があるパッケージにコードが依存している場合、この脆弱性のある依存関係により、プロジェクトまたはそれを使用するユーザにさまざまな問題が発生する可能性があります。
脆弱性のある依存関係の検出
GitHub Enterprise Server は脆弱性のある依存関係を検出し、次の場合にセキュリティアラートを送信します。
-
新しいアドバイザリデータが GitHub.com から 1 時間ごとに GitHub Enterprise Server に同期されたとき。 アドバイザリデータに関する詳しい情報については、「GitHub Advisory Database のセキュリティ脆弱性を参照する」を参照してください。
-
リポジトリの依存関係グラフが変更されたとき。 たとえば、コントリビューターがコミットをプッシュして、依存するパッケージまたはバージョンを変更するとき。 詳しい情報については、「依存関係グラフについて」を参照してください。
GitHub Enterprise Server が脆弱性と依存関係を検出できるエコシステムのリストについては、「サポートされているパッケージエコシステム」を参照してください。
注釈: マニフェストとロックファイルを最新の状態に保つことが重要です。 依存関係グラフが現在の依存関係とバージョンを正確に反映していない場合、使用する脆弱性のある依存関係のアラートを見逃す可能性があります。 また、使用しなくなった依存関係のアラートを受け取る場合もあります。
脆弱性のある依存対象に関するセキュリティアラート
サイト管理者は、 この機能を使えるようにするには、GitHub Enterprise Serverのインスタンスの脆弱な依存関係に対するセキュリティアラートを有効化しなければなりません。 詳しい情報については、「GitHub Enterprise Serverの脆弱性のある依存関係に関するセキュリティアラートの有効化」を参照してください。
When GitHub Enterprise Server identifies a vulnerable dependency, we send a security alert to the maintainers of affected repositories with details of the vulnerability, a link to the affected file in the project, and information about a fixed version.
注釈: GitHub Enterprise Server のセキュリティの機能は、すべての脆弱性を捕捉するものではありません。 当社は常に脆弱性データベースを更新し、最新の情報でアラートを生成するよう努力していますが、一定の期間内にすべてをの問題を把握したり、既知の脆弱性について通知したりすることはできません。 これらの機能は、それぞれの依存関係の潜在的な脆弱性やその他の問題に関する人によるレビューを置き換えるものではなく、必要な場合にはセキュリティサービスによるコンサルティングや、総合的な脆弱性レビューを行うことをおすすめします。
セキュリティアラートへのアクセス
特定のプロジェクトに影響を与えるすべてのアラートは、リポジトリの依存関係グラフで確認できます。
デフォルトでは、影響を受けるリポジトリで管理者権限を持つ人々にセキュリティアラートが送られます。 GitHub Enterprise Server は、特定のリポジトリに対して特定された脆弱性を公表することはありません。
Watchしているリポジトリ上の セキュリティアラートに関する通知の配信方法を、通知が送信される頻度と共に選択できます。 詳細については、「脆弱性のある依存関係に対する通知を設定する」を参照してください。