Hacker News new | ask | show | jobs
by jFriedensreich 76 days ago
The "permissions as access/visibility" is unfortunately not holding up in practice. As nice as a simplification like this would be: No one wants to configure up front what permissions are needed. Users will run into annoyances and then just overcommit resource access the same way they choose to run yolo mode. Limiting access for security is a great part of a capability based system but a system that will be used in the way intended needs the following properties, which are mostly missing from the tools we have (apparmor, seccomp, oss VMs, seatbelt, docker, bubblewrap etc.)

- pause execution for a policy engine or user input

- variable scope permissions independent of what was requested. eg user needs to allow just this request to /test/myfile.txt or grant /test/* in that moment

- add (ideally also remove) capabilities based on dynamic user input or engine decisions without up front configuration

- not need application support, if apps need to support it the moment the harness uses an external tool the model breaks

deno, workerd and maybe a vm/docker solution with an webdav proxy mount and web-proxy are the only environments i am aware of where systems like this could be build at all, even there, with limitations. (Not writing this to sound absolute but to learn about other options I am missing.)

1 comments

> web proxy

do you know of a mitm proxy that "just works"? meaning, is able to spoof/intercept/modify running processes well enough that most stuff would run without manual modification?

There are tons that are all too simple or too complex or made for mesh networking in k8, or too slow and made for debugging. My go-to solution is to make ad-hoc proxies with workerd that work just the way i need and compile to a "binary". It used to be annoying to write capnp by hand but now you just point an agent at worker.capnp and tell it what you need. The output is concise enough to be nice for proper reviewing and as extendable starting point, so neither vibe coding nor much manual coding needed.