No long-lived keys
With the built-in OpenBao CA, collection uses SSH certificates valid for five minutes. There are no per-server private keys to protect.
Connect a server with one command. InfraWard discovers what runs on it, finds the vulnerabilities that matter and keeps everything current on its own.
#curl -fsSL https://infraward.net/api/enroll/Lq…n0 | sudo bash[infraward] User 'inventory'[infraward] Root helper (closed list of queries)[infraward] Restricted sudoers (version 7)[infraward] InfraWard SSH CA: short-lived certificates[infraward] Notifying InfraWard[infraward] Done. InfraWard will now verify the SSH connection.4 containers, 150 packages and 487 vulnerabilities inventoried

Product tour
Real screens from a test installation with three servers and a Docker host.
Every server with what it contains: CTs and VMs, containers, images, networks and volumes, in their real hierarchy.

A graph of hosts, containers, images, networks and volumes, with critical vulnerabilities highlighted.

One row per CVE, ranked by CISA KEV, EPSS, network exposure and fix availability, with the reasons spelled out.

Open a session from the browser. Each one uses an SSH certificate signed for that session and valid for two minutes.

Console, web panel and IPMI passwords in a store the scanning workers cannot read.

How it works
Choose certificate or key access. The token is single-use and expires in minutes.
The script creates a read-only inventory user and pins the host keys. No agent stays behind.
Over SSH, with Ansible: packages, services, ports, and everything the server contains.
Trivy SBOMs, KEV and EPSS updates and scheduled reconciliation keep the picture current.
Prioritisation
Every finding gets a score from 0 to 100. Toggle the factors to see how CVE-2023-44487 (HTTP/2 Rapid Reset) on an exposed nginx container reaches the top of the list.
CVE-2023-44487
Score
100/100
Urgent
Security and control
With the built-in OpenBao CA, collection uses SSH certificates valid for five minutes. There are no per-server private keys to protect.
The database only holds references. Values live in OpenBao or are encrypted with a key kept outside it.
Five roles, sign-in through your identity provider and two-factor authentication, mandatory for administrators.
Sign-ins, enrolments, policy changes, password reveals and terminal sessions, with the source IP.
Cloudflare zones, RDAP and TLS expiry, dangling DNS records and the service behind each name.
Customisable dashboards per user and per project, read-only or role-scoped API tokens and exports.
Self-hosted and open source
InfraWard runs as a handful of containers with Docker Compose or Podman. PostgreSQL, Redis and OpenBao sit on an internal network, every container runs read-only and without privileges, and workers scale out as your estate grows.
Released under the GNU Affero General Public License v3.0. Contributions are accepted under a Contributor License Agreement.

The code is on GitHub under the AGPL-3.0. Follow the quick start to have it running in a few minutes, or read the installation guide for a production deployment.