mrkeyoor.com_
Tue 10 Nov 00:35 UTC
Dev Toolsevaluationupdated 26 Oct 2026

microsandbox review

Microsandbox provides local microVMs for untrusted workloads through a CLI and language SDKs. Its README describes application-controlled VMs without a required setup server or long-running daemon. Our recorded source-build run did not establish runtime isolation or a working CLI.

+72stars / 7d
Verdict

Microsandbox is worth evaluating for application-controlled local microVMs if its host requirements and beta status fit your project. Our 10 October 2026 run at commit 245701a completed dependency setup in 17 seconds, but build and test commands stopped at Python 3.11 linking after 621 and 349 seconds. We did not verify a working installed CLI, VM startup or security properties. Issue 1422 is closed as completed, so it should not be presented as an outstanding defect; issue 1377 remains a version-scoped capacity report to check against your intended runtime. Start with the documented packaged route on your target host, then verify execution, storage and network behavior before relying on it for untrusted code.

We ran it

Lab card: what happened when we ran microsandboxScreenshot of microsandbox (docs.microsandbox.dev)
Install✓ · 17s788 packages
Build✗ · 621s
Tests✗ · 349sran, no count parsed
Repo2454 files~548,279 lines of source · 131.8 MB · 13 CI workflows

Answers from our run

Does microsandbox build from source?

Dependencies installed in 17 seconds (788 packages), and the build failed. We cloned commit 245701a into a clean Debian container with 3 CPUs and no project-specific setup.

Do microsandbox's tests pass?

No. The project's own test command exited unsuccessfully after 349 seconds, and its output did not expose an individual test count.

Who should not use microsandbox?

Hosts that cannot meet the documented requirements: Apple Silicon on macOS, KVM enabled on Linux or WHP enabled on Windows.

What are the alternatives to microsandbox?

Firecracker, Kata Containers. Microsandbox is worth evaluating for application-controlled local microVMs if its host requirements and beta status fit your project.

Setup2/5Limited source-setup evidence: on 10 October 2026 at 245701a, dependency setup completed in 17 seconds, but build and test commands stopped at Python 3.11 linking after 621 and 349 seconds. Packaged installation was not verified.
Docs3/5The supplied README documents host requirements, CLI installation routes, SDK examples and cache behavior. Wider documentation and example execution were not validated.
Community2/5The extracts show issue discussion, completion of issue 1422 and a project-maintained showcase. Adoption, support responsiveness and current activity rates are not established.
Maturity2/5The README explicitly warns of beta status, breaking changes and missing features. The recorded source run provides no runtime reliability or security validation.

Discussed on

  1. hnMicrosandbox – local-first programmable micro VMs3 points

Who it’s for

Agent developers evaluating local execution boundaries for generated or user-supplied code.
Application teams interested in the README's TypeScript, Rust, Python, Go and Ruby examples.
Developers who want OCI images with familiar command, image and volume workflows.
Teams able to meet the documented virtualization requirements and accommodate beta changes.

Who it’s NOT for

Hosts that cannot meet the documented requirements: Apple Silicon on macOS, KVM enabled on Linux or WHP enabled on Windows.
Teams requiring stable interfaces without breaking changes: the README explicitly calls Microsandbox beta software.
Buyers who need this review to establish security, startup performance or production reliability. Our recorded run measured source setup and unsuccessful build/test commands, not those properties.
Builders assuming root-disk capacity determines /tmp capacity. Issue 1377 reports a separate tmpfs limit in msb 0.6.8, with code references from v0.6.9; behavior in the intended deployment needs checking.

Setup reality

In our recorded run on 10 October 2026 at commit 245701ad43fdae2785a9246f9046cf2f897e7a24, the dependency-download/setup step completed in 17 seconds with exit 0. The parser recorded 788 dependencies. This does not establish that the CLI was installed.

