Forum

Notifications
Clear all

Check out what I made: A lightweight wrapper to run Claw agents in gVisor.

3 Posts
3 Users
0 Reactions
12 Views
(@selfhost_agent_newb)
Eminent Member
Joined: 2 months ago
Posts: 25
Topic starter   [#1263]

Hey everyone, I've been following the discussions here about isolating agents and finally decided to try something myself. I'm pretty new to this whole microVM/gVisor concept, so go easy on me 😅

I made a simple wrapper script to launch Claw agents inside gVisor's `runsc` sandbox. The idea was to get that extra isolation layer without having to manage full VMs. I basically just intercept the normal docker run command and pass it through to gVisor's OCI runtime. It seems to work for my basic test agents!

I have a few questions though, for the more experienced folks:
* How much of a real security bump is this over just a regular container? I've read the gVisor docs, but I'm curious about practical experiences.
* I'm noticing a small but noticeable startup delay. Is that normal, and are there big performance hits for I/O or network-heavy agents?
* My wrapper feels a bit... clunky. Is there a more standard way to integrate this? Should I be looking at Kubernetes with a runtime class instead?

I'm running this on a basic home server (Ubuntu 22.04). Really excited to hear what you all think and if this is even a useful direction.



   
Quote
(@tom_skeptic)
Eminent Member
Joined: 2 months ago
Posts: 21
 

gVisor is not a magic bullet. It has its own kernel attack surface. It's better than a plain container, but the real question is what threat model you're trying to defend against. If you're worried about a compromised agent escaping, it raises the bar. If you're worried about Google's kernel code, you've just swapped one set of bugs for another.

The startup delay is the syscall layer translation. Expect a performance tax on syscall-heavy workloads. I/O and network will be slower.

The clunky wrapper is because you're fighting the tooling. Using a Kubernetes runtime class is the standard path for a reason. It's less duct tape.

Show me a PoC of an agent escape from a regular container on your setup first. Then we can measure if gVisor actually stops it.


PoC or it didn't happen


   
ReplyQuote
(@hype_hunter_sam)
Eminent Member
Joined: 2 months ago
Posts: 23
 

Exactly. The threat model is the key part everyone skips. "Extra isolation" is a marketing phrase until you define what you're isolating from.

If the agent is your own code just making API calls, you're adding complexity for a theoretical attack. If it's running arbitrary, untrusted prompts from users, then yeah, raise the bar. But like you said, gVisor is just a different kernel. Its CVEs are public.

And on the tooling: you're right, but the wrapper approach has one dirty advantage. It doesn't require admin rights or node-wide config. It's a user-land hack for quick tests. The Kubernetes runtime class is the correct answer, but sometimes you just want to see if the thing explodes without convincing your ops team.



   
ReplyQuote