About Dependabot for GitHub Enterprise Server
Dependabot helps users of your GitHub Enterprise Server instance find and fix vulnerabilities in their dependencies. You can enable Dependabot alerts to notify users about vulnerable dependencies and Dependabot updates to fix the vulnerabilities and keep dependencies updated to the latest version.
Dependabot is just one of many features available to harden supply chain security for your GitHub Enterprise Server instance. For more information about the other features, see "About supply chain security for your enterprise."
About Dependabot alerts
With Dependabot alerts, GitHub identifies insecure dependencies in repositories and creates alerts on your GitHub Enterprise Server instance, using data from the GitHub Advisory Database and the dependency graph service.
We add advisories to the GitHub Advisory Database from the following sources:
- Security advisories reported on GitHub
- The National Vulnerability database
- The npm Security advisories database
- The FriendsOfPHP database
- The Go Vulncheck database
- The Python Packaging Advisory database
- The Ruby Advisory database
- The RustSec Advisory database
- Community contributions. For more information, see https://github.com/github/advisory-database/pulls.
If you know of another database we should be importing advisories from, tell us about it by opening an issue in https://github.com/github/advisory-database.
After you enable Dependabot alerts for your enterprise, vulnerability data is synced from the GitHub Advisory Database to your instance once every hour. Only GitHub-reviewed advisories are synchronized. For more information, see "Browsing security advisories in the GitHub Advisory Database."
You can also choose to manually sync vulnerability data at any time. For more information, see "Viewing the vulnerability data for your enterprise."
Note: When you enable Dependabot alerts, no code or information about code from your GitHub Enterprise Server instance is uploaded to GitHub.com.
When your GitHub Enterprise Server instance receives information about a vulnerability, it identifies repositories in your GitHub Enterprise Server 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.
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 your GitHub Enterprise Server instance, GitHub Enterprise Server scans all existing repositories on your GitHub Enterprise Server instance and generates alerts for any repository that is vulnerable. For more information, see "About Dependabot alerts."
About Dependabot updates
Note: Dependabot security and version updates are currently in private beta and subject to change. Please contact your account management team for instructions on enabling Dependabot updates.
After you enable Dependabot alerts, you can choose to enable Dependabot updates. When Dependabot updates are enabled for your GitHub Enterprise Server instance, users can configure repositories so that their dependencies are updated and kept secure automatically.
Note: Dependabot updates on GitHub Enterprise Server requires GitHub Actions with self-hosted runners.
By default, GitHub Actions runners used by Dependabot need access to the internet, to download updated packages from upstream package managers. For Dependabot updates powered by GitHub Connect, internet access provides your runners with a token that allows access to dependencies and advisories hosted on GitHub.com.
With Dependabot updates, GitHub automatically creates pull requests to update dependencies in two ways.
- Dependabot version updates: Users add a Dependabot configuration file to the repository to enable Dependabot to create pull requests when a new version of a tracked dependency is released. For more information, see "About Dependabot version updates."
- Dependabot security updates: Users toggle a repository setting to enable Dependabot to create pull requests when GitHub detects a vulnerability in one of the dependencies of the dependency graph for the repository. For more information, see "About Dependabot alerts" and "About Dependabot security updates."
Enabling Dependabot alerts
Before you can enable Dependabot alerts:
- You must enable GitHub Connect. For more information, see "Managing GitHub Connect."
- You must enable the dependency graph. For more information, see "Enabling the dependency graph for your enterprise."
In the top-right corner of GitHub Enterprise Server, click your profile photo, then click Enterprise settings.
In the enterprise account 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.
When you enable Dependabot alerts, you should consider also setting up GitHub Actions for Dependabot security updates. This feature allows developers to fix vulnerabilities in their dependencies. For more information, see "Managing self-hosted runners for Dependabot updates on your enterprise."
If you need enhanced security, we recommend configuring Dependabot to use private registries. For more information, see "Managing encrypted secrets for Dependabot."