I don't understand why it isn't opt-in. Or at least a heads-up somewhere.
144 karma · joined July 4, 2026
I don't understand why it isn't opt-in. Or at least a heads-up somewhere.
Basically, it's a plain QEMU/KVM VM on a stock Debian cloud image: device model stripped down to a virtio disk, a virtio NIC and a serial console, nested virt off, no passwordless sudo in the guest. It also ships a containment check that scans outward from inside the guest, so the network boundary is something you can verify.
Wrapping the whole environment rather than a single agent session puts supply chain attacks inside the boundary too. A poisoned npm or PyPI package, or a compromised editor extension, lands in the VM instead of on the host. That was the original reason I set this up; agents just made it more urgent.
There's no per-domain egress allowlist; the policy is "internet yes, private addresses no". Secret injection isn't built in either, though Infisical's agent-vault on the host as an egress proxy covers that part.
Wrote the whole setup up here, in case it's useful:
https://karamatli.com/posts/network-isolated-kvm-sandbox-ai-...
Same here, so I ended up moving the whole dev environment (editors, agents, containers) inside a hardened QEMU/KVM VM that reaches the internet but has no route to the host, the LAN, or any other private address. I wrote a script to create such VMs and also verify network containment by scanning outward from inside the guest. Even then, I still don't feel great when running agents unattended.
Write-up in case anyone's curious:
https://karamatli.com/posts/network-isolated-kvm-sandbox-ai-...
https://collection.sciencemuseumgroup.org.uk/objects/co33448...
I use it as a colleague I'm drafting with. I'll ask how a sentence lands, tell it to make a paragraph more friendly or more dramatic, have it argue against a point I'm making. The piece comes together over many turns, and the information arriving in each turn is mine — it's not expanding one prompt, it's helping me converge on something.
The information-content framing also proves too much: a copy editor adds no information either. Neither does a translator, or a ghostwriter. What they add is form, and form is most of what makes writing good or bad.