About the GitHub Advisory Database
다음 원본에서 GitHub Advisory Database에 권고를 추가합니다.
- GitHub에 보고된 보안 공지
- 국가별 취약성 데이터베이스
- npm 보안 공지 데이터베이스
- FriendsOfPHP 데이터베이스
- Go Vulncheck 데이터베이스
- Python Packaging Advisory 데이터베이스
- Ruby Advisory 데이터베이스
- RustSec Advisory 데이터베이스
- 커뮤니티 기여 자세한 내용은 https://github.com/github/advisory-database/pulls를 참조하세요.
다른 데이터베이스를 알고 있는 경우 권고를 https://github.com/github/advisory-database에서 가져와야 합니다.
Security advisories are published as JSON files in the Open Source Vulnerability (OSV) format. For more information about the OSV format, see Open Source Vulnerability format.
Types of security advisories
Each advisory in the GitHub Advisory Database is for a vulnerability in open source projects or for malicious open source software.
취약성은 프로젝트 또는 해당 코드를 사용하는 기타 프로젝트의 기밀성, 무결성 또는 가용성을 손상시키기 위해 악용할 수 있는 프로젝트 코드의 문제입니다. 취약성은 공격 유형, 심각도 및 방법에 따라 다릅니다. Vulnerabilities in code are usually introduced by accident and fixed soon after they are discovered. You should update your code to use the fixed version of the dependency as soon as it is available.
In contrast, malicious software, or malware, is code that is intentionally designed to perform unwanted or harmful functions. The malware may target hardware, software, confidential data, or users of any application that uses the malware. You need to remove the malware from your project and find an alternative, more secure replacement for the dependency.
GitHub-reviewed advisories
** GitHub-검토된** 권고는 지원되는 에코시스템의 패키지에 매핑됩니다. 각 권고의 유효성을 신중하게 검토하고 전체 설명과 에코시스템 및 패키지 정보가 모두 포함되어 있는지 확인합니다.
Generally, we name our supported ecosystems after the software programming language's associated package registry. We review advisories if they are for a vulnerability in a package that comes from a supported registry.
- Composer (registry: https://packagist.org/)
- Erlang (registry: https://hex.pm/)
- Go (registry: https://pkg.go.dev/)
- GitHub Actions (https://github.com/marketplace?type=actions/)
- Maven (registry: https://repo.maven.apache.org/maven2)
- Npm (registry: https://www.npmjs.com/)
- NuGet (registry: https://www.nuget.org/)
- Pip (registry: https://pypi.org/)
- Pub (registry: https://pub.dev/packages/registry)
- RubyGems (registry: https://rubygems.org/)
- Rust (registry: https://crates.io/)
- Swift (registry: N/A)
If you have a suggestion for a new ecosystem we should support, please open an issue for discussion.
If you enable Dependabot alerts for your repositories, you are automatically notified when a new GitHub-reviewed advisory reports a vulnerability for a package you depend on. For more information, see Dependabot alerts.
Unreviewed advisories
확인하지 않은 권고는 국가 취약성 데이터베이스 피드에서 직접 자동으로 GitHub Advisory Database게시됩니다.
Dependabot doesn't create Dependabot alerts for unreviewed advisories as this type of advisory isn't checked for validity or completion.
Malware advisories
맬웨어 권고는 맬웨어로 인한 취약성과 관련이 있으며 npm 에코시스템에만 적용됩니다. npm 보안 팀에서 제공한 정보를 통해 직접 GitHub Advisory Database에 자동으로 게시합니다.
Dependabot doesn't generate alerts when malware is detected as most of the vulnerabilities cannot be resolved by downstream users. You can view malware advisories by searching for type:malware in the GitHub Advisory Database.
Our malware advisories are mostly about substitution attacks. During this type of attack, an attacker publishes a package to the public registry with the same name as a dependency that users rely on from a third party or private registry, with the hope that the malicious version is consumed. Dependabot doesn’t look at project configurations to determine if the packages are coming from a private registry, so we aren't sure if you're using the malicious version or a non-malicious version. Users who have their dependencies appropriately scoped should not be affected by malware.
Information in security advisories
In this section, you can find more detailed information about specific data attributes of the GitHub Advisory Database.
GHSA IDs
Each security advisory, regardless of its type, has a unique identifier referred to as a GHSA ID. A GHSA-ID qualifier is assigned when a new advisory is created on GitHub or added to the GitHub Advisory Database from any of the supported sources.
The syntax of GHSA IDs follows this format: GHSA-xxxx-xxxx-xxxx where:
xis a letter or a number from the following set:23456789cfghjmpqrvwx.- Outside the
GHSAportion of the name:- The numbers and letters are randomly assigned.
- All letters are lowercase.
You can validate a GHSA ID using a regular expression.
/GHSA(-[23456789cfghjmpqrvwx]{4}){3}/
/GHSA(-[23456789cfghjmpqrvwx]{4}){3}/
CVSS levels
The GitHub Advisory Database supports both CVSS version 3.1 and CVSS version 4.0.
Each security advisory contains information about the vulnerability or malware, which may include the description, severity, affected package, package ecosystem, affected versions and patched versions, impact, and optional information such as references, workarounds, and credits. In addition, advisories from the National Vulnerability Database list contain a link to the CVE record, where you can read more details about the vulnerability, its CVSS scores, and its qualitative severity level. For more information, see the National Vulnerability Database from the National Institute of Standards and Technology.
The severity level is one of four possible levels defined in the Common Vulnerability Scoring System (CVSS), Section 5.
- Low
- Medium/Moderate
- High
- Critical
The GitHub Advisory Database uses the CVSS levels described above. If GitHub obtains a CVE, the GitHub Advisory Database uses the CVSS version assigned by the maintainer, which can be version 3.1 or 4.0. If the CVE is imported, the GitHub Advisory Database supports CVSS versions 4.0, 3.1 and 3.0.
GitHub Security Lab에 참가하여 보안 관련 항목을 찾아보고 보안 도구 및 프로젝트에 기여할 수도 있습니다.
EPSS scores
The Exploit Prediction Scoring System, or EPSS, is a system devised by the global Forum of Incident Response and Security Teams (FIRST) for quantifying the likelihood of vulnerability exploit. The model produces a probability score between 0 and 1 (0 and 100%), where the higher the score, the greater the probability that a vulnerability will be exploited. For more information about FIRST, see https://www.first.org/.
The GitHub Advisory Database includes EPSS scores from FIRST for advisories containing CVEs with corresponding EPSS data. GitHub also displays the EPSS score percentile, which is the proportion of all scored vulnerabilities with the same or a lower EPSS score.
For example, if an advisory had an EPSS score that had a percentage of 90.534% at the 95th percentile, according to the EPSS model, this means that:
- There is a 90.534% chance of this vulnerability being exploited in the wild in the next 30 days.
- 95% of the total modeled vulnerabilities are considered less likely to be exploited in the next 30 days than this vulnerability.
Extended information about how to interpret this data can be found in FIRST's EPSS User Guide. This information helps you understand how both percentage and percentile can be used to interpret the likelihood that a vulnerability could be exploited in the wild according to FIRST's model. For more information, see the FIRST's EPSS User Guide on the FIRST website.
FIRST also provides additional information around the distribution of their EPSS data. For more information, see EPSS data and statistics documentation on the FIRST website.
참고
GitHub keeps EPSS data up to date with a daily synchronization action. While EPSS score percentages will always be fully synchronized, score percentiles will only be updated when significantly different.
At GitHub, we do not author this data, but rather source it from FIRST, which means that this data is not editable in community contributions. For more information about community contributions, see GitHub Advisory Database에서 보안 권고 편집.
Community contributions
A community contribution is a pull request submitted to the github/advisory-database repository that improves the content of a global security advisory. When you make a community contribution, you can edit or add any detail, including additional affected ecosystems, the severity level, or the description of who is impacted. The GitHub Security Lab curation team will review the submitted contributions and publish them onto the GitHub Advisory Database if accepted.
Further reading
- Dependabot alerts
- The CVE Program's definition of "vulnerability"