Vuls

An agentless vulnerability scanner that checks the packages installed on a server and lists the ones affected by known CVEs.

cat vuls/meta.ymlChecked on 2026-10-24

Safety

Impact Reaches othersSees other people's traffic or sends traffic to their devices
Admin rights
Not required
Test lab
Not required

Usage

Purpose
Defense
Difficulty
Intermediate
Type
Command line
Platforms
Linux / Docker

Trust

Repository
future-architect/vuls
License
CopyleftGPL-3.0
GitHub
stars12,3022026-10-25
Maintenance
Actively updatedLast update 2026-10-21
Contents
  1. Introduction
  2. What Vuls is for
  3. Three ways to scan
  4. Try it safely with a local scan
  5. Read the results
  6. Choose how heavy the scan is
  7. Cautions
  8. Read next
  9. Sources

Vuls checks the packages installed on a server and tells you which ones have known vulnerabilities. It is open source software that started at Future Architect in Japan, and it can also use JVN, Japan’s vulnerability database.

This review is for people who run their own Linux servers. After reading it, you can do the following:

  • Scan your own Linux machine without SSH
  • Read the results as a list or in a terminal UI
  • Understand how Vuls scans other servers over SSH

What Vuls is for

The official README describes Vuls this way:

  • It tells you which vulnerabilities affect your systems
  • It tells you which servers are affected
  • It detects vulnerabilities automatically, so nothing gets overlooked
  • It can produce reports on a schedule with cron or similar tools

Vuls uses NVD, JVN, and each distribution’s OVAL data, among other sources. The official support table lists Linux distributions such as Ubuntu, Debian, RHEL, AlmaLinux, Rocky Linux, and Amazon Linux, plus FreeBSD, Windows, and macOS as scan targets. Check the table for supported versions.

What it doesn’t doVuls does not update packages. It reports which packages have known vulnerabilities, and you decide whether to apply updates. It also does not try to break into anything by exploiting weaknesses.

Three ways to scan

The official docs describe three scan methods.

Method How it works Good for
Remote scan One machine running Vuls connects to each target over SSH and runs commands Checking many servers from one place
Local scan Vuls runs on the target itself and issues commands locally, without SSH When you don’t want a central server to SSH into targets
Server mode Vuls listens as an HTTP server, and targets send their collected software information over HTTP When you don’t want a scanner on the targets

Remote scans don’t support SSH password authentication. Set up key-based authentication and add each target’s host key to known_hosts before scanning.

Try it safely with a local scan

Start with one Linux machine of your own, or a virtual machine you built. A local scan doesn’t connect to other servers, so you can’t hit the wrong target.

  1. Follow the official guide to install with vulsctl on the host and run sudo bash install.sh. Read the script before you run it.

  2. Fetch the vulnerability databases with update-all.sh. Fetching everything takes a long time, so the docs recommend fetching only what you need.

  3. Create config.toml in your home directory with the following content. port = "local" selects local scan mode.

    [servers]
    
    [servers.localhost]
    host = "localhost"
    port = "local"
  4. Run vuls configtest to check the configuration and the environment.

  5. Run vuls scan to scan.

  6. Run vuls report -format-list to see the results.

Read the results

vuls report has options for the output format. These come from the official tutorial.

Command Shows
vuls report -format-one-line-text One line per server with counts
vuls report -format-list A list of CVE IDs and severities
vuls report -format-full-text Details and reference URLs for each CVE
vuls report -format-list -lang ja The list using Japanese information
vuls tui A terminal screen for browsing results

Each CVE in the list comes with a CVSS score. Start with the highest scores and consider updating any packages that have fixes available.

Choose how heavy the scan is

The scanMode setting in config.toml controls the load on the target and the privileges needed.

  • fast scans without root privileges and puts almost no load on the target
  • fast-root scans with root privileges, also with almost no load
  • offline works with fast or fast-root to scan servers that have no internet access

Cautions

  • Only connect over SSH to servers you manage or have written permission to scan. A typo in host in config.toml sends connections to an unrelated machine.
  • An SSH key used for scanning often has access to many servers. Create a dedicated key and user for scanning.
  • The official site links to Japanese pages, but as of October 24, 2026, many of them did not load. This review is based on the English documentation.
  • Refresh the vulnerability databases regularly. Otherwise new CVEs won’t appear in your results.

Sources

  1. Official repository READMEgithub.com/future-architect/vuls
  2. Docs: Supported OSvuls.io/docs/en/supported-os.html
  3. Docs: Remote, Local, One-liner scanvuls.io/docs/en/architecture-remote-local.html
  4. Docs: Tutorial - Local Scan Modevuls.io/docs/en/tutorial-local-scan.html
  5. Docs: Tutorial - Remote Scan Modevuls.io/docs/en/tutorial-remote-scan.html
  6. Docs: Install with vulsctl on hostvuls.io/docs/en/install-with-vulsctl-host.html
  7. Docs: Scan modes (fast, fast-root, offline)vuls.io/docs/en/architecture-fast-deep.html

Checked on 2026-10-24

Similar tools

OSV-Scanner

Impact Local only
google/osv-scanner

A command-line tool from Google that reads your project's dependencies and checks them against the OSV.dev vulnerability database.

Purpose
Defense
Type
Command line
Difficulty
Beginner
License
PermissiveApache-2.0
Category
Vulnerability scanning
Actively updatedstars11,264Last update 2026-10-24
Read the OSV-Scanner review

Trivy

Impact Local only
aquasecurity/trivy

A scanner that finds vulnerabilities, misconfigurations, and embedded secrets in container images, code, and Kubernetes.

Purpose
Defense
Type
Command line
Difficulty
Beginner
License
PermissiveApache-2.0
Category
Vulnerability scanning / Containers and cloud
Actively updatedstars38,703Last update 2026-10-23
Read the Trivy review

Wazuh

Impact Local only
wazuh/wazuh

A free security platform (SIEM/XDR) that collects logs, configuration, and vulnerability data from agents on your endpoints and shows it all in one dashboard.

Purpose
Defense
Type
Self-hosted server
Difficulty
Advanced
License
CopyleftGPL-2.0(一部の構成要素は Apache-2.0)
Category
Vulnerability scanning / Forensics
Actively updatedstars17,410Last update 2026-10-24
Read the Wazuh review