About security alerts for vulnerable dependencies
GitHub sends security alerts when we detect vulnerabilities affecting your repository.
In this guide
- About security vulnerabilities
- Alerts and automated security updates 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 repository.
If GitHub detects a vulnerability from the GitHub Advisory Database or WhiteSource in one of the dependencies in your repository's dependency graph, we'll send you a security alert. For more information about the GitHub Advisory Database, see "Browsing security vulnerabilities in the GitHub Advisory Database."
Alerts and automated security updates for vulnerable dependencies
When a new vulnerability is added to the GitHub Advisory Database, we identify public repositories (and private repositories that have opted in to vulnerability detection) that use the affected version of the dependency, send a security alert to repository maintainers, and generate an automated security update.
Each security alert includes a severity level, a link to the affected file in your project, and a link to a pull request containing an automated security update that resolves the vulnerability. When available, the alert will include further details about the vulnerability.
You can see all of the alerts affecting a particular project on the repository's Alerts tab or in the repository's dependency graph. For more information, see "Viewing and updating vulnerable dependencies in your repository."
We send security alerts to people with admin permissions in the affected repositories by default. GitHub never publicly discloses identified vulnerabilities for any repository. You can also enable security alerts for additional people or teams working in organization-owned repositories. For more information, see "Managing alerts for vulnerable dependencies in your organization's repositories."
Automated security updates update vulnerable dependencies to the minimum version that resolves the vulnerability. Automated security updates are automatically enabled in repositories that use the dependency graph and security alerts, but you can choose to disable automatic pull requests and generate security updates manually instead. For more information, see "Configuring automated security updates."
GitHub detects and alerts on vulnerable dependencies in public repositories by default. To receive security alerts for vulnerable dependencies in a private repository, an owner of or person with admin access to the repository must enable the dependency graph and security alerts in the repository. For more information, see "Opting into or out of data use for your private repository."
For a list of the supported languages that GitHub can detect vulnerabilities and dependencies for, see "Listing the packages that a repository depends on."
Note: GitHub'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.
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 user interface. For more information, see "Choosing the delivery method for your notifications."