GitHub Dependabot セキュリティアップデートの設定ガイド
Node.js / Python / Ruby など、ライブラリ依存が多い現代の開発において、「知らない間に脆弱なバージョンを使っていた」 というのは、よくある話です。
そんなときに便利なのが、GitHub が提供している Dependabot セキュリティアップデート 機能です。
Dependabotって何?
GitHub に組み込まれている Dependabot は、依存関係にセキュリティ脆弱性があった場合に、自動で修正PRを送ってくれる機能です。
脆弱性発見 → 該当ライブラリ検出 → 修正版に更新PRを作成
✅ 放置してたパッケージに気付ける
✅ 修正PRは自動生成される
✅ GitHub上でレビュー&マージできる
セキュリティアップデートとバージョンアップの違い
GitHub Dependabot には2つの用途があります:
機能 | 目的 |
---|---|
セキュリティアップデート | 脆弱性を含むパッケージの修正 |
バージョンアップデート | パッケージの通常のアップデート |
今回はセキュリティアップデートの方に焦点を当てます。
設定方法(.github/dependabot.yml
)
セキュリティアップデートを使うには、リポジトリに以下のファイルを追加します:
.github/dependabot.yml
✅ 最小構成(セキュリティアップデートのみ)
version: 2
updates:
- package-ecosystem: npm
directory: "/"
schedule:
interval: weekly
allow:
- dependency-type: "direct"
open-pull-requests-limit: 5
security-updates: true
項目の説明
項目 | 説明 |
---|---|
package-ecosystem |
使用しているパッケージマネージャー(例:npm, pip, bundler) |
directory |
パッケージファイルのディレクトリ(通常は / ) |
schedule.interval |
チェック頻度(daily , weekly , monthly ) |
security-updates: true |
セキュリティ脆弱性が見つかったときに自動PRを出す |
実際のPR例(イメージ)
Dependabot は以下のような PR を作成します:
fix: bump axios from 0.21.1 to 0.21.4 (security fix)
PRには CVE(Common Vulnerabilities and Exposures)番号付きで、どんな脆弱性が解消されるかも説明されているので安心してレビュー可能です。
注意点・ベストプラクティス
1. CI が通るようにしておく
→ Dependabot PRが出たとき、自動テストでマージ可否がすぐ分かるようにしておくと効率的。
2. マージフローを整備しておく
→ セキュリティアップデートはなるべく速やかにマージしたい。
auto-merge
ラベルを設定して GitHub Actions で自動マージも可能。
3. monorepo / 複数パッケージも対応可能
→ directory
を指定すれば apps/
や packages/
の下にも対応。
補足:エコシステムごとの対応一覧
エコシステム | 説明 |
---|---|
npm |
JavaScript / TypeScript 用 |
pip |
Python 用 |
bundler |
Ruby 用 |
composer |
PHP 用 |
cargo |
Rust 用 |
docker |
Dockerfile のベースイメージ |
github-actions |
GitHub Actions の依存バージョン |
今すぐ入れたい最小限のセキュリティ対策
- Dependabot のセキュリティアップデートは 0コストで始められる安心機能
-
.github/dependabot.yml
に数十行追加するだけ - セキュリティリスクの「知らなかった」をなくせる
Next.jsプロジェクトに追加するならこの形
version: 2
updates:
- package-ecosystem: npm
directory: "/"
schedule:
interval: weekly
open-pull-requests-limit: 5
security-updates: true
✅
.env.local
などに依存せずPR作成可能
✅ CIにGitHub Actionsを使っていれば、即テストが走る
リンク集
おわりに
セキュリティ対策は、「やらないとまずい」と分かっていても、後回しにしがち。でも、DependabotのセキュリティアップデートはGitHub上で数分でセットアップできて、あとは放置でOKです。
「いつかやろう」じゃなくて、今 .github/dependabot.yml
を作ってみることから始めてみてください。
記事を気に入っていただけたら、いいねやシェアしてもらえると嬉しいです!
ご質問・追加Tipsなどはコメント欄へどうぞ!