frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: yolo-cage – AI coding agents that can't exfiltrate secrets

https://github.com/borenstein/yolo-cage
22•borenstein•2h ago
I made this for myself, and it seemed like it might be useful to others. I'd love some feedback, both on the threat model and the tool itself. I hope you find it useful!

Backstory: I've been using many agents in parallel as I work on a somewhat ambitious financial analysis tool. I was juggling agents working on epics for the linear solver, the persistence layer, the front-end, and planning for the second-generation solver. I was losing my mind playing whack-a-mole with the permission prompts. YOLO mode felt so tempting. And yet.

Then it occurred to me: what if YOLO mode isn't so bad? Decision fatigue is a thing. If I could cap the blast radius of a confused agent, maybe I could just review once. Wouldn't that be safer?

So that day, while my kids were taking a nap, I decided to see if I could put YOLO-mode Claude inside a sandbox that blocks exfiltration and regulates git access. The result is yolo-cage.

Also: the AI wrote its own containment system from inside the system's own prototype. Which is either very aligned or very meta, depending on how you look at it.

Comments

dfajgljsldkjag•1h ago
Seeing "Fix security vulnerabilities found during escape testing" as a commit message is not reassuring. Of course testing is good but it hints that the architecture hasn't been properly hardened from the start.
borenstein•1h ago
Hi, thanks for your feedback! I can see this from a couple of different perspectives.

On the one hand, you're right: those commit messages are proof positive that the security is not perfect. On the other hand, the threat model is that most threats from AI agents stem from human inattention, and that agents powered by hyperscaler models are unlikely to be overtly malicious without an outside attacker.

There are some known limitations of the security model, and they are limitations that I can accept. But I do believe that yolo-cage provides security in depth, and that the security it provides is greater than what is achieved through permission prompts that pop up during agent turns in Claude Code.

catlifeonmars•1h ago
I don’t think that’s quite fair. What would you infer from the absence of such a commit message?
seg_lol•1h ago
Vibe with it, it is YOLO all the way down.
fnoef•1h ago
I wonder why everyone seems to go with Vagrant VMs rather than simple docker containers.
ajb•1h ago
Theoretically, they have a smaller attack surface. The programs inside the VM can't interact directly with the host kernel.
borenstein•1h ago
Thank you, good question! My original implementation was actually a bunch of manifests on my own microk8s cluster. I was finding that this meant a lot of ad-hoc adjustments with every little tweak. (Ironic, given the whole "pets vs cattle" thing.) So I started testing the changes in a VM.

Then I was talking to a security engineer at my company, who pointed out that a VM would make him feel better about the whole thing anyway. And it occurred to me: if I packaged it as a VM, then I'd get both isolation and determinism. It would be easier to install and easier to debug.

So that's why I decided to go with a Vagrant-based installation. The obvious downside is that it's harder now to integrate it with external systems or to use the full power of whatever environment you deploy it in.

m-hodges•1h ago
See: A field guide to sandboxes for AI¹ on the threat models.

> I want to be direct: containers are not a sufficient security boundary for hostile code. They can be hardened, and that matters. But they still share the host kernel. The failure modes I see most often are misconfiguration and kernel/runtime bugs — plus a third one that shows up in AI systems: policy leakage.

¹ https://www.luiscardoso.dev/blog/sandboxes-for-ai

snowmobile•1h ago
Wait, so you don't trust the AI to execute code (shell commands) on your own computer, so therefore need a safety guardrail, in order to facilitate it writing code that you'll execute on your customers' computers (the financial analysis tool)?

And adding the fact that you used AI to write the supposed containment system, I'm really not seeing the safety benefits here.

The docs also seem very AI-generated (see below). What part did you yourself play in actually putting this together? How can you be sure that filtering a few specific (listed) commands will actually give any sort of safety guarantees?

https://github.com/borenstein/yolo-cage/blob/main/docs/archi...

borenstein•1h ago
You are correct both that the AI wrote 100% of the code (and 90% of the raw text). You are also correct that I want a safety guardrail for the process by which I build software that I believe to be safe and reliable. Let's take a look at each of these, because they're issues that I also wrestled with throughout 2025.

