Agentless SSH host inventory

"Agentless" is a word vulnerability scanners throw around a lot. What it actually means in practice — and what tradeoffs it comes with — is more interesting than the marketing usually admits.

What "agentless" really means

An agent-based scanner installs a process on every host it monitors. The agent does the heavy lifting locally and reports results upstream.

An agentless scanner connects to each host the same way you do — over SSH — runs read-only commands, parses the output, and walks away. Nothing is installed. Nothing keeps running. The target host never knows the scanner exists outside the normal SSH log lines.

What gets read

A typical agentless inventory reads a small, well-known set of files and queries the package manager. The exact set varies by distro, but generally:

That's enough to derive: which packages have known CVEs, whether SSH posture is hardened, and whether anyone has authorised keys they shouldn't.

The case for agentless

The case against agentless

Where agentless fits the homelab perfectly

Homelab fleets are small (single digits to tens of hosts), the operator already has SSH access to everything, and real-time telemetry is overkill. The bottleneck isn't "we don't have second- by-second data" — it's "no one's looking until something breaks."

Nightly agentless scans paired with a diff-from-yesterday view cover that gap. Every morning you see what changed. Most days that's nothing. The day a CVE lands on a package you have installed, you see it before lunch.

What Noxen does

Noxen runs on your Mac. You point it at your hosts (it imports from ~/.ssh/config automatically). It connects via SSH, reads the inventory, matches it against a daily-refreshed CVE feed, and produces a nightly report.

No agent on the targets. No "install Noxen on each box." No always-on listener. Add and remove hosts in a single click. If you can SSH into a box, Noxen can audit it.