About vulnerable dependencies
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.
Detection of vulnerable dependencies
GitHub Enterprise Server detects vulnerable dependencies and sends security alerts when:
- New advisory data is synchronized to GitHub Enterprise Server each hour from GitHub.com. For more information about advisory data, see "Browsing security vulnerabilities in the GitHub Advisory Database."
- The dependency graph for a repository changes. For example, when a contributor pushes a commit to change the packages or versions it depends on. For more information, see "About the dependency graph."
For a list of the ecosystems that GitHub Enterprise Server 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.
Security alerts for vulnerable dependencies
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 alerts for vulnerable dependencies on GitHub Enterprise Server."
When GitHub Enterprise Server identifies a vulnerable dependency, we send a security 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.
Note: GitHub Enterprise Server's security features do not claim to catch all vulnerabilities. Though we are always trying to update our vulnerability database and generate alerts with our most up-to-date information, we will not be able to catch everything or tell you about 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.
Access to security alerts
You can see all of the alerts that affect 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 Server never publicly discloses identified vulnerabilities for any repository.
You can choose the delivery method for notifications about security alerts on repositories that you are watching, as well as the frequency at which the notifications are sent to you. For more information, see "Choosing the delivery method for your notifications."