What's my role here? Over the past year, it's become clear to me that there are really two distinct activities to the business of software development. The first is the articulation of a process by which an intent gets actualized into an automation. The second is the translation of that intent into instructions that a machine can follow. I'm pretty sure only the first one is actually engineering. The second is, in some sense, mechanical. It reminds me of the relationship between an architect and a draftsperson.

I have been much freer to think about engineering and objectives since handing off the coding to the machine. There was an Ars Technica article on this the other day that really nails the way I've been experiencing this: https://arstechnica.com/information-technology/2026/01/10-th...

Why do I trust the finished product if I don't trust the environment? This one feels a little more straightforward: it's for the same reason that construction workers wear hard hats in environments that will eventually be safe for children. The process of building things involves dangerous tools and exposed surfaces. I need the guardrails while I'm building, even though I'm confident in what I've built.

snowmobile•1h ago
This comment is also AI generated and contains nonsensical metaphors (the last paragraph).
borenstein•1h ago
This was 100% not AI generated! Honestly, though, I've been talking to AI chatbots so much in the last year that I'm sure their style has rubbed off on me. At some point, I did a little math and determined that I had probably exchanged an order of magnitude more words back and forth with AIs than I will with my spouse over the course of our entire lives.
asragab•1h ago
At least we can be confident your comments aren't ai generated.
hmokiguess•1h ago
Thank you so much for this analogy. This reminded me how I’ve always bike without a helmet, even though I’ve been in crashes and hits before, it just isn’t in my nature to worry about safety in the same way others do I guess? People do be different and it’s all about your relationship with managing and tolerating risk.

(I am not saying one way is better than the other, it’s just different modes of engaging with risk. I obviously understand that having a helmet can and would save my life should an accident occur. The keyword here is “should/would/can” which some people believe in “shall/will/does” and prefer to live this way. Call it different faith or belief systems I guess)

visarga•38m ago
> it's for the same reason that construction workers wear hard hats in environments that will eventually be safe for children.

Good response, but more practically, when you are developing a project you allow the agent to do many things on that VM, but when you deliver code it has to actually pass tests. The agent working is not being tested live, but the code delivered is tested before use. I think tests are the core of the new agent engineering skill - if you can have good tests you automated your human in the loop work to a large degree. You can only trust a code up to the level of its testing. LGTM is just vibes.

asragab•1h ago
Wait, so you think the principle danger of vibe coding, is the code it produces and not the actual process which the agents take to get there? Given that autonomous agent require extraordinary permissions where as presumably running code on a production website often does not.

Wait, do you also think there are no guardrails in a production system that would fundamentally alter the security posture of a system rather than on a single laptop with a single developer would engender.

Wait, do you not believe all the AI companies aren't also trying to develop (have developed) their own sandboxing solutions?

Wait, did you even bother to think about what you were writing before you decided to write it?

snowmobile•1h ago
You seem upset. I'm simply saying that if I didn't trust a human developer to run shell commands on the webserver (or the much lower bar of my own laptop), I woudn't trust them to push code that's supposed to run on that webserver, even after "auditing" the code. Would you let an agent run freely ssh:d into your webserver?
asragab•55m ago
You seem inexperienced, lots of orgs do not allow their devs to arbitrarily ssh into their webservers without requesting elevation, which is fundamentally the difference between autonomous agent development `dangerously-skipping-permissions` and it asking every time to use commands? Which is the point of a sandbox?
IanCal•49m ago
I would absolutely put ssh access to the prod server way above submitting a pr for danger, that’s an enormous step up in permissions.
borenstein•44m ago
I'm with you here! The idea with yolo-cage is that the worst the LLM can realistically do is open an awful PR and waste your time. (Which, trust me, it will.) Claude suggested the phrase: "Agent proposes, human disposes."
snowmobile•41m ago
I'm not saying you should allow all your devs access to the prod server in practice (security in layers and all that). I'm saying, if you wouldn't trust a person to be competent and aligned enough with your goals to have that access in principle, why would you trust them to write code for you? Code that's going to run on that very same server you're so protective about. Sure you may scrutinize every line they write in detail, but then what's the point of hiring them?
kjok•1h ago
Genuine question: why is everyone rolling out their own sandbox wrappers around VMs/Docker for agents?
borenstein•1h ago
I know, right? The day I initially thought about posting this, there was another one called `yolo-box`. (That attempt--my very first post--got me instantly shadow-banned due to being on a VPN, which led to an unexpected conversation with @dang, which led to some improvements, which led to it being a week later.)

