enodia-sentinal/enodia_sentinel
Luna 1de5e86fed Add signed-package verification and anti-rootkit cross-view (v0.7)
Closes the tamper-evidence loop with two trust anchors the attacker can't
forge from userland:

- pkgdb Layer 2: verify on-disk files against the .MTREE in the *signed*
  cache package, surviving a rewritten local checksum DB. Rotating-sample
  cadence keeps it affordable; flags pkg_signature_mismatch (sid 100027)
  and SigLevel downgrades (sid 100026). Fixes parse_mtree, which required
  type=file on every line and so matched nothing on real pacman MTREEs
  (which use a /set type=file default with bare file entries).
- rootcheck: anti-rootkit cross-view — hidden processes, modules, ports,
  and promiscuous interfaces, each caught by diffing two views of the
  same state (sids 100022-100025).

Wired both through config, the daemon (off-loop slow cadence), and CLI
(pkgdb-verify, rootcheck). 14 new tests (95 total). Docs + version bump.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-01 05:42:57 -07:00
..
detectors Add false-positive triage via package-ownership provenance 2026-05-31 22:05:00 -07:00
events Add event-driven eBPF execve layer with a Snort-style rule engine 2026-05-31 07:16:53 -07:00
notify Add read-only web dashboard and phone push notifications 2026-05-31 16:18:00 -07:00
static Add tamper-evidence: package-DB integrity, self-integrity, dead-man's switch 2026-05-31 22:27:50 -07:00
__init__.py Add signed-package verification and anti-rootkit cross-view (v0.7) 2026-06-01 05:42:57 -07:00
alert.py Add event-driven eBPF execve layer with a Snort-style rule engine 2026-05-31 07:16:53 -07:00
cli.py Add signed-package verification and anti-rootkit cross-view (v0.7) 2026-06-01 05:42:57 -07:00
config.py Add signed-package verification and anti-rootkit cross-view (v0.7) 2026-06-01 05:42:57 -07:00
daemon.py Add signed-package verification and anti-rootkit cross-view (v0.7) 2026-06-01 05:42:57 -07:00
fim.py Add file integrity monitoring (Tripwire-style), auto-refreshed via pacman hook 2026-05-31 22:18:42 -07:00
netutil.py Relicense under GPL-3.0-or-later 2026-05-31 06:52:34 -07:00
pkgdb.py Add signed-package verification and anti-rootkit cross-view (v0.7) 2026-06-01 05:42:57 -07:00
provenance.py Add false-positive triage via package-ownership provenance 2026-05-31 22:05:00 -07:00
rootcheck.py Add signed-package verification and anti-rootkit cross-view (v0.7) 2026-06-01 05:42:57 -07:00
selfprotect.py Add tamper-evidence: package-DB integrity, self-integrity, dead-man's switch 2026-05-31 22:27:50 -07:00
snapshot.py Add read-only web dashboard and phone push notifications 2026-05-31 16:18:00 -07:00
system.py Relicense under GPL-3.0-or-later 2026-05-31 06:52:34 -07:00
triage.py Add false-positive triage via package-ownership provenance 2026-05-31 22:05:00 -07:00
web.py Add tamper-evidence: package-DB integrity, self-integrity, dead-man's switch 2026-05-31 22:27:50 -07:00