Security

Security is the reason boks exists. Every tool you install on your host has full access to your files, your SSH keys, and your network. boks runs each tool in an isolated container where it can see only your current directory and has no network access — by default.

Zero-trust defaults

Every container starts in the most locked-down configuration possible:

CapabilityDefaultOverride
Network accessdenied--cap net
Filesystem writesdenied--cap rw
Image filesystem writesdenied--cap rwimg
Linux capabilitiesdropped--privileged
New privilegesdenied--privileged

You decide what to grant. The default assumption is that the tool should not be trusted with anything beyond your current directory.

What protection looks like

# A malicious tool cannot write to your files:
boks some-tool
# → PermissionError: [Errno 30] Read-only file system

# A malicious tool cannot reach the network:
boks some-tool
# → curl: (6) Could not resolve host: example.com

# A malicious tool cannot read your SSH keys:
# ~/.ssh is visible but access-denied — open() fails with "Permission denied"
boks some-tool
# → PermissionError: [Errno 13] Permission denied: '/boks/workdir/.ssh/id_rsa'

What's in this section

Pages in this section