I really don't like saying bad things about someone's project, but a "scanner" really really really shouldn't be making configuration changes to boxes, especially without prompting.
> * Don't use root where you don't need to - can you parse package lists / vulnerability databases as a normal user?
Yes, Vuls can scan without root on FreeBSD and Amazon Linux. If you know how to scan without root on CentOS, Debian, RHEL, Ubuntu, please let me know. I also do'nt want to use root.
> * Would the design be better inverted? Systems push their list of installed packages / versions to your application to be checked.
Not so easy.
The package version, release name is not semantic versioning format.This is a output of show package versions command on Ubuntu.