Skip to content

docs(design): formalize SEC-1.h mknodat deferral and document re-open triggers#4694

Merged
oferchen merged 1 commit into
masterfrom
docs/sec-1-h-mknodat-deferral
May 21, 2026
Merged

docs(design): formalize SEC-1.h mknodat deferral and document re-open triggers#4694
oferchen merged 1 commit into
masterfrom
docs/sec-1-h-mknodat-deferral

Conversation

@oferchen
Copy link
Copy Markdown
Owner

Summary

  • Adds docs/design/sec-1-h-mknodat-deferral-2026-05-21.md formalizing the mknodat deferral that SEC-1.h (PR feat(fast_io): mkdirat/symlinkat/linkat sandbox helpers (SEC-1.h) #4683) explicitly punted.
  • Records why the deferral was the right call (daemon-reachable surface does not reach mknod; metadata crate lacks DirSandbox plumbing; create runs only with --devices/--specials opt-in), sketches the mknodat / mknodat_via_sandbox_or_fallback helper signatures, and lists explicit re-open triggers.
  • Closes the loop for the SEC-1 audit chain so the mknodat sub-question is auditable as closed-deferred without re-deriving the threat model.

Test plan

  • Doc-only change; no code touched.
  • cargo fmt --all clean (no-op).
  • Cross-checked cited surfaces:
    • crates/fast_io/src/dir_sandbox/at_syscalls.rs exports mkdirat, symlinkat, linkat, and their *_via_sandbox_or_fallback adaptors (lines 439, 482, 529, 583, 615, 655).
    • metadata::create_device_node_with_fake_super, create_fifo_with_fake_super, and apple_fs::mknod live in crates/metadata/src/special.rs and are reached from crates/engine/src/local_copy/executor/special/{device,fifo}.rs.
    • metadata crate has no DirSandbox import or carrier today.
    • daemon does not directly mediate device-node creation; module gating remains the only daemon-side control.

… triggers

SEC-1.h (PR #4683) shipped mkdirat/symlinkat/linkat sandbox helpers but
explicitly punted mknodat because device/FIFO/socket creation lives
behind metadata-crate abstractions that do not carry DirSandbox and is
not on today's daemon-reachable TOCTOU surface. Records the rationale,
sketches the helper signature, and lists the explicit re-open triggers
so the SEC-1 audit chain has a clear closure for the mknodat
sub-question.
@oferchen oferchen merged commit 8317316 into master May 21, 2026
10 checks passed
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label May 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant