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. Vulnerabilities vary in type, severity, and method of attack.
When your code depends on a package that has a security vulnerability, this vulnerable dependency can cause a range of problems for your project or the people who use it.
GitHub Dependabot detects vulnerable dependencies and sends Dependabot alerts when:
- A new vulnerability is added to the GitHub Advisory Database. For more information, see "Browsing security vulnerabilities in the GitHub Advisory Database."
- New vulnerability data from WhiteSource is processed.
- The dependency graph for a repository changes. For example, when a contributor pushes a commit to change the packages or versions it depends on, or when the code of one of the dependencies changes. For more information, see "About the dependency graph."
For a list of the ecosystems that GitHub can detect vulnerabilities and dependencies for, see "Supported package ecosystems."
Note: It is important to keep your manifest and lock files up to date. If the dependency graph doesn't accurately reflect your current dependencies and versions, then you could miss alerts for vulnerable dependencies that you use. You may also get alerts for dependencies that you no longer use.
GitHub detects and alerts users to vulnerable dependencies in public repositories by default. Owners of private repositories, or people with admin access, can enable GitHub Dependabot alerts by enabling the dependency graph and GitHub Dependabot alerts for their repositories.
You can also enable or disable GitHub Dependabot alerts for all repositories owned by your user account or organization. For more information, see "Managing security and analysis settings for your user account" or "Managing security and analysis settings for your organization."
GitHub starts generating the dependency graph immediately and sends alerts for any vulnerable dependencies as soon as they are identified. The graph is usually populated within minutes but this may take longer for repositories with many dependencies. For more information, see "Managing data use settings for your private repository."
When GitHub identifies a vulnerable dependency, we send a Dependabot 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. For repositories that have enabled GitHub Dependabot security updates, the alert also contains a link to a pull request to update the manifest or lock file to the minimum version that resolves the vulnerability. For more information, see "Configuring GitHub Dependabot security updates."
Note: GitHub's security features 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.
You can see all of the alerts that affect a particular project on the repository's Security tab or in the repository's dependency graph. For more information, see "Viewing and updating vulnerable dependencies in your repository."
We send Dependabot 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 Dependabot 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."
By default, you will receive GitHub Dependabot alerts by email, grouped by the specific vulnerability. You can also choose to receive GitHub Dependabot alerts in a weekly email summarizing alerts for up to 10 of your repositories, in your web notifications, or in the GitHub user interface. For more information, see "Configuring notifications."
Email notifications for GitHub Dependabot alerts that affect one or more repositories include the
X-GitHub-Severity header field. You can use the value of the
X-GitHub-Severity header field to filter email notifications for GitHub Dependabot alerts. For more information, see "Configuring notifications."