The build command exited 101 after 621 seconds while linking microsandbox-py (lib). The test command exited 101 after 349 seconds while linking microsandbox-py (lib test). Both supplied tails report unable to find library -lpython3.11. This is a linker failure in the recorded environment, not evidence of failed test assertions or a broken packaged product. No installed-binary check or measured VM workload is supplied.

The recorded configuration was 3 CPUs, 12 GB memory and image lab-rust:1; the image label does not establish toolchain versions. The README lists CLI installers and package-manager routes, plus SDK examples. The existing invocation npx microsandbox run debian was not tested in this run and is not the installation route shown in the supplied README. Its documented npm route is npm i -g microsandbox, followed by msb run ubuntu.

The README requires Apple Silicon on macOS, KVM on Linux or WHP on Windows. It says the first create() pulls an image if it is not cached. Its MCP server is one agent integration route; Agent Skills are also documented, so MCP is not a universal requirement for agent use.

Local microVMs need a host-level evaluation

Microsandbox puts an application interface around local microVMs for untrusted workloads. The useful question is whether that model fits your host and workload. Our recorded run establishes a source-build obstacle in one environment; it does not establish whether a packaged installation works or whether its isolation meets your requirements.

The README describes microVMs created as child processes, without a required setup server or long-running daemon. It documents OCI images, CLI lifecycle commands, snapshots, live forks and SDK examples in TypeScript, Rust, Python, Go and Ruby. These are documented capabilities, not features exercised by our run.

What our recorded run establishes

Our stored run began on 10 October 2026 at 03:12:29.379 UTC, using commit 245701ad43fdae2785a9246f9046cf2f897e7a24. Its configuration recorded 3 CPUs, 12 GB memory and image lab-rust:1. That label does not establish the actual Rust or Python runtime version.

Stage Recorded result What it establishes
Dependency setup Exit 0 in 17 seconds; parser count 788 The setup step completed and its tail shows dependency downloads. It does not prove CLI installation.
Build command Exit 101 after 621 seconds Linking microsandbox-py (lib) failed because the linker could not find -lpython3.11.
Test command Exit 101 after 349 seconds Linking microsandbox-py (lib test) failed with the same missing library. The supplied output establishes no failed assertion count.
Installed binary and VM workload No supplied result CLI operation, guest startup and workload behavior remain unverified by this run.

The checkout summary recorded 2,454 files, approximately 548,279 source lines, 131.8 MB and 13 CI workflow files. Detection found no Dockerfile or top-level tests directory. That directory signal does not mean the repository has no tests. The stored test count and audit result are null; there is no supported passing-test total, advisory total or audited-package coverage to report.

Both unsuccessful commands reached a Python binding linker error. The evidence supports checking the required Python 3.11 link library and build configuration before retrying this source path. It does not show that packaged Microsandbox is broken, that every build target failed, or that test assertions would fail after linking. No new execution was performed for this review.

Packaged setup is a separate path

The README lists CLI installers and package-manager routes, including npm i -g microsandbox, followed by msb run ubuntu. The existing page's npx microsandbox run debian invocation was not exercised in our recorded run and is not the installation route shown in the supplied README. Treat packaged installation and source compilation as separate checks.

The documented host requirements are Apple Silicon on macOS, KVM enabled on Linux and WHP enabled on Windows. Confirm those requirements on the actual deployment host before evaluating workloads. The README also says the first create() pulls an uncached image, while later runs reuse the cache. Dependency download time in our source run is not a measurement of that image pull or of VM startup.

Agent integration has more than one documented route. The project supplies Agent Skills and an MCP server; an application can also use its SDK. A separate MCP server is therefore required for the documented MCP integration, not for every agent use case.

Startup and secret claims remain untested here

The README claims average boot times under 100 milliseconds and specifies that boot time refers to guest boot on an M1 machine. That scope excludes a general promise about cold image downloads, complete job startup or every supported host. Our run measured none of those workloads.

