セキュリティの脆弱性について
脆弱性とは、プロジェクトあるいはそのコードを利用する他のプロジェクトにおいて、秘密性、一貫性、可用性を損なうために悪用されうる、プロジェクトコードの問題です。 Vulnerabilities vary in type, severity, and method of attack.
GitHub will send you Dependabot alerts if we detect that any of the vulnerabilities from the GitHub Advisory Database affect the packages that your repository depends on. 詳しい情報については、「脆弱性のある依存関係に対するアラートについて」を参照してください。
GitHub Advisory Database について
GitHub Advisory Database には、GitHub の依存関係グラフによって追跡されるパッケージにマップされたセキュリティの脆弱性のキュレーションされたリストが含まれています。 We add vulnerabilities to the GitHub Advisory Database from the following sources:
- National Vulnerability Database
- GitHub上のパブリックなコミット内の脆弱性の検出に、機械学習と人間によるレビューの組み合わせ
- Security advisories reported on GitHub
- The npm Security advisories database
各セキュリティアドバイザリには、説明、重要度、影響するパッケージ、パッケージエコシステム、影響するバージョンとパッチを適用したバージョン、影響、およびリファレンス、回避策、クレジットなどのオプション情報を含む、脆弱性に関する情報が含まれています。 さらに、National Vulnerability Database リストのアドバイザリには、CVE レコードへのリンクが含まれており、脆弱性、その CVSS スコア、その定性的な重要度レベルの詳細を確認できます。 詳しい情報については、アメリカ国立標準技術研究所の「National Vulnerability Database"」を参照してください。
重要度のレベルは Common Vulnerability Scoring System (CVSS), Section 2.1.2 で定義されている 4 つのレベルのいずれかです。
- Low
- Moderate
- High
- Critical
GitHub Advisory Database は、CVSS バージョン 3.0 標準と上記の CVSS レベルを使用します。
GitHub Security Labに加わり、セキュリティ関連のトピックをブラウズし、セキュリティのツールやプロジェクトに貢献することもできます。
GitHub Advisory Database のアドバイザリにアクセスする
- Https://github.com/advisories にアクセスします。
- 必要に応じて、リストをフィルタするには、ドロップダウンメニューを使用します。
- アドバイザリをクリックして詳細を表示します。
データベースは、GraphQL API を使用してアクセスすることもできます。 詳しい情報については、「security_advisory
webhook イベント」を参照してください。
GitHub Advisory Database を検索する
You can search the database, and use qualifiers to narrow your search. For example, you can search for advisories created on a certain date, in a specific ecosystem, or in a particular library.
日付の形式は ISO8601標準に従い、YYYY-MM-DD
(年-月-日) とする必要があります。 オプションの時間情報のTHH:MM:SS+00:00
を日付の後に付けて、時、分、秒で検索できるようにすることもできます。 これはT
の後にHH:MM:SS
(時-分-秒)、そしてUTCオフセット(+00:00
)を続けたものです。
When you search for a date, you can use greater than, less than, and range qualifiers to further filter results. 詳しい情報については、「検索構文を理解する」を参照してください。
修飾子 | サンプル |
---|---|
GHSA-ID | GHSA-49wp-qq6x-g2rf will show the advisory with this GitHub Advisory Database ID. |
CVE-ID | CVE-2020-28482 will show the advisory with this CVE ID number. |
ecosystem:ECOSYSTEM | ecosystem:npm は、NPM パッケージに影響するアドバイザリのみを表示します。 |
severity:LEVEL | severity:high は、重大度レベルが高いアドバイザリのみを表示します。 |
affects:LIBRARY | affects:lodash は、lodash ライブラリに影響するアドバイザリのみを表示します。 |
cwe:ID | cwe:352 will show only advisories with this CWE number. |
credit:USERNAME | credit:octocat will show only advisories credited to the "octocat" user account. |
sort:created-asc | sort:created-asc は、一番古いアドバイザリを最初にソートします。 |
sort:created-desc | sort:created-desc は、一番新しいアドバイザリを最初にソートします。 |
sort:updated-asc | sort:updated-asc は、最近で最も更新されていないものを最初にソートします。 |
sort:updated-desc | sort:updated-desc は、最も直近で更新されたものを最初にソートします。 |
is:withdrawn | is:withdrawn は、撤回されたアドバイザリのみを表示します。 |
created:YYYY-MM-DD | created:2021-01-13 は、この日に作成されたアドバイザリのみを表示します。 |
updated:YYYY-MM-DD | updated:2021-01-13 は、この日に更新されたアドバイザリのみを表示します。 |
Viewing your vulnerable repositories
For any vulnerability in the GitHub Advisory Database, you can see which of your repositories have a Dependabot alert for that vulnerability. To see a vulnerable repository, you must have access to Dependabot alerts for that repository. 詳しい情報については、「脆弱性のある依存関係に対するアラートについて」を参照してください。
- Https://github.com/advisories にアクセスします。
- Click an advisory.
- At the top of the advisory page, click Dependabot alerts.
- Optionally, to filter the list, use the search bar or the drop-down menus. The "Organization" drop-down menu allows you to filter the Dependabot alerts per owner (organization or user).
- For more details about the vulnerability, and for advice on how to fix the vulnerable repository, click the repository name.
参考リンク
- MITREの「脆弱性」の定義