LV.1
EXP 0/1000
โ—€ Playbook index
NO.19.3

๐Ÿค– Dependabot

In one sentence

Dependabot is GitHub's official bot that monitors your repository's dependencies.

When a vulnerability is found, it raises an alert and, when possible, automatically opens a fix PR. It also keeps stale dependencies regularly updated to newer versions.

Alerts vs Updates โ€” whatโ€™s the difference?

Dependabot has 3 distinct features. Theyโ€™re often confused, but they serve different purposes.

FeatureWhat does it do?TriggerOutput
๐Ÿšจ Security alertsNotifies you of vulnerabilities in existing dependenciesWhen a new CVE is added to the GitHub Advisory DatabaseSecurity tab + email
๐Ÿ”ง Security updatesAutomatically opens a PR to fix the vulnerabilityWhen an alert fires (automatically)PR (bumps vulnerable dep to fixed version)
โฐ Version updatesOpens PRs to keep up with new versions regardless of vulnerabilitySchedule defined in config file (daily / weekly)PR (old โ†’ latest)

๐Ÿ”‘ Alerts = detection only; Updates = creates fix PRs. Security updates are layered on top of Alerts โ€” they wonโ€™t run without Alerts enabled.

The role of the dependency graph

All of Dependabotโ€™s decisions start from the dependency graph.

  • ๐Ÿ—‚๏ธ Parses manifests and lock files โ€” reads dependency definitions from package-lock.json, requirements.txt, go.mod, pom.xml, Gemfile.lock, and more
  • ๐Ÿ”„ Resolves both direct and transitive dependencies โ€” even if you donโ€™t directly depend on lodash, itโ€™s tracked if a dependency pulls it in
  • ๐Ÿ“š Cross-references the GitHub Advisory Database โ€” matches detected dependencies against published CVEs to identify vulnerabilities
  • ๐Ÿ›‚ Supported ecosystems โ€” npm, pip, Maven, NuGet, Composer, Bundler, Go modules, Cargo, Gradle, Hex, Pub, Docker, GitHub Actions, and more

๐ŸŒ The Advisory Database aggregates vulnerability data from GitHub, the community, and MITREโ€™s CVE feeds.

Getting started (fastest path)

Step 1 โ€” Enable security alerts / updates

Repo โ†’ Settings โ†’ Code security
  โœ… Dependency graph
  โœ… Dependabot alerts
  โœ… Dependabot security updates

Just check three boxes. No config file needed โ€” it starts working immediately.

Step 2 โ€” Add .github/dependabot.yml if you want version updates

version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "monthly"
  • ๐Ÿ“ฆ Specify the ecosystem with package-ecosystem
  • ๐Ÿ“… interval: daily / weekly / monthly
  • ๐Ÿท๏ธ Use groups to batch multiple packages into a single PR, or ignore to exclude specific packages

Step 3 โ€” Enable for the whole Org / Enterprise

From Org โ†’ Settings โ†’ Code security, use default settings to apply to all repositories at once.

Eligibility and pricing

FeaturePublic repoPrivate repo (Personal / Free)Private repo (Team / Enterprise)
Dependency graphโœ… On by defaultโœ… Free (opt-in)โœ… Free
Dependabot alertsโœ… Freeโœ… Freeโœ… Free
Dependabot security updatesโœ… Freeโœ… Freeโœ… Free
Dependabot version updatesโœ… Freeโœ… Freeโœ… Free

๐Ÿ’ฐ Dependabot itself is completely free on every plan. No GitHub Advanced Security license required.
โš™๏ธ Version update Dependabot jobs run on GitHub-hosted runners โ€” free for public repos; private repos consume the standard Actions free tier (pay-as-you-go when exceeded).