Vuls

サーバーに入っているパッケージを調べ、既知の脆弱性(CVE)に当たるものを一覧にする脆弱性スキャナー。エージェントを入れずに使えます。

cat vuls/meta.yml確認日 2026-10-24

安全性

影響範囲 外に届く他人の通信を見る、または他人の機器へ通信を送る
管理者権限
不要
検証環境
不要

使い方

用途
防御
難易度
中級
形態
コマンドライン
対応環境
Linux / Docker

信頼性

リポジトリ
future-architect/vuls
ライセンス
条件つきGPL-3.0
GitHub
スター12,3022026-10-25 時点
メンテ状況
更新が続いている最終更新 2026-10-21
目次
  1. はじめに
  2. Vuls でできること
  3. 3 つのスキャン方法
  4. 安全な試し方:自分のマシンをローカルスキャンする
  5. 結果を読む
  6. スキャンの重さを選ぶ
  7. 注意点
  8. 次に読む
  9. 出典

Vuls は、サーバーにインストールされているパッケージを調べ、既知の脆弱性に当たるものを教えてくれるツールです。日本のフューチャーアーキテクトで生まれた OSS で、日本の脆弱性データベース JVN の情報も使えます。

この記事は、Linux サーバーを自分で管理している人に向けています。読み終えると、次のことができるようになります。

  • 自分の Linux マシンを SSH なしでスキャンする
  • 結果を一覧やターミナル画面で読む
  • SSH で別のサーバーをスキャンする仕組みを理解する

Vuls でできること

公式 README では、Vuls の役目を次のように説明しています。

  • システムに関係する脆弱性を知らせる
  • どのサーバーが影響を受けるかを知らせる
  • 検出を自動化して、見落としを防ぐ
  • cron などで定期的にレポートを作る

脆弱性の情報源には NVD と JVN、各ディストリビューションの OVAL などを使います。スキャン対象として、公式の対応表には Ubuntu、Debian、RHEL、AlmaLinux、Rocky Linux、Amazon Linux などの Linux のほか、FreeBSD、Windows、macOS が載っています。対応しているバージョンは対応表で確かめてください。

しないことVuls はパッケージを更新しません。どのパッケージに既知の脆弱性があるかを報告するだけで、アップデートを当てるかどうかは自分で判断します。また、相手の弱点を突いて侵入を試すツールでもありません。

3 つのスキャン方法

公式ドキュメントは、スキャンの方法を 3 つに分けています。

方法 仕組み 向いている場面
リモートスキャン Vuls を入れた 1 台から、対象サーバーへ SSH でつないでコマンドを実行する 1 台から複数のサーバーをまとめて見る
ローカルスキャン 対象サーバーに Vuls を置き、SSH を使わずにその場でコマンドを実行する 中央から SSH でつなぎたくない
サーバーモード Vuls を HTTP サーバーとして起動し、対象サーバーが集めたソフトウェア情報を HTTP で送る 対象サーバーにスキャナーを置きたくない

リモートスキャンでは、SSH のパスワード認証は使えません。鍵認証を設定し、対象サーバーのホスト鍵を事前に known_hosts に登録しておきます。

安全な試し方:自分のマシンをローカルスキャンする

最初は、自分の Linux マシン(または自分で作った仮想マシン)1 台だけを対象にします。外部のサーバーにはつながないので、相手を間違える心配がありません。

  1. 公式の vulsctl でホストに入れる手順に従い、sudo bash install.sh で Vuls を入れます。スクリプトの中身は実行前に読んでおきます。

  2. update-all.sh で脆弱性データベースを取得します。全部取ると時間がかかるので、公式は必要なものだけ取るよう勧めています。

  3. ホームディレクトリに config.toml を作り、次のように書きます。port = "local" がローカルスキャンの指定です。

    [servers]
    
    [servers.localhost]
    host = "localhost"
    port = "local"
  4. vuls configtest で設定と環境を確かめます。

  5. vuls scan でスキャンします。

  6. vuls report -format-list で結果の一覧を表示します。

