Skip to content

Implement Landlock sandbox runner #9

Description

@Eilen6316

Goal

Add a Linux Landlock-backed sandbox runner that can enforce filesystem boundaries for safe local execution profiles.

Context

v4.1.0 added docs/design/sandbox-landlock.md as the design source. This issue tracks the implementation work after the design-only release.

Scope

  • Add a landlock runner kind and config parsing.
  • Implement capability probing for Linux, Landlock syscall availability, ABI version, and ruleset application.
  • Enforce a minimal read_only profile first.
  • Extend to workspace_write only after read-only behavior is stable.
  • Preserve current noop, local, and bubblewrap behavior.
  • Fail closed for safe profiles when Landlock cannot enforce the requested boundary.
  • Record capability probe and enforcement state in audit/sandbox metadata.

Non-goals

  • Do not add network isolation through Landlock; Landlock is filesystem-only.
  • Do not replace HITL, policy, audit, or bubblewrap.
  • Do not make Landlock the default until the compatibility matrix is proven.

Acceptance Criteria

  • make sandbox, make security, and make test pass.
  • Unsupported kernels return a clear unavailable reason without crashing.
  • read_only allows reads under configured roots and blocks writes.
  • Missing or symlink-escaped allowed roots fail closed for safe profiles.
  • Documentation is updated with the implemented behavior and remaining limitations.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions