DependabotのPRをレビューの必要度の観点で検証する。「DependabotのPRを確認して」「Dependabotの更新は安全?」などの依頼時に使用する。
指定リポジトリのDependabot PRについてセキュリティ検証を行う。
Progress:
- [ ] Step 1: PR一覧を取得
- [ ] Step 2: セキュリティ面を確認
- [ ] Step 3: 破壊的変更を確認
- [ ] Step 4: 結果を報告
gh pr list --state open --repo OWNER/REPO --author "dependabot[bot]" --json number,title,url,createdAt
DependabotのPRが10件を超える場合はユーザーに確認件数を尋ねる。
以下の方法で更新対象パッケージの脆弱性を確認する:
curl -s -H "Content-Type: application/json" https://api.osv.dev/v1/query -d QUERY
OSVのQUERY例(エコシステムとパッケージ名を明示する):
curl -s -H "Content-Type: application/json" https://api.osv.dev/v1/query -d '{
"package": {
"name": "PACKAGE_NAME",
"ecosystem": "ECOSYSTEM"
},
"version": "X.Y.Z"
}'
エコシステムが不明な場合はユーザーに確認する。
PRタイトルからバージョン番号を抽出し、セマンティックバージョニングに基づいて判断:
gh pr view PR_NUMBER --repo OWNER/REPO --json body
Dependabotが生成するPR本文には以下の情報が含まれる:
PR本文を読み込んで破壊的変更が加えられていないかどうか確認する。
メジャーバージョンアップの場合、実際の変更内容を確認:
gh pr diff PR_NUMBER --repo OWNER/REPO
requirements.txt や pyproject.toml などの依存関係ファイルの変更を確認し、他のパッケージへの影響を評価する。
以下のテンプレートで報告する:
## Dependabot PR セキュリティレビュー結果
**リポジトリ:** OWNER/REPO
**確認日:** YYYY-MM-DD
**確認件数:** N件
### サマリ
- ✅ 承認推奨: N件
- ⚠️ 要確認: N件
- ❌ 非推奨: N件
### 各PRの詳細
#### パッケージ名 vX.X.X → vY.Y.Y
- **PR:** https://github.com/...
- **脆弱性チェック:** ✅ 既知の脆弱性なし (OSV: [ID/URL])
- **破壊的変更チェック:** ✅ 破壊的変更なし
- **補足:** エコシステム/影響範囲/判断根拠を簡潔に記載
- **判定:** ✅ 承認推奨