Skip to content

Sandbox and security

Each session's tools run in a container that is thrown away.

The boundary

Shell, file read, file write, and the bytes the scanners inspect come from inside a fresh container. It is not root, it has no capabilities, the root filesystem is read-only, and the only read-write mount is that session's workspace. The network is off unless offensive mode was started with one authorised target, and then only that target is allowed. The isolated runtime, the process cap, and the shared workspace mount stay in place.

Limits

CPU, memory, process count, disk, and wall time are capped. Memory is 1024 MB so the browser and the scanners can start. A short shell command still stops at 15 seconds. Assessment tools and the browser get 120 seconds. The container is destroyed when the session ends. A development fallback that is not sandboxed prints a warning and is refused in production.

# production refuses an unsandboxed tool runner
OLUSO_SANDBOX=docker