I think it's the convergence of two things. First, the agents themselves make it easier to get exactly what you want; and second, the OEM solutions to these things really, really aren't good enough. CC Cloud and Codex are sort of like this, except they're opaque and locked down, and they work for you or they don't.

It reminds me a fair bit of 3D printer modding, but with higher stakes.

m-hodges•1h ago
It all feels like temporary workflow fixes until The Agent Companies just ship their opinionated good enough way to do it.
borenstein•1h ago
It probably is. Some of this stuff will hang around because power users want control. Some of it will evolve into more sophisticated solutions that get turned into products and become easier to acquihire than the build in house. A lot of it will become obsolete when the OEMs crib the concept. But IMO all of those are acceptable outcomes if what you really want is the thing itself.
derpsteb•1h ago
My experience is that neither has a good UX for what I usually try to do with coding agents. The main problem I see is setup/teardown of the boxes and managing tools inside them.
catlifeonmars•1h ago
Because of findings like this

https://www.anthropic.com/research/small-samples-poison

(A small number of samples can poison LLMs of any size) to save clicks to read the headline

The way I think of it is, coding agents are power tools. They can be incredibly useful, but can also wreak a lot of havoc. Anthropic (et al) is marketing them to beginners and inevitably someone is going to lose their fingers.

kjok•22m ago
I understand the need, but I don't understand why a VM or Docker is not enough. Why are people creating custom wrappers around VMs/containers?
borenstein•13m ago
Docker isn't virtualization; it's not that hard to infiltrate the underlying system if you really want to. But as for VMs--they are enough! They're also a lot of boilerplate to set up, manage, and interact with. yolo-cage is that boilerplate.
vivzkestrel•1h ago
- I am not interested in running claude or any of the agents as much as I am interested in running untrusted user code on the cloud inside a sandbox

- Think codesandbox, how much time does it take for a VM here to boot?

- How safe do you think this solution would be to let users execute untrusted code inside while being able to pip install and npm install all sorts of libraries and

- how do you deploy this inside AWS Lambda/Fargate for the same usecase?

p410n3•1h ago
The whole issue is why i stopped using in-editor LLMs and wont use Agents for "real" work. I cant be sure of what context it wants to grab. With the good ol' copy paste into webui I can be 100%sure what the $TECHCORP sees and can integrate whatever it spits out by hand, acting as the first version of "code review". (Much like you would read over stackoverflow code back in the day).

If you want to build some greenfield auxiliary tools fine, agents make sense but I find that even gemini's webui has gotten good enough to create multiple files instead of putting everything in one file.

This way I also dont get locked in to any provider

borenstein•52m ago
The leakage issue is real. Before there was a way to use "GPT Pro" models on enterprise accounts, I had a separate work-sponsored Pro-tier account. First thing I did was disable "improve models for everyone." One day I look and, wouldn't you know it, it had somehow been enabled again. I had to report the situation to security.

As far as lock-in, though, that's been much less of a problem. It's insanely easy to switch because these tools are largely interchangeable. Yes, this project is currently built around Claude code, but that's probably a one-hour spike away from flexibility.

I actually think the _lack_ of lock-in is the single biggest threat to the hyperscalers. The technology can be perfectly transformative and still not profitable, especially given the current business model. I have Qwen models running on my Mac Studio that give frontier models a run for their money on many tasks. And I literally bought this hardware in a shopping mall.

kxbnb•51m ago
Really cool approach to the containment problem. The insight about "capping the blast radius of a confused agent" resonates - decision fatigue is real when you're constantly approving agent actions.

