Changelog

Sandboxes

The Sandbox resource now runs on AWS, Google Cloud, Azure, and Kubernetes. Your app creates isolated environments at runtime and runs code it doesn't trust inside them:

alien.ts
const agent = new alien.Sandbox("agent")
  .code({ type: "image", image: "ubuntu:24.04" })
  .limits({ cpu: "1", memory: "2Gi", disk: "8Gi" })
  .egress("internet")
  .lifecycle({ maxLifetimeSeconds: 3600 })
  .build()

The code inside gets no cloud credentials, so it can't reach other resources in the stack. Network access goes through an egress gateway that enforces the sandbox's policy.

PlatformRuns on
AWSLambda MicroVMs
Google CloudAgent Platform sandboxes
AzureContainer Apps sandboxes
KubernetesPods with gVisor or Kata
  • Files and jobs: writeFiles, readFile, and long commands that outlive the call that started them
  • Preview ports: reach a port inside a sandbox from the Python and Node SDKs
  • Pause and resume: on platforms that support it, with egress policy changes applied on resume
  • Images: build a sandbox from a Dockerfile or a private base image, cached in each region on first use
  • Image users and boot commands: the image's USER and entrypoint are honored

Read the docs →