GitHub identifies vulnerable dependencies in repositories and creates Dependabot alerts on your GitHub Enterprise Server instance, using:
- Data from the GitHub Advisory Database
- The dependency graph service
We add vulnerabilities to the GitHub Advisory Database from the following sources:
- The National Vulnerability Database
- A combination of machine learning and human review to detect vulnerabilities in public commits on GitHub
- Security advisories reported on GitHub
- The npm Security advisories database
You can connect your GitHub Enterprise Server instance to GitHub.com with GitHub Connect. Once connected, vulnerability data is synced from the GitHub Advisory Database to your instance once every hour. You can also choose to manually sync vulnerability data at any time. No code or information about code from your GitHub Enterprise Server instance is uploaded to GitHub.com.
Only GitHub-reviewed advisories are synchronized. For more information about advisory data, see "Browsing security vulnerabilities in the GitHub Advisory Database" in the GitHub.com documentation.
For repositories with Dependabot alerts enabled, scanning is triggered on any push to the default branch that contains a manifest file or lock file. Additionally, when a new vulnerability record is added to the instance, GitHub Enterprise Server scans all existing repositories in that instance and generates alerts for any repository that is vulnerable. For more information, see "Detection of vulnerable dependencies."
If you enable vulnerability detection, when your GitHub Enterprise Server instance receives information about a vulnerability, it identifies repositories in your instance that use the affected version of the dependency and generates Dependabot alerts. You can choose whether or not to notify users automatically about new Dependabot alerts.
Enabling the dependency graph and Dependabot alerts for vulnerable dependencies on your GitHub Enterprise Server instance
For your GitHub Enterprise Server instance to detect vulnerable dependencies and generate Dependabot alerts:
- You must connect your GitHub Enterprise Server instance to GitHub.com. For more information, see "Connecting your enterprise account to GitHub Enterprise Cloud."
- You must enable the dependency graph service.
- You must enable vulnerability scanning.
Sign in to your GitHub Enterprise Server instance at
In the administrative shell, enable the dependency graph on your GitHub Enterprise Server instance:
ghe-config app.github.dependency-graph-enabled true ghe-config app.github.vulnerability-alerting-and-settings-enabled true
Note: For more information about enabling access to the administrative shell via SSH, see "Accessing the administrative shell (SSH)."
Apply the configuration.
Return to GitHub Enterprise Server.
Before enabling Dependabot alerts for your instance, you need to enable the dependency graph. For more information, see above.
In the top-right corner of GitHub Enterprise Server, click your profile photo, then click Enterprise settings.
In the enterprise account sidebar, click Settings.
In the left sidebar, click GitHub Connect.
Under "Repositories can be scanned for vulnerabilities", select the drop-down menu and click Enabled without notifications. Optionally, to enable alerts with notifications, click Enabled with notifications.
Tip: We recommend configuring Dependabot alerts without notifications for the first few days to avoid an overload of emails. After a few days, you can enable notifications to receive Dependabot alerts as usual.
You can view all vulnerabilities in your GitHub Enterprise Server instance and manually sync vulnerability data from GitHub.com to update the list.
From an administrative account on GitHub Enterprise Server, in the upper-right corner of any page, click .
If you're not already on the "Site admin" page, in the upper-left corner, click Site admin.
In the left sidebar, click Vulnerabilities.
To sync vulnerability data, click Sync Vulnerabilities now.