The exfiltration controls are interesting. Have you thought about extending this to rate limiting and cost controls as well? We've been working on similar problems at keypost.ai - deterministic policy enforcement for MCP tool calls (rate limits, access control, cost caps).

One thing we've found is that the enforcement layer needs to be in-path rather than advisory - agents can be creative about working around soft limits. Curious how you're handling the boundary between "blocked" and "allowed but logged"?

Great work shipping this - the agent security space needs more practical tools.

borenstein•46m ago
Thank you! Rate limits are an interesting topic with Claude Code right now. The Max subscription has them, and the API does not; but the Max subscription is an all-you-can-eat buffet, and the API is not. yolo-cage was built to be compatible with the Max subscription while remaining TOS-compliant because it wraps the official CLI with no modifications. That has so far meant for me that the experience is _too_ rate limited.

That said, I have not yet started playing with MCP servers. I suspect that they are completely broken inside yolo-cage right now, as they almost certainly get stopped by the proxy.

bethekidyouwant•34m ago
“Decision fatigue” I don’t want to decide how to respond to this
briandw•45m ago
Claude code (as shown in the repo) can read the files on disk. Isn’t that already exfiltration? In order to read the file, it has to go to Anthropic. I don’t personally have a problem with that but it’s not secret if it leaves your machine.
borenstein•15m ago
IMO, you should treat your agent's environment as pre-compromised. In that reading, your goal becomes security-in-depth.

Anthropic is trying to earn developer trust; they have a strong incentive to make sure that private keys and other details that the agent sees do not leak into the training data. But the agent itself is just a glorified autocomplete, and it can get confused and do stupid stuff. So I put it in a transparent prison that it can see out of but can't leave.

That definitely helps with the main failure modes I was worrying about, but it's just one layer. You definitely want to make sure that your production secrets are in an external vault (Hashicorp Vault, Google Secret Store, GitHub secrets, etc) that the agent can't access.

The things that agent is seeing should be dev secrets that maybe could be used as the start of a sophisticated exploit, but not the end of it. There's no such thing as perfect security, only very low probabilities of breach. Adding systems that are very annoying to breach and have little offer when you do greatly lowers the odds.

visarga•30m ago
Thank you for posting the project, I was actively looking for a solution, even vibe coded a throw away one. One question - how do you pass the credentials for agents inside the cage? I would be interested in a way to use not just claude code, but also codex cli and other coding agents inside. Considering the many subscription types and storage locations credentials can have (like Claude), it can be complicated.

Of course the question comes because we always lack tokens and have to dance around many providers.

borenstein•23m ago
The credential have been a PITA. I was working on a PR this morning before work; I should have it tonight. You have to be careful because if you look like you're spoofing the client, you can get banned.

For Claude specifically, there are two places where it tracks state:

~/.claude.json -- contains a bunch of identity stuff and something about oauth

~/claude/ -- also contains something about oauth, plus conversation history, etc

If they're not _both_ present and well-formed, then it forces you back through the auth flow. On an ordinary desktop setup, that's transparent. But if you want to sandbox each thread, then sharing just the token requires a level of involvement that feels icky, even if the purpose is TOS-compliant.

azuanrb•16m ago
codex have auth.json. claude is using credentials.json on Linux, Keychain on MacBook. I prefer to just use a long lived token instead for Claude due to this.

I have my own Docker image for similar purpose, which is for multiple agent providers. Works great so far.

Show HN: ChartGPU – WebGPU-powered charting library (1M points at 60fps)

https://github.com/ChartGPU/ChartGPU
206•huntergemmer•2h ago•76 comments

Show HN: yolo-cage – AI coding agents that can't exfiltrate secrets

https://github.com/borenstein/yolo-cage
22•borenstein•2h ago•40 comments

Show HN: Rowboat – Open-Source Claude Cowork with an Obsidian Vault

https://www.rowboatlabs.com/
4•segmenta•18m ago•0 comments

Show HN: Mastra 1.0, open-source JavaScript agent framework from the Gatsby devs

