today at 4:49 PM
I’ve had a good think about this, and while it’s good to see them finally answering bubblewrap, the truth is that we as an industry have been ridiculously at permissioning for some time and this does not solve this. It’s all very well saying we have read only resource access, but then you connect up to JIRA and all of a sudden you’ve got a different identity system, different resource model and and more complexity than you can shake a stick at.
Our current answer of just making the security model more and more complex isn’t working. It just means that, when things inevitably fail, we can say “well, they didn’t secure it correctly”. When even describing what is correct is hard, and setting it up is harder.
Honestly, this looks good, but we need a root and branch rethink of security if we want something that can protect us from rogue agents.
today at 5:44 PM
Microsoft security is a bimodal. They might have exquisite delineation for network resources in Sharepoint or Azure but consumer applications are a joke.
Excel, VSCode, Outlook, etc the permission model is a modal, "Do you trust this?" binary choice to enable full permissions to everything.
today at 8:31 PM
Seriously. Mobile devices have done a better job with this (in some ways) but it really should be a standardised thing of least permissions by default. And way. Way less confusing.
today at 7:40 PM
Sadly, skimming the docs about how the different backends work makes me think that almost this entire project was done by a recent-gen LLM that interpreted its instructions as “make these things work at all costs” instead of “make a considered design that cleanly and securely fits its use case”.
Even the bubblewrap integration docs are basically a stream of consciousness vibe splat. I have approximately zero confidence in the results.
(reposted from the other copy of basically this post: https://news.ycombinator.com/item?id=50026061)
today at 10:27 PM
I've watched the project for a while and tried different versions. It all looks very sloppy. And documentation is basically non-existent.
I think it's a good idea to create such an abstraction, but it's still far away from a 1.0 release.
today at 10:31 PM
I am really struggling to imagine the abstraction that maps well to both bubblewrap and hyperlight. (They’re both great projects. They solve different problems in different ways, although both fit with the word “sandbox”.)
I’m sure I could come up with an awkward abstraction, but bad abstractions are a bad way to build secure systems.
today at 10:30 PM
I've tried it, it's not a 1.0 release. This is more like an early tech preview.
today at 8:15 PM
The biggest news - and the most welcome one - is that W11 25H2 August cumulative update now allows anyone to set up App containers without administrative privileges. Then they built mxc on top of that.
This is a first step: uncertain, unstable, with many improvements to build upon; but always a step, enabling pioneers out there to explore something new.
Thanks for sharing!
today at 8:19 PM
Thats huge for enterprise, chatgpt desktop windows sandbox setup for users is a slog at the moment. Second big thing, Intune and identity via agent365 is on the way!
today at 10:18 PM
How are you creating the sandbox or you do specifically mean any requested sandboxing the from the Windows Store running ChatGPT desktop app?
today at 3:55 PM
What are these people running from? They're not! They're running to the world's toughest competition in town!
today at 5:10 PM
Most Extreme Elimination Challenge (MXC)
https://en.wikipedia.org/wiki/Most_Extreme_Elimination_Chall...
today at 4:12 PM
> An agent cannot be its own security authority. It must run within a boundary defined by the developer or organization and enforced independently of the agent itself.
...so make it its own security principal, distinct from the human user?
> Without a managed execution boundary, the agent may decide that changing the server configuration is the fastest way to complete the task and potentially break the production site.
It can decide that even with the execution boundary in place, you know. What matters if it can actually act that out.
All in all, a very sloppily written announcement. Almost as if it was written by—
today at 4:34 PM
> ...so make it its own security principal, distinct from the human user?
That presumes the existence of a security context, which this product provides. Where do you configure the security principal otherwise?
today at 4:47 PM
Windows already has a multi-user security context, with file- and API-level permissioning. We often call it “Users” or “RBAC”. I’ve read it and I’m still not sure what I can do now that I couldn’t a week ago.
today at 6:45 PM
The same-machine-multi-user security paradigm has been dead for a long time. Even on linux, you pretty much assume root or non-root and leave it at that. You then use other layers (namespacing, kvm, etc) to enforce actual security isolation and controls.
root/non-root split is almost entirely used as a "don't let people accidentally shoot themselves in the foot" mechanism these days. Like you don't want your point-of-sale operator to accidentally disable the network or mess up the firewall rules effectively bricking the machine. Requiring an IT person to make the trip to fix it for them. But you would never "trust" the separate user profile on that POS machine as something keeping a purposefully malicious employee out of a secure system. The entire machine, regardless of the user profile, is the same security context. The uid/gid concept is an antique from the 80s that stopped working a long time ago. It's just an organizational primitive now for the most part.
I remember the fun days of the 90s and early 2000s when there were shared machines that a ton of people would ssh or rdp into with different user account and "share compute". It was fun, but absolutely no bueno for a long time now.
today at 8:23 PM
> The same-machine-multi-user security paradigm has been dead for a long time.
I ... what? Huge swaths of the computing landscape depend entirely that model. Schools (from primary to academic research), Windows Active Directory workplaces, thousands of cheap VPS providers ... the list is very long. All of those contexts absolutely use user accounts on the same running OS kernel as a security boundary. I've seen more than a few academic and government worksites where effectively radioactive data owned by one user was on the physical machine that other users routinely used--just not in an account they could access. Those places' infosec history wasn't perfect, but not because of the insider-threat-on-shared-machine risk.
In cloud/webtech, I think it's easy to overlook just how many massive organizations rely on stuff like shared AD workstations, cheap user-based shared hosting, or shared HPC a la "every member of the university gets an account on the SLURM cluster and we slice compute allocations by account--and separate accounts prevent the new intern from seeing protected IP".
Like, malicious employees can attack such systems, yes. But with adequate mitigations (network partitioning, internet access control, auditing/telemetry, good SEIM, user data encryption where appropriate, patching...all the usual good practices) this is a perfectly viable security model. Not perfect, but nothing's perfectly secure and every security paradigm has tradeoffs.
Those environments aren't dinosaurs or asking for a security disaster; they've made considered risk assessments and decided that the multi-user-machine security model works for them.
today at 6:26 PM
Can you restrict accessible IP ranges by user?
today at 6:36 PM
It is possible with IIS, although it may require writing an actual plugin (which I did once, to do per-user routing; wasn't pleasant in the slightest). I don't know if it can be done out of the box.
today at 6:49 PM
I'm assuming they mean egress not ingress. Unless you restrict the machine egress to another machine running IIS both on the same AD and configure IIS as an http proxy with Windows Identity integration.
You're then brining an entire MS tech stack from the mid 2000s just to achieve something that has been solved by virtualization with a lot less caveats a long time ago.
today at 7:32 PM
I do mean egress. There was some way to force the machine to always go through the IIS proxy IIRC.
> You're then brining an entire MS tech stack from the mid 2000s just to achieve something that has been solved by virtualization with a lot less caveats a long time ago.
Well, yes. Honestly, it'd be nice to have an OS where recursive virtualization is a built-in primitive instead of whatever the hell we've been doing for the last 40 years over and over.
today at 4:23 PM
Can I use this as a generic app permissions boundary or do I have to somehow fake it as an "agent"? We are well past the point where I need to be able to lock down that my music player has no ability to read my SSH keys or whatever.
Naturally, this will be gated to corporate customers - the plebs do not get access to better security unless they pay for a top tier license.
today at 5:43 PM
FANTASTIC question here. I've been locking down agents by running them as untrusted users (mostly linux here) as even docker boundaries aren't really great. Firecracker is a step in the right direction (older tech, sure, but useful). I really want a local hashicorp-like vault that I can give agents specific access permissions and it can take forever to review and manage those access boundaries.
today at 6:57 PM
I guess buy a Mac then.
today at 5:36 PM
There are many things that would be good to lock down. NPM install comes to mind.
I wonder if I will be able to integrate this with dev containers somehow, so my dev container could run in stricter isolation.
today at 5:44 PM
I've seen folks using the VS Code workspaces concept for this. It's a bit limited but a good step in the direction I prefer.
today at 6:30 PM
VS Code workspaces doesn't seem to offer any protection:
https://code.visualstudio.com/docs/editing/workspaces/worksp...
Maybe you use GitHub codespaces?
today at 6:43 PM
No, I did mean VS Code workspaces. Now I'm going to go down this rabbit hole to better understand the boundary limits :)
today at 7:52 PM
I did some reading of the docs and can't see anything in VS Code workspaces that would help.
today at 8:29 PM
I want a super-simple way to restrict an app's read/write to a specific dir. This is an incredibly useful solution that should have existed 20+ years ago. Why is this not a thing? This will basically solve most security issues immediately, in a super user-friendly way.
I don't believe this is what MXC accomplishes. Happy to be told otherwise!
today at 8:32 PM
You can launch arbitrary executables with MXC but different backends provide different security guarantees. Some backends like LPAC on Windows cause many exes to straight up fail during startup (powershell for instance)
today at 3:30 PM
Its a good idea and enterprise customers will love it.