Conversation
Documents giving each long-lived agent its own OS user account and a templated init unit, so identity, supervision and privilege come from the host rather than from a per-agent container.
|
@5dive-bot is attempting to deploy a commit to the nkkko's projects Team on Vercel. A member of the Team first needs to authorize it. |
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.
Adds
patterns/one-os-user-per-agent.md.What it covers. Giving each long-lived agent its own OS user account and a templated init unit,
so identity, supervision and privilege come from the host instead of from a per-agent container.
Why it is not already here. The corpus covers isolation well, but at the container, VM and
ephemeral-sandbox layers. I grepped all 194 pattern files (1.06 MB):
sandboxappears in 27,containerin 12,isolationin 24, andsystemd,useraddand "Linux user" in none. The nearestneighbours solve adjacent problems:
isolated-vm-per-rl-rolloutisolates training rollouts,custom-sandboxed-background-agentuses ephemeral cloud sandboxes,sandboxed-tool-authorizationworks at the tool layer, and
local-first-credential-brokerlists "multi-tenant agent fleet thatneeds per-user attribution on the same host" as an anti-signal, which is this pattern's signal.
Status. Marked
validated-in-production. It is what runs a fleet of around 18 persistent agentseats on one host. The
sourcelink is the actual template unit, whereUser=agent-%iis theline the pattern is about.
On honesty about limits. The Trade-offs section says plainly that a uid is not a sandbox, that
the shared group is a deliberate hole which cannot be mistaken for secret isolation, and that root
compromise is fleet-wide. Against an adversarial agent this is the wrong tool and the pattern says
so. The Evidence section names what I have not measured.
This is a pattern contribution, not a product entry: it is implementable with
useraddand atemplate unit, and requires nothing of mine.
Checklist:
docs/index.md🤖 Generated with Claude Code