https://github.com/mastra-ai/mastra
201•calcsam•1d ago•65 comments

Show HN: I made a roguelike game playable over SSH

https://dev-dungeon.com
6•viiralvx•2h ago•1 comments

Show HN: Abuse URL shorteners to host throwaway webpages

3•fainpul•3h ago•0 comments

Show HN: Agent Skills Leaderboard

https://skills.sh
116•andrewqu•20h ago•39 comments

Show HN: TopicRadar – Track trending topics across HN, GitHub, ArXiv, and more

https://apify.com/mick-johnson/topic-radar
33•MickolasJae•1d ago•9 comments

Show HN: Oauth2-forwarder – web oauth2 for dev containers

https://github.com/sam-mfb/oauth2-forwarder
3•sam256•4h ago•0 comments

Show HN: I built a narrative game about running a thrift shop

https://store.steampowered.com/app/2961120/Shop_Crush/
7•hollowlimb•3h ago•0 comments

Show HN: Should I kill my side project?

https://naeemnur.com/should-i-kill-my-side-project/
2•naeemnur•4h ago•0 comments

Show HN: Generate animated solar system timelapse videos for any date range

https://github.com/simondorfman/solar_system_live/
7•SimonDorfman•12h ago•0 comments

Show HN: Ocrbase – pdf → .md/.json document OCR and structured extraction API

https://github.com/majcheradam/ocrbase
94•adammajcher•1d ago•34 comments

Show HN: Citizen Water Signal – A tool to make tap water issues visible (India)

https://www.citizensignal.site
2•eskimo87•6h ago•0 comments

Show HN: I figured out how to get consistent UI from Claude Code

https://interface-design.dev/
24•Dammyjay93•17h ago•8 comments

Show HN: Fence – Sandbox CLI commands with network/filesystem restrictions

https://github.com/Use-Tusk/fence
25•jy-tan•23h ago•4 comments

Show HN: On-device browser agent (Qwen) running locally in Chrome

https://github.com/RunanywhereAI/on-device-browser-agent
18•sanchitmonga•20h ago•3 comments

Show HN: Aventos – An experiment in cheap AI SEO

https://www.aventos.dev/
18•JimsonYang•5d ago•10 comments

Show HN: RobyGraph – A graph strategy game to program AI agents in the browser

https://www.yfiles.com/robygraph
4•buesra•8h ago•1 comments

Show HN: An interactive physics simulator with 1000’s of balls, in your terminal

https://github.com/minimaxir/ballin
71•minimaxir•1d ago•15 comments

Show HN: Parallel Agentic Search on the Twitter Algorithm

https://www.morphllm.com/playground/na/warpgrep?repo=xai-org%2Fx-algorithm
11•bhaktatejas922•18h ago•0 comments

Show HN: Subth.ink – write something and see how many others wrote the same

https://subth.ink/
86•sonnig•1d ago•48 comments

Show HN: Artificial Ivy in the Browser

https://da.nmcardle.com/grow
96•dnmc•1d ago•16 comments

Show HN: Pipenet – A Modern Alternative to Localtunnel

https://pipenet.dev/
114•punkpeye•2d ago•19 comments

Show HN: LLM fine-tuning without infra or ML expertise

https://www.tinytune.xyz/
4•Jacques2Marais•9h ago•3 comments

Show HN: SKILL.md Hub

https://openskills.space
4•onurkanbkrc•10h ago•2 comments

Show HN: Lume 0.2 – Build and Run macOS VMs with unattended setup

https://cua.ai/docs/lume/guide/getting-started/introduction
147•frabonacci•2d ago•42 comments

Show HN: E80: an 8-bit CPU in structural VHDL

https://github.com/Stokpan/E80
33•Axonis•3d ago•2 comments

Show HN: Movieagent.io – An agent for movie recommendations (with couple mode)

https://movieagent.io
25•roknovosel•1d ago•5 comments

Show HN: A creative coding library for making art with desktop windows

https://github.com/willmeyers/window-art
35•willmeyers•1d ago•5 comments