LV.1
EXP 0/1000
◀ 用語一覧
NO.19.3

🤖 Dependabot

一言で

Dependabot は、リポジトリの依存関係を監視する GitHub 公式 bot。

脆弱性が見つかれば アラート を出し、可能なら 修正 PR を自動作成。古くなった依存も定期的に新バージョンへ更新してくれる。

Alerts と Updates の違い

Dependabot は 3 つの機能 に分かれている。よく混同されるが、役割が異なる。

機能何をする?トリガー出力
🚨 Security alerts既存依存の脆弱性を通知GitHub Advisory Database に新規 CVE が登録された時Security タブ + メール
🔧 Security updates脆弱性を直す PR を自動作成アラート発生時(自動的に)PR(脆弱性 → 修正版に上げる)
Version updates脆弱性に関係なく新バージョンへ追従する PR設定ファイルのスケジュール(daily / weekly)PR(古い → 最新)

🔑 Alerts = 検知だけ、Updates = 修正 PR まで作る。Security updates は Alerts に乗っかって動く(Alerts 無しでは動かない)。

Dependency graph の役割

Dependabot のすべての判断は Dependency graph が出発点。

  • 🗂️ マニフェストとロックファイルを解析 — package-lock.jsonrequirements.txtgo.modpom.xmlGemfile.lock など各エコシステムの依存定義を読む
  • 🔄 直接 + 推移的依存 の両方を解決 — lodash を直接入れていなくても、依存先が引っ張っていれば追跡対象
  • 📚 GitHub Advisory Database と照合 — 検出された依存と公開済み CVE を突き合わせて脆弱性を判定
  • 🛂 対応エコシステム — npm, pip, Maven, NuGet, Composer, Bundler, Go modules, Cargo, Gradle, Hex, Pub, Docker, GitHub Actions ほか

🌍 Advisory Database は GitHub・コミュニティ・MITRE の CVE フィードから集約された脆弱性データベース。

始め方(最短ルート)

Step 1 — Security alerts / updates を ON

Repo → Settings → Code security
  ✅ Dependency graph
  ✅ Dependabot alerts
  ✅ Dependabot security updates

3 つチェックを入れるだけ。設定ファイル不要 で動き出す。

Step 2 — Version updates を使うなら .github/dependabot.yml を追加

version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "monthly"
  • 📦 package-ecosystem でエコシステム指定
  • 📅 interval: daily / weekly / monthly
  • 🏷️ groups でまとめて 1 つの PR にしたり、ignore で特定パッケージを除外可

Step 3 — Org / Enterprise で一括 ON にしたい場合

Org → Settings → Code security から default settings で全リポジトリに適用できる。

利用条件と料金

機能Public repoPrivate repo(個人 / Free)Private repo(Team / Enterprise)
Dependency graph✅ デフォルト ON✅ 無料(opt-in)✅ 無料
Dependabot alerts✅ 無料✅ 無料✅ 無料
Dependabot security updates✅ 無料✅ 無料✅ 無料
Dependabot version updates✅ 無料✅ 無料✅ 無料

💰 Dependabot 本体は どのプランでも完全無料。GitHub Advanced Security ライセンスは不要。
⚙️ Version updates の Dependabot ジョブは GitHub-hosted runner で実行され、public repo は無料、private repo は Actions の通常無料枠を消費(超過時は従量課金)。