Configuring automated security updates

You can use automated or manual pull requests to easily update vulnerable dependencies.

In this article

About automated security updates

You can enable automated security updates for any repository that uses security alerts and the dependency graph. You can disable automated security updates for an individual repository or for all repositories owned by your user account or organization.

When you receive a security alert about a vulnerable dependency in your repository, you can resolve the vulnerability using an automated security update in a pull request that corresponds to the security alert. Automated security updates are available in repositories that use the dependency graph. By default, GitHub automatically creates a pull request in your repository to upgrade the vulnerable dependency to the minimum possible secure version needed to avoid the vulnerability. If you prefer, you can disable automatic pull requests and manually create pull requests to upgrade dependencies only when you choose to.

Automated security requests contain everything you need to quickly and safely review and merge a proposed fix into your project, including information about the vulnerability like release notes, changelog entries, and commit details.

Automated security updates are opened by Dependabot on behalf of GitHub. The Dependabot GitHub App is automatically installed on every repository where automated security updates are enabled.

People with access to your repository's security alerts will see a link to the relevant security alert, although other people with access to the pull request will not be able to see which vulnerablity the pull request resolves.

When you merge a pull request that contains an automated security update, the corresponding security alert is marked as resolved for your repository.

Note: Automated security updates resolve security vulnerabilities only. Automated security updates are not created to resolve vulnerabilities in private registries or packages hosted in private repositories.

Supported repositories

GitHub automatically enables automated security updates for every repository that meets these requirements.

Note: For repositories created before November 2019, GitHub has automatically enabled automated security updates if the repository meets the following criteria and has received at least one push since May 23, 2019.

Requirement More information
Repository is not a fork "About forks"
Repository is not archived "Archiving repositories"
Repository is public, or repository is private and you have enabled read-only analysis by GitHub, dependency graph, and vulnerability alerts in the repository's settings "Opting into data use for your private repository"
Repository contains dependency manifest file from a package ecosystem that GitHub supports "Supported package ecosystems"
Automated security updates are not disabled for the repository "Managing automated security updates for your repository"
Repository is not already using an integration for dependency management "About integrations"

If automated security updates are not enabled for your repository and you don't know why, you can contact support.

About compatibility scores

Automated security updates also include compatibility scores to let you know whether updating a vulnerability could cause breaking changes to your project. We look at previously-passing CI tests from public repositories where we've generated a given automated security update to learn whether the update causes tests to fail. An update's compatibility score is the percentage of CI runs that passed when updating between relevant versions of the dependency.

Managing automated security updates for your repository

You can enable or disable automated security updates for an individual repository.

Automated security updates require specific repository settings. For more information, see "Supported repositories."

  1. On GitHub, navigate to the main page of the repository.

  2. Under your repository name, click Security.

    Security tab

  3. Above the list of alerts, use the drop-down menu and select or unselect Automated security updates.

    Drop-down menu with the option to enable automated security updates

Managing automated security updates for your user account

You can disable automated security updates for all repositories owned by your user account. If you do, you can still enable automated security updates for individual repositories owned by your user account.

  1. In the upper-right corner of any page, click your profile photo, then click Settings.

    Settings icon in the user bar

  2. In the user settings sidebar, click Security.

    Security settings sidebar

  3. Under "Automated security updates", select or deselect Opt out of automated security updates.

    Checkbox to opt out of automated security updates

  4. Click Save.

Managing automated security updates for your organization

Organization owners can disable automated security updates for all repositories owned by the organization. If you do, anyone with admin permissions to an individual repository owned by the organization can still enable automated security updates on that repository.

  1. In the top right corner of GitHub, click your profile photo, then click Your profile.

    Profile photo

  2. On the left side of your profile page, under "Organizations", click the icon for your organization.

    organization icons

  3. Under your organization name, click Settings.

    Organization settings button

  4. In the organization settings sidebar, click Security.

    Security settings

  5. Under "Automated security updates", select or deselect Opt out of automated security updates.

    Checkbox to opt out of automated security updates

  6. Click Save.

Further reading

Ask a human

Can't find what you're looking for?

Contact us