hound-verify — cross-distro verification for Hound Antivirus
============================================================

What this is
------------
The Hound test suite, compiled. It is READ-ONLY: it installs nothing,
starts no daemon, needs no root, and does not modify system state. It
reads /usr/bin, /bin, /usr/sbin, /proc and dpkg's package index.

Requirements
------------
x86_64, glibc 2.39 or newer — Ubuntu 24.04 and up. (The floor comes from
Rust's standard library, not from Hound.) Check with: ldd --version

How to run
----------
    chmod +x hound-verify

    # The two checks that matter, together:
    ./hound-verify rootkit rules

    # Or everything (~30s, mostly the goodware scan):
    ./hound-verify

What is actually being verified
-------------------------------
1. rootkit::tests::unowned_setuid_does_not_fire_on_a_healthy_system

   Hound flags setuid binaries that no installed package claims. It asks
   dpkg. Ubuntu's merged-/usr layout means every binary has two names
   (/bin/sudo and /usr/bin/sudo), and dpkg records some packages under
   one and some under the other. Getting this wrong makes Hound alarm on
   a clean machine.

   FAILURE OUTPUT names each binary it wrongly flagged. That is the
   useful part — please paste it.

2. rules::tests::no_false_positives_on_system_binaries

   Every Hound detection rule is scanned against every binary in
   /usr/bin, /bin and /usr/sbin. A single hit fails the build. Ubuntu
   ships binaries Linux Mint does not, so this is genuinely new ground.

   FAILURE OUTPUT names the binary and the rule. A hit means I delete
   that rule rather than tune it — a rule that flags a system binary is
   worse than no rule.

3. Everything else in the suite comes along for the ride and is a bonus
   signal: the fanotify policy tests, the capability arithmetic, the
   supply-chain detectors.

What to send back
-----------------
Either "all passed" (which is a real result — it closes the last open
criterion on the rootkit rewrite), or the assertion text of anything
that failed. The messages are written to be self-explanatory.

Thanks — Hound
