Narrow confined path authority at runtime handoff
This commit is contained in:
parent
1cac1e04c2
commit
cf914bdf51
1 changed files with 12 additions and 7 deletions
|
|
@ -229,11 +229,14 @@ Path resolution produces a `ConfinedPathPlan`, not an ambient absolute path.
|
|||
Each plan retains a validated ancestor directory descriptor and a normalized
|
||||
relative suffix, records the ancestor's device, inode, and mount identity, and
|
||||
keeps canonical raw pathname bytes only as a diagnostic label or digest input.
|
||||
Every consumer uses descriptor-relative opens with beneath, no-magic-link,
|
||||
no-symlink, and no-mount-crossing resolution and revalidates the expected type.
|
||||
The consumer refuses a replaced ancestor, mount transition, symlink, special
|
||||
file, type mismatch, or any source that cannot be revalidated; it does not
|
||||
recover by opening the canonical label as an absolute pathname.
|
||||
Lazaret-owned filesystem access and mutation use descriptor-relative opens with
|
||||
beneath, no-magic-link, no-symlink, and no-mount-crossing resolution and
|
||||
revalidate the expected identity and type. A trusted external component whose
|
||||
interface requires a pathname may receive the canonical label only after
|
||||
Lazaret reopens it through the plan and revalidates it at the handoff boundary.
|
||||
A failed revalidation refuses the operation; it does not fall back to opening
|
||||
the label as authority. Replacement by a trusted host process after a successful
|
||||
handoff is ordinary host concurrency rather than Agent Sandbox authority.
|
||||
|
||||
Lazaret creates a missing Storage, Runtime, profile, or Domain root one path
|
||||
component at a time beneath its retained existing ancestor. Every created
|
||||
|
|
@ -250,8 +253,10 @@ final for that load and never authorizes a partially resolved root.
|
|||
The profile directory is the `profiles/<profile-name>` child of the Storage
|
||||
Root. Persistent and runtime Domain roots use the lowercase hexadecimal Domain
|
||||
ID beneath separate `domains` children of the Storage and Runtime Roots. Those
|
||||
fixed layouts are constructed only from validated root handles; a path string
|
||||
or matching digest alone is not authority over a root.
|
||||
fixed layouts are created and mutated only through validated root handles.
|
||||
Canonical labels may identify them at a trusted external pathname handoff only
|
||||
after the exact root has been revalidated through its retained plan; a path
|
||||
string or matching digest alone is not Lazaret filesystem authority over a root.
|
||||
|
||||
Configuration confinement compares canonical component ancestry and retained
|
||||
filesystem identities after every source has been opened. The configuration
|
||||
|
|
|
|||
Loading…
Reference in a new issue