Runtime Adapters
Corvus supports multiple runtime adapters for executing shell commands and tools. Each runtime provides different levels of isolation and security.Docker Sandbox Runtime
The Docker runtime provides lightweight container isolation for all shell command execution.Configuration
Security Features
Network Isolationnone— No network access (most secure)bridge— Bridge network with internet accesshost— Host network (not recommended)
- Empty list = any workspace allowed
- Non-empty = only paths under these roots
- Refuses to mount
/(root filesystem)
How It Works
When a shell command is executed:- Container Creation — Ephemeral container spawned
- Workspace Mount — Host workspace mounted at
/workspace - Command Execution — Command runs inside container
- Auto-Cleanup — Container removed after execution (
--rm)
Production Hardening
CIS Docker Benchmark Compliance
| Control | Implementation |
|---|---|
| 4.1 Non-root user | Container runs as UID 65534 (distroless nonroot) |
| 4.2 Minimal base image | gcr.io/distroless/cc-debian12:nonroot — no shell, no package manager |
| 5.25 Read-only filesystem | Supported via docker run --read-only with /workspace volume |
Native Runtime Security
The native runtime executes commands directly on the host system with security policy enforcement.Configuration
Security Features
Command Allowlisting- Low:
git status,ls,cat - Medium:
git commit,npm install,touch - High:
rm,curl,sudo,wget
Command Injection Protection
The native runtime blocks:- Backticks:
`whoami` - Subshells:
$(cat /etc/passwd) - Variable expansion:
${IFS}cat - Process substitution:
<(echo pwned) - Output redirection:
> /etc/crontab - Single ampersand chaining:
cmd & malicious - Dangerous arguments:
find -exec,git config
Landlock Sandboxing (Linux)
Corvus supports Landlock (Linux kernel 5.13+) for unprivileged filesystem sandboxing.Landlock is a Linux Security Module (LSM) that provides kernel-level filesystem access control without requiring root privileges.
How Landlock Works
Landlock restricts filesystem access at the kernel level:- Ruleset Creation — Define allowed filesystem operations
- Path Rules — Allow specific directories (workspace, /tmp, /usr, /bin)
- Restriction — Apply ruleset to current process
- Inheritance — Child processes inherit restrictions
Allowed Operations
Workspace Directory (read/write):- Read files
- Write files
- List directories
/usrand/bin— Execute commands/tmp— Temporary operations
/etc,/root,/proc,/sys- Home directory (except workspace)
- All other filesystem paths
Availability
Landlock requires:- Linux kernel 5.13+
sandbox-landlockfeature enabled- Kernel configured with
CONFIG_SECURITY_LANDLOCK=y
Enable Landlock
Resource Limits
Memory Limits
Docker Runtime:CPU Limits
Docker Runtime:Rate Limiting
Both Runtimes:Choosing a Runtime
| Feature | Native | Docker |
|---|---|---|
| Isolation | Policy-based | Container-based |
| Performance | Fast | Moderate overhead |
| Network Isolation | No | Yes (network=none) |
| Filesystem Isolation | Workspace + policy | Container + mount |
| Resource Limits | Rate limiting | Memory/CPU caps |
| Setup | Zero config | Requires Docker |
| Linux Sandboxing | Landlock (optional) | Not applicable |
Recommendations
Production:- Use
runtime.kind = "docker"withnetwork = "none"andread_only_rootfs = true - Enable resource limits
- Use workspace mount validation
- Use
runtime.kind = "native"for faster iteration - Enable
workspace_only = true - Use default command allowlists
- Use
runtime.kind = "native" - Enable Landlock if available
- Minimal resource footprint
Next Steps
Security Overview
Security architecture and threat model
Gateway Security
Network security and authentication