cirven systems / modules / audit
Reads your system, changes nothing, and tells you how an attacker would get in. Findings are ranked by the attack paths they open, not by checklist order: a password-accepting sshd is info when it is off, high when it listens on every interface.
$ cirven audit cirven audit · laptop [high] tcp port 8000 open on all interfaces at 0.0.0.0:8000 · python3 -m http.server 8000 path a dev file server: anyone on the same network can browse and download the directory fix bind it to 127.0.0.1, or stop it if unused [med ] ssh key has no passphrase at ~/.ssh/id_ed25519 fix ssh-keygen -p -f ~/.ssh/id_ed25519, then load it into ssh-agent [med ] secure boot disabled [low ] kernel.kptr_restrict = 0 [ok ] root filesystem encrypted (LUKS2) [ok ] screen locks after 150s idle (omarchy shell) 4 findings (1 high, 2 med, 1 low) · 12 passed · 1 skipped
--json for machines, -q for findings only. Exit code: 0 nothing above low, 1 medium, 2 high, 3 critical.
Read only, proven by a test that snapshots a fixture system before and after a run. Secrets are shown as ghp_****, never in full. Decoys planted by lure are skipped so an audit cannot trip them.
Stops: misconfigurations an attacker would use, found before they are. Does not stop: an attacker already on the machine; they can lie to any tool running beside them. For that, see watch. Without root, sudo rules and firewall rules stay unread and are reported as skipped.