etminan
Comparison

Etminan vs. AIDE, Tripwire, and Samhain.

A structural difference, not just a feature list. AIDE, Tripwire, and Samhain are mature, hardware-independent file-integrity checkers — all three share one weak point: the checksum database and the alarm both live on the box being watched. Etminan trades that for a hardware trust anchor (TPM 2.0 + Linux IMA) at a real cost in maturity and platform breadth. Below is where that trade genuinely wins, where it honestly doesn't yet, and a feature-by-feature table.

01 — Core architectural difference

Where does the check actually run?

Every one of these tools answers "has this file changed" — the difference is where the comparison logic itself executes, and therefore what a full root compromise on the monitored host can do to it.

Local only

AIDE

Purely local, cron-triggered batch comparison against a local (optionally signed) database. No network component at all.

Local, signed

Tripwire

Database signed locally with an asymmetric key (open-source version). The commercial Enterprise variant adds a central console, but the check itself still runs on the host.

Centralized logging

Samhain

Closest of the three to Etminan's model — a central log server (yule), read-only database/config, stealth mode. But the hash comparison itself still runs in userspace on the monitored host; only logging is centralized.

Off-host, hardware-rooted

Etminan

The kernel's IMA subsystem measures files into a TPM PCR via a one-way extend — a separate, independently administered verifier device requests a TPM-signed quote over that PCR. The host agent makes no pass/fail decision and writes no alarm; it's a relay.

In all three established tools, a root-level compromise can rewrite the local database or tamper with the check process before anything is ever reported — the checker and the thing it's checking share a trust boundary. Etminan's AK private key never leaves the TPM, so the host's own root cannot forge a quote, no matter how completely it's compromised.

02 — Where Etminan is ahead

Not just differently designed — concretely ahead.

