Skip to main content

Actions Runtime Security

CI security is a critical topic, as CI is often granted access to critical resources and holds sensitive assets like code and keys. We have worked to harden the Worktree Actions runtime such that it can be trusted to execute your workflows securely.

VM Security Model

Every job on Worktree Actions is isolated on its own ephemeral cloud virtual machine (VM). Using VMs means we can build on top of the decades of excellent work that has been done to secure and harden hypervisors and CPU virtualization. Hardware virtualized VMs are the only truly secure method for running untrusted code, such as in a CI environment.

While the actions has root access to the ephemeral VM, the VM is dedicated to that single Actions workflow and is disposed of immediately after job execution finished. The VM contains no information, tokens, or secrets beyond what is configured for the Actions workflow itself.

The VM image is built and maintained by Worktree, available open-source in the worktree/actions-environments repository. This VM image bakes in the "Runner Agent", which is the process which polls for jobs and executes the workflows. The runner-agent is also open source, available as worktree/runner-agent.

Actions Architecture

Actions workflows are handled by "orchestrator" nodes which are operated by Worktree and coordinate many workflows concurrently across the platform. These nodes handle all of the integration with Worktree, and provision and de-provision the ephemeral VMs. No public code is executed on the orchestrators.

VMs are assigned a token when they are provisioned that uniquely authorizes that VM to ask for jobs to process. When a job is queued in Worktree, the orchestrator gives it to the first active VM that matches the requested labels.

From this point, the worker VM takes over and begins executing the job with the information given to it, which includes all of the tokens and secrets necessary to execute the workflow.

Logs, statuses, and updates flow back through the orchestrator to Worktree, where they reflect in the UI and are stored for archival. The orchestrators do not store any information beyond their active jobs and worker VM assignments.

Get in Touch

Security of the Worktree Actions platform is our highest priority. If you believe you have found a vulnerability or have concerns, please reach out to security@worktree.ca and we'll be in touch as soon as possible.