OSV-Scanner 調査レポート

プロジェクトの依存関係に含まれる脆弱性をOSV.devデータベースを利用して検出するオープンソースの脆弱性スキャナー

総合評価
83点
基準点70点からの評価
オープンソース
OSS
無料プラン
あり
最低価格
無料
対象ユーザー
開発者セキュリティエンジニア
更新頻度
🆕 最新情報: OSV-Scanner V2のリリースにより、自動修復(Guided Remediation)機能などが追加。

📋 評価の詳細

👍 加点項目

  • +5 分散型で高品質なOSV.devデータベースを利用し、誤検知が少ない。
  • +5 コンテナ、ディレクトリ、ロックファイルなど幅広いスキャン対象に対応。
  • +3 コール分析や自動修復(Guided Remediation)機能などの先進的な機能を提供。
総評: 高品質な脆弱性データベースを利用した、多機能かつ信頼性の高いオープンソース脆弱性スキャナー。

OSV-Scanner 調査レポート

1. 基本情報

  • ツール名: OSV-Scanner
  • ツールの読み方: オーエスブイスキャナー
  • 開発元: Google / OpenSSF
  • 公式サイト: https://google.github.io/osv-scanner/
  • 関連リンク:
  • カテゴリ: 開発者ツール
  • 概要: OSV-Scannerは、プロジェクトの依存関係に含まれる既存の脆弱性を検出するオープンソースのセキュリティツールです。高品質なOSV.devデータベースを活用し、誤検知を減らして実用的な警告を提供します。

2. 目的と主な利用シーン

  • 解決する課題: アプリケーションやコンテナの依存パッケージに含まれる既知の脆弱性の迅速かつ正確な特定。
  • 想定利用者: 開発者、セキュリティエンジニア、DevSecOpsチーム
  • 利用シーン:
    • CI/CDパイプラインでのソースコードやコンテナの自動脆弱性スキャン。
    • ローカル環境での依存パッケージのセキュリティ監査とライセンス確認。
    • 脆弱性の修正計画の立案と自動修復(Guided Remediation)の適用。

3. 主要機能

  • ディレクトリの再帰的スキャン: package.jsongo.modpom.xmlなどのサポートされているパッケージマニフェストやロックファイルを検出し、依存関係の脆弱性を調査します。
  • コンテナイメージのスキャン: コンテナのベースイメージや含まれるパッケージ(Alpine、Debian、Ubuntuなど)のレイヤーごとの脆弱性を検出します。
  • コール分析(Call Analysis): 脆弱性のある関数がプロジェクト内で実際に呼び出されているかを分析し、誤検知を削減します。
  • ライセンススキャン: プロジェクトの依存関係のライセンス情報をチェックし、許可されたライセンス(SPDX形式)に準拠しているか確認します。
  • オフラインスキャン: インターネット接続なしで、ローカルにダウンロードしたOSVデータベースを使用してスキャンを実行できます。
  • 自動修復機能(Guided Remediation): 依存関係の深さ、最小深刻度、修正戦略、投資対効果などの基準に基づき、パッケージバージョンのアップグレードを提案します。

4. 開始手順・セットアップ

  • 前提条件:
    • OSに対応したプレビルドバイナリのダウンロード、またはGo環境 (go install) が必要。
    • アカウント作成やクレジットカードの登録は不要。
  • インストール/導入:

    # Goを使用したインストール例
    go install github.com/google/osv-scanner/v2/cmd/osv-scanner@latest
    
  • 初期設定:
    • インストール後、特別な初期設定なしですぐにコマンドを利用可能。
  • クイックスタート:
    • カレントディレクトリをスキャンする場合:
      osv-scanner scan source -r .
      

5. 特徴・強み (Pros)

  • OSV.devデータベースの活用: OSVデータベースはオープンソースエコシステム(Gitを含む)を広くカバーしており、各アドバイザリが権威あるソースから提供されているため、高品質です。
  • 誤検知の少なさ: コール分析機能を備えており、実際に使用されている関数に基づく警告を行うため、ノイズが少なく実用的です。
  • 多様なエコシステムのサポート: npm、pip、maven、cargo、go modules、composerなど11以上の言語エコシステムと19以上のロックファイルタイプに対応しています。

6. 弱み・注意点 (Cons)

  • SaaS型一元管理機能の不在: OSSツールであるため、組織全体でのスキャン結果のダッシュボードや一元管理機能は標準では提供されていません。
  • 自動修復機能のリスク: Guided Remediation(自動修復機能)は、未信頼のプロジェクトに対して実行するとパッケージマネージャーのスクリプトがトリガーされるリスクがあるため、信頼できるコードにのみ使用する必要があります。
  • 日本語対応: UI(CLI)および公式ドキュメントは英語ベースであり、日本語による公式サポートは提供されていません。

7. 料金プラン

プラン名 料金 主な特徴
OSS版 無料 完全無料のオープンソースソフトウェア。機能制限なし。
  • 課金体系: 無料
  • 無料トライアル: 完全無料で利用可能。

8. 導入実績・事例

  • 導入企業: OpenSSFやGoogleの支援を受けており、多くのオープンソースプロジェクトで採用されています。
  • 導入事例: GitHub Actions等のCI/CDパイプラインに組み込まれ、プルリクエスト時の脆弱性チェックとして広く利用されています。
  • 対象業界: ソフトウェア開発、クラウドネイティブ技術を利用するあらゆる業界。

9. サポート体制

  • ドキュメント: 公式サイトにて、詳細なインストール手順、使用方法、機能解説が提供されています。
  • コミュニティ: GitHubリポジトリ上でのIssuesを通じた活発なディスカッションと機能要望が行われています。
  • 公式サポート: オープンソースプロジェクトであるため、専任のカスタマーサポート(SLAあり)は提供されません。

10. エコシステムと連携

10.1 API・外部サービス連携

  • API: 脆弱性情報を取得するために OSV.dev API を利用し、依存関係解決やライセンススキャンには deps.dev API を利用しています。
  • 外部サービス連携: GitHub Actions 用の公式アクション (github.com/google/osv-scanner-action 相当) が提供されており、容易にCIパイプラインに統合可能です。

10.2 技術スタックとの相性

技術スタック 相性 メリット・推奨理由 懸念点・注意点
GitHub Actions 公式アクションが提供されており、簡単にワークフローへ統合可能 特になし
Go Go製ツールであり、Goモジュールのスキャンに強力に対応 特になし
npm / Yarn JavaScriptエコシステムのロックファイル解析や修復機能に優れている 特になし
Docker レイヤーを意識したコンテナイメージのスキャンが可能 特になし

11. セキュリティとコンプライアンス

  • 認証: ツール自体の実行に認証は不要です。
  • データ管理: スキャン時、パッケージ名、バージョン、エコシステム、ファイルハッシュが OSV.dev API および deps.dev API に送信されますが、ソースコード自体は送信されません。オフラインモード (--offline) を使用することで、ネットワーク通信を完全に遮断してスキャンすることも可能です。
  • 準拠規格: 開発元のGoogleやOpenSSFのセキュリティプラクティス(SLSA Level 3 等)に準拠してリリースが行われています。

12. 操作性 (UI/UX) と学習コスト

  • UI/UX: CLIツールとして直感的で分かりやすいコマンド体系(osv-scanner scan, osv-scanner fix など)を採用しています。インタラクティブモードも備えており、修復の選択が容易です。
  • 学習コスト: 基本的なスキャンコマンドは非常にシンプルであり、ドキュメントも整備されているため、学習コストは低いです。

13. ベストプラクティス

  • 効果的な活用法 (Modern Practices):
    • CI/CDパイプラインに組み込み、コードのコミットやプルリクエストごとに自動で依存関係の脆弱性スキャンを行う。
    • オフラインモードやコール分析を活用して、環境に合わせたセキュアかつノイズの少ないスキャンを実現する。
  • 陥りやすい罠 (Antipatterns):
    • 信頼できないサードパーティのプロジェクトに対して、内容を確認せずに osv-scanner fix(自動修復)を実行してしまうこと(任意のスクリプトが実行されるリスクがあります)。