結果を読む

vuls report には出力形式を選ぶオプションがあります。公式のチュートリアルに載っているものを挙げます。

コマンド 表示されるもの
vuls report -format-one-line-text サーバーごとの件数を 1 行で
vuls report -format-list CVE 番号と深刻度の一覧
vuls report -format-full-text 各 CVE の詳しい説明と参考 URL
vuls report -format-list -lang ja 一覧を日本語の情報で
vuls tui ターミナル上で結果を行き来して読む画面

一覧には CVE 番号ごとに CVSS のスコアが付きます。数字が大きいものから確かめ、更新できるパッケージがあればアップデートを検討します。

スキャンの重さを選ぶ

config.toml の scanMode で、対象サーバーへの負荷と必要な権限を選べます。

  • fast:root 権限なしで、対象サーバーにほとんど負荷をかけずにスキャンします
  • fast-root:root 権限でスキャンします。こちらも負荷はほとんどかかりません
  • offline:fast や fast-root と組み合わせて、インターネットにつながらないサーバーをスキャンします

注意点

  • リモートスキャンで SSH 接続してよいのは、自分が管理するサーバーか、書面で許可を得たサーバーだけです。config.toml の host を書き間違えると、無関係な機器へ接続しにいきます。
  • スキャン用の SSH 鍵は、ほかのサーバーにも入れる強い鍵になりがちです。スキャン専用の鍵とユーザーを用意してください。
  • 公式サイトには日本語版ページへのリンクがありますが、2026 年 10 月 24 日時点では多くの日本語ページが表示されませんでした。この記事は英語版のドキュメントをもとにしています。
  • 脆弱性データベースは定期的に取り直さないと、新しい CVE が結果に出ません。

次に読む

出典

  1. 公式リポジトリ READMEgithub.com/future-architect/vuls
  2. 公式ドキュメント:対応 OSvuls.io/docs/en/supported-os.html
  3. 公式ドキュメント:リモート・ローカル・サーバーの各モードvuls.io/docs/en/architecture-remote-local.html
  4. 公式ドキュメント:ローカルスキャンのチュートリアルvuls.io/docs/en/tutorial-local-scan.html
  5. 公式ドキュメント:リモートスキャンのチュートリアルvuls.io/docs/en/tutorial-remote-scan.html
  6. 公式ドキュメント:vulsctl でホストに入れるvuls.io/docs/en/install-with-vulsctl-host.html
  7. 公式ドキュメント:fast / fast-root / offline の各スキャンvuls.io/docs/en/architecture-fast-deep.html

確認日 2026-10-24

似たツール

OSV-Scanner

影響範囲 手元だけ
google/osv-scanner

プロジェクトが使っている依存ライブラリを読み取り、OSV.dev の脆弱性データベースと照らし合わせる Google 製のコマンドラインツール。

用途
防御
形式
コマンドライン
難易度
初級
ライセンス
自由に使えるApache-2.0
分類
脆弱性スキャン
更新が続いているスター11,264最終更新 2026-10-24
OSV-Scannerの解説を読む

Trivy

影響範囲 手元だけ
aquasecurity/trivy

コンテナイメージやコード、Kubernetes の脆弱性・設定ミス・埋め込まれた秘密情報を見つけるスキャナー。

用途
防御
形式
コマンドライン
難易度
初級
ライセンス
自由に使えるApache-2.0
分類
脆弱性スキャン/コンテナ・クラウド
更新が続いているスター38,703最終更新 2026-10-23
Trivyの解説を読む

Wazuh

影響範囲 手元だけ
wazuh/wazuh

端末に入れたエージェントからログや設定、脆弱性の情報を集め、1 つの画面で監視できる無料のセキュリティ基盤(SIEM/XDR)。

用途
防御
形式
サーバーで動かす
難易度
上級
ライセンス
条件つきGPL-2.0(一部の構成要素は Apache-2.0)
分類
脆弱性スキャン/フォレンジック
更新が続いているスター17,410最終更新 2026-10-24
Wazuhの解説を読む