NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
▲Devvm.dev: One VM for every project (devvm.dev)
mnahkies 57 minutes ago [-]
Damn, I've been building something very similar the past few weeks - haven't quite gotten to a public release yet.

Mines based on libvirt and uses cloud-init for creating the images, with shared golden images across projects.

Skimming your docs it wasn't totally clear to me if your images are built per project, or COW from shared toolchains.

Looks like you have a few features in there that I might take some inspiration from though, eg the proxying stuff.

Funny how many of us are trying to solve the same problem at the moment.

sparsesignal 23 minutes ago [-]
Ha, add me to the list. I built one with libvirt and cloud-init too, mostly focused on network containment (private/host networks are blocked) and VM hardening. There's also a check command that runs nmap from inside the VM to verify nothing private is reachable.

https://github.com/ertug/kvm-sandbox

mnahkies 9 minutes ago [-]
Heh, yeah also very similar. I don't strip devices like you are - I actually want the memory balloon functionality for example.

My working threat model for my projects is less about "malicious agent trys to escape VM" and more "well meaning agent got confused and screwed up" - the added protection of a VM is desirable, and it's useful for stuff like nested virtualization (agent working on improving the VM orchestration), makes containers inside the sandbox straightforward

I hadn't seen the stuff about filtering spoofed packets so I'll probably add that.

jFriedensreich 2 hours ago [-]
I see nothing this brings over smolvm machines. I did not use lima / krunkit outside colima but in colima it was just slow, had outdated devx and was unreliable compared to controlling every detail with an embedded vm library.
LeBit 56 minutes ago [-]
I also moved to smolvm.

That project is underrated.

I have built my agent harness around smolvm and it has been working wonderfully.

I have seen a single bug up to now (iirc you cannot take a snapshot from a machine you rehydrate from a pack) but found a workaround.

I think the only thing I would love a solution for is the ability to bind credentials even when you use tailscale. You cannot right now because the traffic goes through the tailscale interface.

Anyway. smolvm is simply amazing.

benatkin 1 hours ago [-]
This is something that could run on top of smolvm, if the authors chose it, rather than Lima/QEMU. It both sets up virtual machines and what goes into them, letting you chooose toolchains and coding agents. smolvm doesn't provide dev tool setup within a vm, though it does point to images that already have toolchains and agents installed.
brkomir 2 hours ago [-]
One of the fake recruiters contacted me on LikedIN for a Solidity dev role, with an assignment repo that came as a zip in DM. Everything looked fine since Finder only showed .sol files, but Finder doesn't show .git and other hidden folders by default. However .git was there, and it had a hook that ran eval() on a remote address on commit/push.

As I read it, .git protection stops the VM from changing hooks, and --clone leaves the hook behind since a clone doesn't copy hooks. However, the hook is still in the folder on the host. Does devvm inspect and warn when a folder already has hooks before you start?

gregwebs 1 hours ago [-]
This looks quite similar to docker sandbox (sbx). It uses Lima for VMs under the hood. Windows advertised as not supported (Lima is missing features on Windows).

Like Docker Sandbox this meets what I think should be our standards in the AI age: kernel isolation and secret shielding in addition to network and disk isolation.

I have been working on a similar project because I haven't seen one before that to me didn't have security design deficiencies. This project looks to have made good design decisions around security.

The things that are design choices for these tools are

  * agent integration
  * docker image composition
  * are vms more persistent or throw away
  * managing configuration
It does look like it has some design decisions that are optimal for convenience but might lead to inflexibility. It assumes 1 VM per directory. It is trying to auto-detect what someone needs in an image and provide well integrated images and tools out of the box but I don't see how to just provide my own image.
mnahkies 50 minutes ago [-]
I missed the one directory part, I'd definitely recommend making that more flexible. With my equivalent of this I often mount multiple repositories into a single VM, two examples:

- a bunch of gitops repos: terraform mono repo, argocd-esk conf repo, grafana provisioning repo, etc.

- frontend + backend repo (tbh may merge these to a mono-repo, but here we are)

I think the auto detection is interesting, but tbh with my solution I've been happy with just install all the tools regardless of what a specific project needs - with a COW base layer this is cheap.

AntonyGarand 2 hours ago [-]
How does it compare to existing similar products?

`sbx`, safehouse and the like

passive 1 hours ago [-]
It's probably a fine project, but the instructions are like "trust this thing, give us your login" , which still gets alarm bells ringing in my head pretty fast.
aniceperson 45 minutes ago [-]
thanks but i will just use systemd with linux namespaces.
tamimio 45 minutes ago [-]
Cool, but I am not installing a curl script, make it a package through managers.
petesergeant 2 hours ago [-]
Should probably add it to the long list of projects here: https://pleasedonotescape.com/
rvz 2 hours ago [-]
There are yet thousands of these so-called "sandbox" projects that exists. This one sounds rather really wasteful on resources?

Bubblewrap would just be a better alternative for this.

aniceperson 43 minutes ago [-]
right chain of tought, but systemd is the only to truly leverage linux namespaces capabilities, allowing private networks, other rootfs, etc
kakugawa 2 hours ago [-]
bwrap has a lot of sharp edges that can bite you, if you're not aware of them.
jFriedensreich 2 hours ago [-]
bubblewrap is linux only and offers a fraction of isolation of a microvm
guhcostan 4 minutes ago [-]
[flagged]
makemefundyou20 1 hours ago [-]
[dead]
Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 20:25:27 GMT+0000 (Coordinated Universal Time) with Vercel.