14. ユーザーの声(レビュー分析)

  • 調査対象: GitHub (スター数、Issue等の動向)
  • 総合評価: 非常に高い注目を集めている(GitHubにて約9.4kスター)
  • ポジティブな評価:
    • 「高品質なOSV.devデータベースを直接活用できるため、結果の信頼性が高い」
    • 「オフラインスキャンやライセンススキャンなど、実務で求められる機能が充実している」
    • 「誤検知が少なく、コール解析による通知が実用的」
  • ネガティブな評価 / 改善要望:
    • 「特定のニッチなパッケージマネージャーへの対応を望む声がある」
    • 「商用SaaSのようなGUIベースのダッシュボードが欲しい」
    • 「より詳細な修復ガイダンスへの改善要望」
  • 特徴的なユースケース:
    • インターネット接続が制限されたセキュアな開発環境で、オフラインデータベースを利用した脆弱性スキャンを実施する。

15. 直近半年のアップデート情報

  • 2026-03-25: v2.3.5 リリース(バグ修正および各種スキャン精度の向上)
  • 2025-12-XX: v2 ベータリリースと自動修復(Guided Remediation)機能の追加
  • 2025-10-XX: コール分析とライセンススキャン機能の強化

(出典: GitHub Releases )

16. 類似ツールとの比較

16.1 機能比較表 (星取表)

機能カテゴリ 機能項目 OSV-Scanner Trivy Grype Syft
基本機能 脆弱性スキャン
OSV.dev DB利用

コンテナ、IaC等に幅広く対応

脆弱性マッチング
×
SBOM生成特化
カテゴリ特定 コンテナスキャン
ベースOSと依存関係に対応

高機能・高速

高速なローカルスキャン
-
エンタープライズ オフライン対応
DBダウンロート可

DBのキャッシュ可

オフラインスキャン可
-
非機能要件 オープンソース
機能制限なし

OSS版あり

OSS版あり

機能制限なし

16.2 詳細比較

ツール名 特徴 強み 弱み 選択肢となるケース
OSV-Scanner OSV.devをバックエンドとする公式スキャナー 統一されたOSVフォーマットによる高品質なデータ、コール分析による誤検知削減機能 エンタープライズ向けのダッシュボードや一元管理機能がない 依存関係の脆弱性において、誤検知を減らし、かつ高品質なオープンソースデータを利用したい場合。
Trivy 幅広い対象をスキャンできる多機能スキャナー セットアップが容易で多様な対象(コンテナ、Git、IaC)を高速にスキャン可能 OSS版は同時実行やエンタープライズ機能に制限がある CI/CDでコンテナやIaCの脆弱性スキャンを簡単に自動化したい場合。
Grype 脆弱性スキャナー(Anchore製) 高速な脆弱性マッチング、Syftとの連携が強力 スキャン結果のコンテキスト情報(コール分析等)はOSV-Scannerに譲る SBOMベースで高速に脆弱性を確認したい場合。
Syft SBOM 生成ツール コンポーネントの透明性確保、SBOM生成に特化 脆弱性スキャン自体は行わない ソフトウェアの構成要素をリスト化して把握したい場合。

17. 総評

  • 総合的な評価:
    • OSV-Scannerは、GoogleやOpenSSFによって主導されるOSV.devデータベースの強みを最大限に活かした脆弱性スキャナーです。コール分析や自動修復(Guided Remediation)、オフラインスキャンなど、開発現場のニーズに応える強力な機能を備えており、オープンソースのセキュリティツールとして非常に高く評価できます。
  • 推奨されるチームやプロジェクト:
    • オープンソースライブラリを多用する開発チーム、セキュリティエンジニア、コンテナベースの開発を行っているプロジェクト。
  • 選択時のポイント:
    • オープンソースの依存パッケージの脆弱性を正確かつノイズ少なく特定したい場合にはOSV-Scannerが非常に適しています。一方、IaCのセキュリティチェックや統合的なリスク管理プラットフォームが必要な場合は、Trivyや商用のASPMツールなどとの併用を検討すると良いでしょう。