Harden runtime security, portability, and release retries - #7
Draft
Llewellynvdm wants to merge 2 commits into
Draft
Harden runtime security, portability, and release retries#7Llewellynvdm wants to merge 2 commits into
Llewellynvdm wants to merge 2 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR implements the functional-test remediation against
mastercommit2d6b53a, with the related security and portability corrections required for a durable fix./usr/local/libexecand hardens its systemd sandbox, instead of executing root code from a user-writable checkout;USER, and removes an incomplete VM when startup fails;sudo incusfallback with explicit privilege selection and bootstrap-managedincus-adminonboarding;columnformatter is absent;manifest.json;AGENT_USERandAGENT_HOMEconsistently through provisioning, verification, MCP toggling, model configuration, and session execution;verify-image.shand adds browser/non-browser Playwright invariants;make ci;Root causes
The existing suite read most deployment scripts without executing their runtime paths. That allowed shell-environment assumptions, host/guest glob confusion, optional-tool coupling, and retry-state drift to remain invisible. The reaper installer also crossed a trust boundary by pointing a root system service at the mutable checkout.
Security impact
The service keeps
ProtectHome=true, executes only root-owned installed files, uses an explicit Incus Unix-socket boundary, and drops Linux capabilities. Normal commands no longer elevate automatically after an arbitrary daemon or permission failure. Completion markers are treated as untrusted archives and read without filesystem extraction.Validation
make cigit diff --checkmasterand contains the intended 47-file diff.Remaining hardware gate
This environment has no KVM or live Incus daemon. Real image builds, live bridge/ACL enforcement, and the installed timer must still pass the documented Ubuntu 24.04 and 26.04 hardware acceptance matrix before release promotion. The PR keeps that limitation explicit rather than claiming container-only tests prove it.