About security alerts for vulnerable dependencies
GitHub Enterprise tracks reported vulnerabilities in certain dependencies and provides security alerts to affected repositories.
In this guide
- About security vulnerabilities
- Security alerts for vulnerable dependencies
- Data sources for security alerts
- Configuring notifications for security alerts
About security vulnerabilities
A vulnerability is a problem in a project's code that could be exploited to damage the confidentiality, integrity, or availability of the project or other projects that use its code. Depending on the severity level and the way your project uses the dependency, vulnerabilities can cause a range of problems for your project or the people who use it. You can track and resolve vulnerabilities for certain types of dependencies in your GitHub Enterprise repository.
Security alerts for vulnerable dependencies
When GitHub Enterprise discovers or is notified of a new vulnerability, we identify repositories that use the affected version of the dependency and send a security alert to repository maintainers.
Each security alert includes a severity level and a link to the affected file in your project. When available, the alert will include further details about the vulnerability.
You can see all of the alerts affecting a particular project in the repository's dependency graph.
We send security alerts to people with admin permissions in the affected repositories by default. GitHub Enterprise never publicly discloses identified vulnerabilities for any repository.
Your site administrator must enable security alerts for vulnerable dependencies for your GitHub Enterprise Server instance before you can use this feature. For more information, see "Enabling security alerts for vulnerable dependencies on GitHub Enterprise Server."
For a list of the supported languages that GitHub Enterprise can detect vulnerabilities and dependencies for, see "Listing the packages that a repository depends on."
Note: GitHub Enterprise's security features, such as security alerts, do not claim to catch all vulnerabilities. Though we are always trying to update our vulnerability database and alert you with our most up-to-date information, we will not be able to catch everything or alert you to known vulnerabilities within a guaranteed time frame. These features are not substitutes for human review of each dependency for potential vulnerabilities or any other issues, and we recommend consulting with a security service or conducting a thorough vulnerability review when necessary.
Data sources for security alerts
GitHub uses the following sources to track vulnerabilities in packages from supported languages:
- MITRE's Common Vulnerabilities and Exposures (CVE) List
- A combination of machine learning and human review to detect vulnerabilities in public commits on GitHub
- Maintainer security advisories on GitHub
Security alerts created from items on the CVE list will contain a link to the CVE record, where you can read more details about the vulnerability, its CVSS scores, and its qualitative severity level. The severity level is one of four possible levels defined in the Common Vulnerability Scoring System (CVSS), Section 2.1.2:
Configuring notifications for security alerts
By default, you will receive a weekly email summarizing security alerts for up to 10 of your repositories. You also can choose to receive security alerts individually by email, in a daily digest email, in your web notifications, or in the GitHub Enterprise user interface. For more information, see "Choosing the delivery method for your notifications."
- MITRE's definition of "vulnerability"