Pre-built Chainguard-based container images for SandboxShift V1 sandboxes.
You don't need to write a Dockerfile. SandboxShift auto-detects your workspace and selects the right image.
PodmanRuntime._detect_image() scans the workspace for marker files and picks the image automatically:
| Workspace contains | Image used |
|---|---|
requirements.txt |
sandboxshift/runtime-python:3.11 |
package.json |
sandboxshift/runtime-node:20 |
| Multiple markers | sandboxshift/runtime-multi:latest |
| None of the above | sandboxshift/runtime-python:3.11 (default) |
All images are based on Chainguard / Wolfi images (Security Layer 1, AGENTS.md):
- Zero known CVEs
- SBOM-signed supply chain
- Rebuilt nightly
- Minimal attack surface
PodmanRuntime unconditionally executes tasks as /bin/sh -c <task>.
Chainguard's distroless :latest variants have no shell at all — every task would fail immediately. The :latest-dev variants add BusyBox (providing /bin/sh) and apk.
Network egress is controlled by PodmanRuntime's allowlist (Decision #18), not by what's installed in the image. apk cannot reach package repositories unless the operator explicitly allows them in sandboxshift.yaml.
Every image:
- Runs as UID 65532 (
Chainguard nonroot) — matches_NONROOT_USER = "65532:65532"inpodman.py(Defence-in-depth: enforced both in image and by--userflag at runtime) - Working directory:
/workspace— the only mounted directory in V1 - No
CMD/ENTRYPOINT— command is always supplied externally byPodmanRuntime - No exposed ports or volumes in the Dockerfile
# Build all three images
make -C images build-all
# Build a specific image
make -C images build-python
make -C images build-node
make -C images build-multi
# Push to a registry (requires podman login first)
IMAGE_REGISTRY=123456789.dkr.ecr.us-east-1.amazonaws.com make -C images push-all- Strip
apkfrom the final layer using multi-stage builds (reduces attack surface) - Add
sandboxshift/runtime-go:1.22,sandboxshift/runtime-java:21,sandboxshift/runtime-rust:latest - gVisor integration at the host runtime level (not image level)