Sandbox hardening
Mandatory container posture across every agent. Capabilities dropped, root filesystem locked, fork bombs and escalation paths closed.
- Drop ALL Linux capabilities by default; agents run with no caps.
- no-new-privileges enforced via SecurityOpt — setuid escalation blocked.
- ReadonlyRootfs — agent FS is read-only outside the workspace mount.
- Default seccomp profile applied; mknod and raw-device syscalls denied.
- PidsLimit 256 per agent — fork bombs cannot exhaust host PIDs.
- Containers run as uid 1000 (non-root) with workspace ownership matched.
- docker.sock denylisted as a workspace path; symlink resolution validated.
- NDJSON audit log with size-based rotation in $XDG_STATE_HOME/dclaw.
- dclaw doctor pre-flight: Docker daemon, image pull, capability probe.
- CAP_NET_ADMIN dropped — egress allowlist wiring deferred to GA.
- Workspaces under /var/run, /proc, /sys are rejected with --workspace-trust.