Skip to content

fix(in.gnu.os): prevent legacy unscoped Tetragon policy startup - #1

Merged
tension-atoi merged 1 commit into
mainfrom
fix/legacy-in-gnu-os-guard-20261008
Oct 10, 2026
Merged

tension-atoi merged 1 commit into
mainfrom
fix/legacy-in-gnu-os-guard-20261008

Conversation

@tension-atoi

Copy link
Copy Markdown
Collaborator

Scope

Compatibility mitigation for the existing historical user-owned in.gnu.os binary. This does not migrate or replace the modern Gnosix activation authority.

The September 2026 legacy binary tries to apply a TracingPolicy for sys_setuid, sys_connect, and sys_openat, but its _cgroup_slice parameter is discarded: neither process identity nor a real cgroup restriction is present. Installing tetra to silence the warning would risk activating an unscoped policy.

Changes

  • Byte-pin the observed legacy executable (SHA-256) in a user-session ExecCondition guard.
  • Decline new legacy service starts when the executable changes or tetra is present.
  • Preserve human-owned unit, After=graphical-session.target, and modern authority separation.
  • Add 6 hermetic allow/deny tests and register them in cargo xtask ci.
  • Document scope, deployment, rollback, and the still-open LLM / /gnosis_shm / Tetragon migrations.

Qualification

  • cargo xtask ci: 43/43 PASS, commit 007045eaa3aa9672e46b1b87b3f15379fc33efed, clean tree.
  • Live workstation: ExecCondition exit 0; in.gnu.os.service active, 0 unexpected restarts; deployed files byte-identical to source.
  • Negative tests: missing/replaced binary and fake tetra all refused. No host packages or privileges changed.
  • Full forensic evidence retained locally under /mnt/workbench/evidence/runs/in-gnu-os-lifecycle-20261008/ and /mnt/workbench/evidence/runs/legacy-in-gnu-os-guard-full-ci-20261008/.

Remaining limitations

This guard is not Tetragon enforcement and does not monitor an already-running process. The legacy LLM and shared-memory warnings remain unresolved by design; no crashing Hyprland plugin was loaded. Cold-boot/session A→B and retiring the old D-Bus surfaces are separately unqualified.

@tension-atoi
tension-atoi marked this pull request as ready for review October 10, 2026 06:12
@tension-atoi
tension-atoi merged commit d0dfb1c into main Oct 10, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant