Docker Sandbox

Every code execution node in NodeLoom runs inside an isolated Docker container with strict resource limits and security policies. This sandbox cannot be disabled from the frontend. It is enforced at the server level.

Server-enforced isolation

The Docker sandbox is mandatory for all code execution nodes. There is no configuration option to bypass it. This is a deliberate security decision to protect your infrastructure from untrusted or malicious code.

Affected Nodes

The following node types are executed inside the Docker sandbox. Any workflow that includes one of these nodes will automatically spin up an isolated container for each execution.

Node TypeDescription
CodeGeneral-purpose code execution supporting multiple languages.
JavaScriptRuns JavaScript/Node.js code snippets.
PythonRuns Python scripts with access to common libraries.
BashExecutes Bash shell scripts.
ShellExecutes shell commands in a POSIX-compatible shell.
Execute CommandRuns arbitrary system commands.

Container Hardening

Each sandbox container is launched with a comprehensive set of security constraints. These are applied at the Docker level and cannot be overridden by user code.

Resource Limits

ConstraintPurpose
CPUPrevents a single execution from monopolizing CPU resources.
MemoryHard cap on memory usage. Exceeding this kills the container.
SwapDisabled to prevent memory overcommit.
PID limitCaps the number of processes to prevent fork bombs.
Open filesLimits the number of file descriptors.
ProcessesLimits the number of processes the user can spawn.
File sizePrevents writing excessively large files to disk.

Security Policies

Each container runs with hardened security policies including privilege escalation prevention, a mandatory read-only root filesystem, network isolation, and non-root execution. These policies are enforced at the Docker level and cannot be overridden by user code or workflow configuration.

Output Truncation

Container output (stdout and stderr combined) is truncated at a configured limit to prevent memory exhaustion in the execution engine. If your code produces large output, write it to the tmpfs volume and read it back selectively.

SSH/SFTP Host Key Verification

When workflows connect to remote servers via SSH or SFTP, NodeLoom verifies the remote host key to protect against man-in-the-middle attacks. If the host key changes unexpectedly, the connection is rejected and an error is logged.

You can manage stored host keys from the credential management interface. For high-security environments, pre-load known host keys via the API before establishing connections.