Sandbox: Run untrusted AI code safely, fast

(github.com)

55 points | by vortex_ape 7 days ago

10 comments

  • nl 1 hour ago
    There's lots of interesting tooling in my space. Currently open in my browser are

    https://github.com/liquidmetal-dev/flintlock

    https://github.com/e2b-dev

    https://www.daytona.io

    https://modal.com/

    https://render.com/

    There's lots of others. I'd love to see a proper comparison somewhere.

  • vivzkestrel 29 minutes ago
    Stupid question: what exactly is different about any of these tools than spinning a docker container programmatically and running the AI generated code inside it? What exactly are these tools solving that docker isnt?
  • mijoharas 5 hours ago
    This seemed quite interesting but it seems to run them on GCP rather than locally.

    I had a brief glance at running firecracker VM's locally as that sounded interesting, but it doesn't seem too easy.

    Does anyone know of any good solution that improve the UX of that (running some firecracker VM's locally)?

    • l9o 5 hours ago
      Out of curiosity, what would be an ideal UX for you? I'm working on a Rust library for this exact problem (CLI and language bindings should be easy to add).

      It uses KVM directly on Linux and Virtualization.framework on macOS, with a builder API for VM configuration. For AI sandboxing specifically, it has a higher-level "sandbox" mode with a guest agent for structured command execution and file I/O over vsock. You get proper exit codes and stdout/stderr without console scraping.

      Also supports pre-warmed VM pools for fast startup and shared directories via virtio-fs.

      I'm planning to support OCI images, but not sure if that's important to people. I typically just build my own root disks with Nix.

      • nl 1 hour ago
        I'm after this too.

        I want to have a "container" (used in the conceptual sense here - I'm aware of the differences between container and other solutions) that I can let an AI agent run commands in but is safely sandboxed from the rest of my computer.

        For me this is primarily file access. I don't want it inadvertently deleting the wrong things or reading my SSH keys.

        But the way the agent uses it is important too. They generally issue the commands they want to run as strings, eg:

          bash ls
          sed -i 's/old_string/new_string/g' filename.py
        
        I need a way to run these in the "container". I can `ssh command` but open to other options too.
      • mijoharas 2 hours ago
        Awesome, this sounds cool.

        In terms of UX, I kinda want something to paper over the inconsistencies of the different tools I need to use to set up the network etc. (Kinda like the `docker` CLI tool).

        When I looked at it the first thing I thought was "the tun/tap setup seems fiddly, and I bet I won't leave things in a consistent state (note, I just glanced at this blog[0]). The copy on write filesystem stuff looks cool too, but also fiddly.

        The more I think about it the more I just come up with "just docker but VMs".

        [0] https://harryhodge.co.uk/posts/2024/01/getting-started-with-...

      • vosper 4 hours ago
        If you have a link to your project that you could share I'd be interested in following it - this sounds like something I might want to use one day.
        • l9o 4 hours ago
          Not yet! But I will make sure to link here once it's up in a few days (or post to HN? not sure what the etiquette around self-promotion is these days). It's somewhat functional but not usable by anyone other than me at this point most likely (:
  • mkagenius 9 hours ago
    If you don't want to depend on cloud, have a mac, then you can run a sandbox locally on you mac. I have built an apple container (not docker) based sandbox to run arbitrary code - coderunner[1]. It is quite fast. And apple container provides one vm per container unlike docker on macos which shares the vm across all containers. Coderunner is good for processing sensitive docs locally in a secure sandbox.

    1. coderunner - https://github.com/instavm/coderunner

    • zingar 6 hours ago
      In the coderunner read me it talks about reading files without sending them to the cloud. Does that mean there is something agentic going on? That’s more than I expect from something called a sandbox.

      Also if it is agentic, why is it less cloud based than eg Claude code? Are there LLMs running locally?

      • mkagenius 4 hours ago
        Regarding files, they are volume mapped (local <--> sandbox) as with docker.

        It's not agentic - agents can use it to execute code. Those agents can be powered by any LLM including local.

  • TOMDM 5 hours ago
    I'd love a local version of this for running Claude code, the CLI sandbox anthropic has made is great, but a VM for execution would be even better
  • maxdo 6 hours ago
    Not affiliated in any way , but just outsourced that to modal.com , extremely cheap . For millions of runs I paid to date $30 usd
  • ATechGuy 5 hours ago
    Genuine question: why not just use GCP/AWS VMs for agentic execution? What is missing?
    • nl 1 hour ago
      This runs on GCP

      The issue with using raw VMs is you want fast startup. If you are running hundreds of pieces of code per hour as you develop, or have 10 or 20 agents running simultaneously it's much better to have something faster to start.

      This uses Amazon's Firecracker on GCP to provide that.

      AWS has something similar for its own Agent framework.

  • quotemstr 5 hours ago
    Firecracker: so no virtiofs? Shame.
  • sh4rks 6 hours ago
    How is this different from the several other alternatives?