The README's Ruby example configures allowed hosts, ports and a host-bound secret. Its stronger secret-safety language is a project claim. Our record contains no secret-isolation assessment, hostile-code workload or network-escape test. Hardware virtualization alone does not establish how a particular application's mounts, credentials and outbound access behave.

Two issue reports need different treatment

Issue 1377 remains open in the supplied extract. Its reporter reproduced an automatic RAM-backed /tmp on msb 0.6.8, on a macOS arm64 host with the libkrun backend, and cited unchanged logic in v0.6.9. The reported default is one quarter of guest memory, clamped between 1 and 512 MiB unless another mount targets /tmp. The reproduction shows a 20 GiB root-disk request alongside a 512 MiB /tmp.

That report is a reason to inspect scratch capacity for your workload. It is not a measurement from our October run or proof that the same default persists in every later version. Keep root-disk capacity and /tmp capacity as separate deployment checks.

Issue 1422 reported that adding the first source-backed secret through modify().secret(...).restart().apply() persisted the binding without enabling TLS interception in v0.6.10. The reported consequence was an unchanged placeholder reaching the upstream API, not disclosure of the host secret. The supplied issue history says it was closed as completed in #1432 on 21 September 2026. It should not be listed as an open defect. The extract does not identify the first packaged release containing the fix, and our run did not verify that path.

Version evidence and alternatives

The supplied v0.6.15 release page lists directory-mount ownership fallback, Windows DNS handling, read-only mount handling and Windows file-copy changes. Its release commit is bb03217. Our measured commit is 245701a; these are different revisions. The release extract does not establish that v0.6.15 is the latest release at the time of this review.

For a lower-level Linux VMM, Firecracker uses KVM and exposes an API for configuring microVMs. Its own documentation makes overall security conditional on a well-configured Linux host. For integration through a container manager, Kata Containers supplies a containerd shimv2 runtime and documents Kubernetes deployment. These are architecture choices supported by their primary-source extracts, not measured performance comparisons.

How to read the scores

The scores are editorial assessments of the supplied evidence. They do not measure security, adoption or compatibility. For each category, 1 means substantial obstacles or little usable evidence, 2 means limited evidence or unresolved constraints, 3 means a documented path with material validation gaps, 4 requires strong documentation or verification for the relevant scope, and 5 requires broad corroboration with few material gaps. Unknowns prevent a high rating; they do not prove poor product quality.

Setup receives 2/5 because our source path stopped at linking and packaged setup was not verified. Documentation receives 3/5 because the README provides host requirements, installation routes and examples, while this review did not validate the wider documentation or every example. Community receives 2/5 because the supplied material shows issue handling and a README showcase but does not establish adoption or support responsiveness. Maturity receives 2/5 because the project explicitly warns of beta changes and our run supplies no runtime validation.

For an evaluation, choose the documented installation route on your intended host, record the CLI and SDK versions, confirm an installed binary can execute a small workload, and inspect the storage and network settings that workload needs. Those results would answer the runtime questions this source-build record leaves open.

Alternatives

ProjectWhat it isPick it when
Firecracker gh↗A microVM monitor that uses Linux KVM for container and function workloads.Consider it when you need to configure microVMs through a VMM API on Linux and can manage the host configuration its security guidance requires.
Kata ContainersA container runtime built around lightweight virtual machines, with a containerd shimv2 implementation.Consider it when container-manager integration or Kubernetes deployment is central to the workload, rather than embedding sandbox lifecycle calls in an application.

What people are saying

  1. [github-trending] superradcompany/microsandbox

Sources

  1. Microsandbox README
  2. Microsandbox v0.6.15 release
  3. OCI tmpfs issue 1377
  4. Secret modification issue 1422

More dev tools reviews

OpenSandbox · You-Dont-Know-JS · evilginx2 · google-colab-cli · mujoco · SteamTools · the whole board →