「依存の脆弱性、何でスキャンすればいい? Dependabot で足りる? Snyk を買うべき? Trivy で十分?」——セキュリティ予算と体制の相談で必ず出る問いです。これらはすべて SCA(Software Composition Analysis:ソフトウェア構成分析) ツールですが、役割と強みが違います。
この記事はDependabot 本番運用ガイドクラスタの技術選定編です。Dependabot vs Renovateが「更新ボットの比較」だったのに対し、こちらは「**脆弱性スキャナ(SCA)**の比較」——別の軸であることに注意してください。
この記事のルール:各ツールの事実は公式ドキュメントと2026年時点の比較情報に基づきます。ツールは進化が速いため、選定前に各公式で最新を確認してください。出典は記事末尾に明記します。
0. SCA の比較軸:何を見るか
SCA ツールは7つの軸で性格が分かれます。
- 検知DB:GitHub Advisory / NVD / OSV / 独自DB のどれを使うか
- 修正の自動化:脆弱性を見つけるだけか、修正PRまで開くか
- reachability 解析:脆弱関数を実際に呼んでいるかまで見るか(ノイズ削減)
- 対応範囲:依存だけか、コンテナ/IaC/シークレットまで見るか
- CI 連携:CLI で CI に組み込みやすいか
- SBOM:CycloneDX / SPDX を出力できるか
- 料金・運用:無料か、ダッシュボード・監査履歴・統制があるか
1. 比較表
| ツール | 種別 | 検知DB | 修正PR | reachability | コンテナ/IaC | 料金 |
|---|---|---|---|---|---|---|
| Dependabot | GitHubネイティブ | GitHub Advisory | ✓ 自動 | ✗ | ✗(依存中心) | 無料 |
| Snyk | 商用 | 独自DB | ✓ | ✓ | ✓ | フリーは制限・有料は開発者数課金 |
| Trivy | OSS CLI | NVD/OSV/GHSA | ✗ | ✗ | ✓(SCA+コンテナ+IaC+secret) | 無料 |
| Grype | OSS CLI | 複数 | ✗ | ✗ | ✓(イメージ中心) | 無料 |
| OSV-Scanner | OSS CLI | OSV | ✗ | △ | △ | 無料 |
| OWASP Dependency-Check | OSS | NVD(CPE) | ✗ | ✗ | ✗ | 完全無料 |
| npm audit / pip-audit | エコシステム純正 | GHSA/PyPI | △ | ✗ | ✗ | 無料 |
「修正PR」を自動化するのは実質 Dependabot(と更新ボット)です。Trivy/Grype/OSV-Scanner/Dependency-Check は検知に特化したスキャナで、修正は別途行います。ここが選定の最大の分かれ目です。
2. それぞれの性格
2.1 Dependabot — 検知+修正を GitHub ネイティブに
GitHub 組み込み、ゼロ設定で無料。GitHub Advisory Database で脆弱な依存を検知し、修正PRを自動で開くのが最大の強み。検知して終わりではなく直すところまで自動化されます。GitHub を使うなら、まずこれを土台にすべきです(詳細は本クラスタの各ガイド)。
2.2 Snyk — 独自DB・reachability・修正ガイドの商用
商用ツールの代表。独自の脆弱性DBと reachability 解析(脆弱な関数を実際にコードが呼ぶかを判定)で、アラート量を大幅に削減できます。修正ガイド・ダッシュボード・担当割り当て・監査履歴など、継続監視と統制の機能が充実。フリープランは private リポジトリのスキャンに制限があり、エンタープライズは開発者数でスケールします。「ノイズを減らしたい」「統制・監査が要る」組織向け。
2.3 Trivy / Grype — OSS の万能スキャナ
Trivy は1つの CLI で SCA+コンテナイメージ+IaC+Kubernetes マニフェスト+シークレットをスキャンでき、数秒で走る。Python/JS/Go では Snyk と近い検知精度という評価もあります。Grype は Trivy の近い代替で、両方を CI で併用してカバレッジを広げるチームもあります。CI に組み込む検知エンジンとして鉄板。
2.4 OSV-Scanner / OWASP Dependency-Check / npm audit
- OSV-Scanner:Google の OSV データベースを使い、エコシステム固有のマッチングで誤検知が少ない。
- OWASP Dependency-Check:完全無料・無制限、コンプライアンス向けの HTML レポートと CycloneDX 形式の SBOM 生成が強み。ただし CPE ベースのマッチングで誤検知が多め、GitHub/ベンダー由来のアドバイザリを取りこぼすことがある。
- npm audit / pip-audit:エコシステム純正で追加導入なしに CI で回せる。手軽な一次フィルタに。
3. reachability 解析:ノイズを劇的に減らす
SCA の最大の悩みは誤検知(届かない脆弱性)です。「依存に CVE がある」と「その脆弱な関数を自分のコードが実際に呼ぶ」は別問題。reachability 解析は後者まで判定し、アラート量を70〜90%削減できるとされます。これは Snyk や Endor Labs など商用ツールの主要な差別化です。
逆に言えば、Dependabot や多くの OSS スキャナは「使っているかに関わらず、脆弱な依存があれば知らせる」立場。だからこそauto-triage rules(開発依存の低影響を自動 dismiss 等)で運用側でノイズを抑える設計が効きます。
4. 役割分担:検知と修正は“別の仕事”
ここが本質です。多くの現場の最適解は1つに絞ることではなく、併用です。
検知(scan) :Trivy / Snyk / OSV-Scanner — 広く深く脆弱性を見つける
修正(update PR) :Dependabot — 見つかった依存を自動でPR化して直す
ゲート(CI block) :PR時に新規の脆弱依存を入れさせない(dependency-review 等)
実務的な推奨構成:
- Dependabot で alerts/security updates/version updates を回し、継続的に直す。
- Trivy(または Snyk) を CI に入れ、コンテナ/IaC まで含めて深く検知する。
- PR ゲートで新規の脆弱依存の流入を止める(シフトレフト)。
「Dependabot で直し、Trivy/Snyk で診る」——これが速さ(自動修正)と網羅性(深い検知)を両取りする形です。
5. SCA ≠ SAST/DAST(守備範囲を取り違えない)
SCA は**依存(他人が書いたライブラリ)**の既知脆弱性を見ます。あなたが書いたコードの脆弱性——SQLインジェクション・XSS・SSRF・認可不備(IDOR)——は SAST/DAST の領域で、SCA では見つかりません。
- SCA(Dependabot/Snyk/Trivy):依存の CVE。
- SAST(静的解析):自作コードの脆弱なパターン。
- DAST(動的診断):稼働中アプリへの実際の攻撃シミュレーション。
3つは補完関係です。詳細はWebアプリ脆弱性診断(SAST/DAST/SCA)の実践ガイド、AI生成コードのリスクはAI生成コードの脆弱性評価ガイドで扱っています。「Dependabot を入れたから安全」は、SCA の範囲では正しいが全体では半分——この線引きを発注者へ説明できることが信頼です。
6. 状況別の選定フロー
- GitHub を使い、まず継続的に依存を直したい → Dependabot(土台。ゼロ設定・無料・修正PR)
- コンテナ/IaC まで含めて CI で深く検知したい → Trivy(無料・高速・万能)を追加
- ノイズを reachability で減らしたい・統制/監査/ダッシュボードが要る → Snyk(商用)を検討
- コンプラ向けの SBOM とレポートが要る → OWASP Dependency-Check(CycloneDX SBOM)
- 追加導入なしの一次フィルタ → npm audit / pip-audit を CI に
私の実務的な既定:「Dependabot(修正)+ Trivy(検知)」を無料で組み、足りなくなったら Snyk を足す。最初から商用を入れるより、無料の併用で土台を作り、reachability や統制が本当に要ると分かってから有料へ——という順序が、コスト効率と確実性のバランスを取ります(YAGNI)。
7. FAQ
Q. Dependabot だけでは不十分ですか? A. 依存の継続的な修正としては強力です。ただしコンテナ/IaC の深い検知や reachability は守備範囲外。Trivy(無料)を併用し、必要なら Snyk を足すのが定石です。
Q. Trivy と Dependabot は競合しますか? A. しません。Trivy は検知、Dependabot は修正PRで役割が違います。併用が自然です。
Q. Snyk は買う価値がありますか? A. reachability によるノイズ削減、修正ガイド、ダッシュボード、監査履歴が要る組織には価値があります。小規模で無料運用が回るうちは Dependabot+Trivy で十分なことも多いです。
Q. SCA があれば SAST/DAST は要りませんか? A. 要ります。SCA は依存、SAST/DAST は自作コードを見ます。守備範囲が違うので併用が必要です。
Q. SBOM を出したいのですが。 A. OWASP Dependency-Check や Trivy(Syft 連携)が CycloneDX/SPDX を出せます。コンプライアンス要件があるなら SBOM 生成を選定軸に加えてください。