Vulsインストール · 1 min read · Sep 15, 2025
Debian 12にVuls脆弱性スキャナーをインストールして使用する方法

Vulsは、LinuxおよびFreeBSD用のエージェントレスで無料のオープンソース脆弱性スキャナーです。Vulsは主にGoで書かれており、どこでも実行できます。Vulsはクラウド、オンプレミス、Dockerで実行でき、主要なディストリビューションをサポートしています。Vulsは、NVD、JVN、OVAL、RHSA/ALAS/ELSA/FreeBSD-SAなどの複数の脆弱性データベースをサポートする高品質なスキャンを提供します。
Vulsを使用すると、複数の方法で複数のオペレーティングシステムをスキャンできます。ホストのローカルをスキャンしたり、SSH経由でリモートホスト/サーバーをスキャンしたりできます。また、ルート権限を必要としない高速スキャンと、ルート権限を必要とする深いスキャンの複数のスキャン方法を提供します。Vulsは、複数のターゲットサーバーを同時にスキャンできます。スキャンが完了すると、結果をEmailやSlackで送信できます。
このガイドでは、Debian 12サーバーにVuls脆弱性スキャナーをインストールする方法を学びます。Vulsをインストールし、CVEデータベースを設定し、ローカルシステムとリモートマシンVulsをスキャンします。
前提条件
始める前に、以下のものを用意してください:
- Debian 12サーバー
- 管理者権限を持つ非ルートユーザー
- リモートスキャンのターゲットとしてのRockyLinux/Ubuntuなどの追加サーバー
依存関係のインストール
Vulsをインストールする前に、依存関係がインストールされていることを確認する必要があります。このセクションでは、Vulsの依存関係として「debian-goodies」および「reboot-notifier」パッケージをインストールします。
まず、以下のコマンドを実行してDebianパッケージインデックスを更新します。
sudo apt update次に、以下のコマンドで「debian-goodies」および「reboot-notifier」パッケージをインストールします。インストールを確認するには「Y」と入力します。
sudo apt install debian-goodies reboot-notifier
インストーラスクリプトを使用したVulsのインストール
依存関係がインストールされたら、インストーラスクリプトを使用してVulsをインストールします。これにより、VulsとVuls用の追加ツールが自動的にコンパイルされ、システムにインストールされます。
Vulsをインストールするには、以下のコマンドを実行します。これにより、Vulsインストーラスクリプト「install.sh」がダウンロードされ、実行されます。
bash <( curl -s https://raw.githubusercontent.com/vulsio/vulsctl/master/install-host/install.sh )
インストーラスクリプトは、最新のGolangをインストールし、その後、Vuls用の「go-cti」、「go-cve-dictionary」、「goval-dictionary」、「go-exploitdb」、「go-kev」、「go-msfdb」、および「gost」などの複数のツールをコンパイルしてインストールします。



インストールが完了したら、「/usr/local/bin」ディレクトリを確認すると、Vulsとそのツールのバイナリファイルが表示されます。
ls /usr/local/bin/以下の「vuls help」コマンドでヘルプメッセージを確認できます。
vuls help次のような出力が得られます:

Vulsの設定
Vulsがインストールされたので、コンピュータやサーバーをスキャンする前に設定する必要があります。このセクションでは、Vulsインストール用の新しいディレクトリとファイルを作成します。特定のSQLiteデータベースにCVEデータベースを定義し、localhost用の最初のスキャン設定を作成します。
新しいディレクトリ「/opt/vuls」を作成し、その中に移動します。そして、「nano」エディタで新しいファイル「config.toml」を作成します。
mkdir -p /opt/vuls; cd /opt/vuls
nano config.toml以下の設定を入力して、CVEデータベースをVulsと統合します。また、最下行ではlocalhostのスキャンを定義しています。
[cveDict]
type = "sqlite3"
SQLite3Path = "/opt/vuls/cve.sqlite3"
[ovalDict]
type = "sqlite3"
SQLite3Path = "/opt/vuls/oval.sqlite3"
[gost]
type = "sqlite3"
SQLite3Path = "/opt/vuls/gost.sqlite3"
[metasploit]
type = "sqlite3"
SQLite3Path = "/opt/vuls/go-msfdb.sqlite3"
[servers]
[servers.localhost]
host = "localhost"
port = "local"
scanMode = [ "fast-root" ]
#scanMode = ["fast", "fast-root", "deep", "offline"]完了したら、ファイルを保存して終了します。
最後に、以下の「vuls」コマンドを実行して設定を確認します。
vuls configtest適切に設定されていれば、以下の出力が表示されます:

VulsでCVEデータベースを作成する
このセクションでは、Vulsツールを使用してさまざまなソースから新しいCVEデータベースを構築します。Debianセキュリティトラッカー、NVD、OVAL、およびMetasploitデータベース用のCVEデータベースを作成します。
まず、「/opt/vuls」ディレクトリに移動します:
cd /opt/vuls次に、以下のコマンドを実行して、複数のソースからCVEデータベースをダウンロードして構築します。この例では、Debianセキュリティトラッカー、NVD、OVAL、およびMetasploitデータベースからのCVEデータベースを使用します。
gost fetch debian --dbpath /opt/vuls/gost.sqlite3
go-cve-dictionary fetch nvd --dbpath /opt/vuls/cve.sqlite3
goval-dictionary fetch debian 12 --dbpath /opt/vuls/oval.sqlite3
go-msfdb fetch msfdb --dbpath /opt/vuls/go-msfdb.sqlite3
プロセスが完了すると、CVEデータベースは「/opt/vuls」ディレクトリに利用可能になります。以下のコマンドで「/opt/vuls」ディレクトリを確認します。
ls /opt/vuls/*.sqlite3Vulsでlocalhostをスキャンする
この時点で、Vulsを設定し、CVEデータベースを作成しました。これで、Vulsを使用してlocalhostまたはローカルマシンをスキャンする準備が整いました。
ローカルマシンをスキャンするには、以下の「vuls」コマンドを実行します。
vuls scan localhostプロセスが完了すると、ターミナルにシンプルな結果が表示されます。
次に、以下の「vuls tui」コマンドを実行して、スキャンレポートを詳細に表示します。
vuls tui以下に、localhostの詳細なスキャンレポートを示します。

「Ctrl+c」を押してVulsターミナルユーザーインターフェースを終了します。
Vulsでリモートサーバーをスキャンする
このセクションでは、Vulsを使用してリモートサーバーをスキャンします。この例では、ターゲットサーバーはIPアドレス「192.168.10.45」のRocky Linux 9サーバーで、ユーザーは「rock」です。
まず、以下のコマンドを実行してRedHat 9用のOVAL CVEデータベースをダウンロードします。
goval-dictionary fetch redhat 9 --dbpath /opt/vuls/oval.sqlite3
次に、新しいSSH公開鍵と秘密鍵を生成し、公開鍵をターゲットサーバーにアップロードします。この例では、ターゲットサーバーはIPアドレス「192.168.10.45」のRocky Linux 9で、SSHユーザーは「rock」です。
ssh-keygen -t ed25519
ssh-copy-id [email protected]次に、以下の「ssh」コマンドを使用してターゲットサーバーにログインし、以下のコマンドで「lsof」パッケージをインストールします。
ssh [email protected]
sudo dnf install lsof -y「exit」と入力してRocky Linuxサーバーからログアウトします。
次に、「/opt/vuls」ディレクトリに移動し、「nano」エディタで「config.toml」ファイルを編集します。
cd /opt/vuls/
nano config.toml以下の設定を挿入して、リモートシステムRocky Linux 9サーバーの新しいスキャンを作成します。また、IPアドレスとユーザーの詳細を自分の情報に変更してください。
[servers.debian-server]
host = "192.168.10.45"
port = "22"
user = "rock"
keyPath = "/root/.ssh/id_ed25519"
scanMode = [ "fast-root" ] # "fast", "fast-root" または "deep"ファイルを保存してエディタを終了します。
新しい設定で、以下のコマンドを使用して「config.toml」ファイルをテストできます。
vuls configtest
エラーがなければ、以下の「vuls」コマンドでリモートサーバーをスキャンします。
vuls scan rocky9最後に、以下の「vuls」コマンドを実行してリモートスキャンのレポートにアクセスします。
vuls tui以下に、リモートサーバーRocky Linux 9の詳細レポートを示します。

結論
おめでとうございます!Debian 12サーバーにVuls脆弱性スキャナーのインストールが完了しました。また、Vulsの追加ツールを使用してCVEデータベースを構築する方法も学びました。その後、Vulsを使用してローカルおよびリモートサーバー/マシンをスキャンする方法も学びました。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。