Full-root-compromise model
An attacker with full root cannot suppress alerting — at most they can silence the agent, but unreachability is itself an alarm trigger. On AIDE/Tripwire/ Samhain, root compromise can rewrite the local database or tamper with the check process before anything is ever reported.
Hardware-verifiable chain
Signed TPM quotes plus IMA-log PCR replay prove byte-for-byte that the reported log matches the signed PCR — not just "some process computed a hash and claims it matches."
Enforced operator workflow
Drift is never auto-accepted. Every new baseline requires an explicit, reasoned, signed human approval, recorded in a self-contained, hash-chained audit trail — no external tool or service required. AIDE/Tripwire's "update database" is typically a single unprotected admin command.
Boot integrity as a signal
PCR0–7 (UEFI/boot) are quoted alongside PCR10 — AIDE/Tripwire/Samhain have no equivalent mechanism.
Silence is a finding
Host unreachability is a finding, not a silent soft-skip — closes the classic "just kill the agent" evasion.
Richer finding context
Package-manager correlation (does the changed file belong to an installed package, was it a real authenticated transaction) plus a plain-language verdict — instead of a bare hash diff.
Ticket-system correlation — shipped
The Etminan Plugin API's change-source category automatically correlates a pending baseline change against external change-management/ ticket systems (Request Tracker ships today) and surfaces every match — "was this actually planned," not just "does a package own this file." None of the three established tools attempt this at all: AIDE is diff-and-report with no approval workflow to correlate anything against; Tripwire's re-init step has no ticket-system awareness; Samhain is file-integrity plus centralized logging only.
Native alert channels — shipped
PagerDuty, Slack, and a generic webhook, alongside email — the same external, allowlisted Plugin API model as change-source correlation, no in-process HTTP client anywhere in the verifier. AIDE has no built-in alerting beyond cron + mail at all; open-source Tripwire is the same; Samhain's central yule server and syslog output are a step ahead of both but still not a native PagerDuty/Slack integration — that plumbing is external to Samhain too. A config line and an allowlisted, hash-pinned script is materially less assembly than any of the three require for the same result.
Extensible by design, not by age
AIDE/Tripwire/Samhain's integration breadth comes from decades of incremental, mostly-external point integrations. Etminan's comes from a small number of reusable shapes (package-manager checkers, the Plugin API's two categories) designed in early, so each new integration is a bounded, reviewable addition — closing the integration gap through design, not just accumulated age.
03 — Where Etminan is honestly behind

The trade side of the trade.

Every one of these is a real, current gap relative to three tools with a combined half-century-plus of production hardening — named directly rather than glossed over.

Hardware dependency
Requires a TPM 2.0, physical or virtual. AIDE/Tripwire/Samhain run on any machine, no special hardware at all.
Maturity
AIDE, Tripwire, and Samhain have 15–25+ years of production hardening between them. Etminan is new, without a full real-world pilot through an entire patch cycle yet.
Platform breadth
Linux only today (IMA-dependent). AIDE/Tripwire/Samhain also run on *BSD, Solaris, and partly macOS/Windows.
Write-only detection gap
IMA measures only on read-open, not on write itself — closed today only via an active read-sweep before each cycle, which bounds detection to polling granularity. auditd-based approaches (which Tripwire/AIDE can also layer in) can react more granularly via perm=wa.
Enrollment is the weakest link
Without a manufacturer EK certificate chain (true for many vTPMs), initial trust is trust-on-first-use with a human witness, not provable back to hardware. AIDE/Tripwire don't have this problem, since they need no hardware trust chain at all.
A new high-value target
The verifier itself becomes a critical single point of trust — if it's compromised, it can suppress alarms just as effectively as the classic self-checking model this design replaces.
Nothing below the TPM boundary
Firmware/UEFI implants, SPI-bus attacks, or a compromised hypervisor (for a vTPM) are explicitly out of scope — unlike deeper Secure-Boot-attestation stacks.
Coarser policy filtering
IMA has no path filter at the kernel level, so Etminan measures broadly and filters on the verifier side after the fact. AIDE/Tripwire allow fine-grained rules directly in the policy config.
Scaling, argued not measured
Architecturally reasoned, not backed by the established tools' decades of production data yet.
Physical attacks out of scope
Cold-boot, TPM desoldering, evil-maid — software/remote threat protection only, same limit any of these tools would have against a physically present attacker.
04 — Closing the gap

What's actually planned, not just aspirational.

The platform-breadth and maturity trade-offs above are real today — here's what's specifically scoped to narrow them, ranked honestly by how close each one actually is, not by how good it would sound.

FreeBSD support

The nearest-term platform expansion. FreeBSD has a real tpm2-tss port and a native tpm(4) device, so the hardware side is solvable — but Linux's IMA has no FreeBSD equivalent, so this needs a from-scratch kernel-side measurement source. audit(4)/OpenBSM logs opens but never ties into a TPM PCR, and mac_veriexec only covers exec-time hash checks against a manifest, not arbitrary watched-path reads — both already evaluated and ruled insufficient on their own. Scoped as its own Phase-0-style empirical investigation before any code, same rigor this project applied to Linux/TPM originally, not assumed to just work.

Windows support

Boot-integrity attestation is the easy half — Windows' native Measured Boot already produces TPM PCR values with no new driver needed. Arbitrary watched-path file integrity is the hard half: there's no IMA equivalent, so this would need a custom, WHQL-signed minifilter driver — a materially bigger and riskier undertaking than FreeBSD, with its own signing/certification process before it can ship at all. Deliberately sequenced behind FreeBSD, not started.

OpenBSD / NetBSD

Explicitly deferred, not just deprioritized. OpenBSD's own hardening restricts loadable kernel modules in exactly the way this approach would need to fight against; NetBSD's TPM 2.0 userspace tooling is currently less mature than FreeBSD's. Revisit only once FreeBSD is proven, rather than spreading effort across three BSDs at once.

A real production pilot

The most direct answer to the maturity gap isn't a feature at all — it's elapsed time. Running in parallel with an existing integrity-monitoring setup through one full real patch cycle is what actually starts closing the 15–25-year production-data gap against AIDE/Tripwire/Samhain, not something a code change can shortcut.

05 — Feature comparison

Side by side.

CapabilityEtminanAIDETripwire (OSS)Samhain
Check/database off the monitored hostYesNoNoPartial (logging only)
Hardware-rooted trust (TPM)YesNoNoNo
Boot/firmware integrity (PCR0–7)YesNoNoNo
Host silence treated as a findingYesNoNoPartial
Signed, reasoned operator approval workflowYesNoRe-init onlyNo
Self-contained, hash-chained audit trailYesNoNoNo
Package-manager ownership correlationYesNoNoNo
Ticket/change-management correlationYesNoNoNo
Native PagerDuty/Slack/webhook alertingYesNoNoSyslog/SIEM only
Third-party plugin/extension modelYesNoNoNo
No special hardware requiredNo (needs TPM 2.0)YesYesYes
Platform breadth beyond LinuxNo (Linux only)YesYesYes
Years of production hardeningNew15–25+15–25+15–25+
06 — Bottom line

Different trade-offs, not a strict upgrade — yet.

AIDE, Tripwire, and Samhain are mature, hardware-independent local integrity checkers that all share the same structural weakness: the host checks and alarms on itself. Etminan trades that weakness for a hard hardware trust anchor (TPM + IMA) with external, non-forgeable attestation — at the cost of maturity, platform breadth, and a new high-value attack target (the verifier itself). On the surrounding ecosystem, Etminan has already closed two integration gaps outright — change-management correlation and native alert channels — that none of the three established tools address at all. Closing the remaining hardware/maturity/platform trade-offs is what turns "differently designed" into "strictly better."