4 ms·
Allowlisting some Bash commands is often the same as allowlisting all
- teddyh 8mo ago“…with Claude Code”
- adastra22 8mo agoAre there any agent permission systems that do this correctly?
- extraduder_ire 8mo agoThe same caveats would apply to most kinds of restricted shell environments.
- zufallsheld 8mo agoSame thing for allowing specific sudo-commands. Many tools (like vim or the tools mentioned in the article) would have the same problem when allowing them to be run with root privileges.
- denysvitali 8mo ago=> https://gtfobins.org/ https://gtfobins.org/
- Terr_ 8mo agoNow I feel a bit more justified for over-engineering my automatic restic backup to not run as root, but to instead use "capabilities" to read files it doesn't own. Namely, CAP_DAC_READ_SEARCH [0] and related systemd settings. The only problem is that it inhibits using a convenience/wrapper script. [0] https://www.man7.org/linux/man-pages/man7/capabilities.7.html https://www.man7.org/linux/man-pages/man7/capabilities.7.htm...
- illusive4080 8mo agoSome at work want to let me run sudo vim only to edit my hosts file. This is silly for a variety of reasons, one of them being that vim can allow the user to exec arbitrary commands. If you give me root for vim, just save me the trouble and let me have unrestricted root so I can do my job.
- bauruine 8mo agoI had the same few years ago. When I pointed out that I can get full root with most of the whitelisted commands they answered "We know. It's not about security but to prevent lusers from accidentally rm -rf /* the server. Feel free to spawn a root shell. You obviously know what you do"
- CableNinja 8mo agoI deal with some regulated things and some users who usually wouldnt be allowed to see/work on a thing are granted special access to do so, with extreme limitations. Recently i was approached asking if we could strip down the users desktops to no gui, no sudo, for use as a jumpbox. I explained why users need sudo to do what they need, and was asked about limiting sudo. Its really tough to tell someone who is all about security (not linux security but regulatory security and such) that basically granting any bit of sudo access can lead to full access. There is a way that this can be handled, but its honestly sort of an afterthought functionality. facls. You can delegate multiple owners/groups and permissions for things, and it can work well, but you have to deal with facls on multiple fronts, setting them for basically the entire system. facls are great, in theory, but they feel like such an afterthought that they are often ignored.
- bloppe 8mo agoYou could provide decently meaningful and targeted sandboxing using mount namespaces and an overlay FS, while retaining sudo privileges for what you need to do.
- sadnboxx 8mo agoAllowing a "command" (executable, I believe) that isn't a read-only absolute path is a fool's errand. I will modify PATH and run my own implementation of it.
- pimlottc 8mo agoI know they’re just being through but the “go test” part is a bit “Pray, Mr Babbage”… Test code is just code. I know of no language where tests are sandboxed in any meaningful way.
- bloppe 8mo agoThey're sandboxed if you use bazel. Not as much as the nix people would like, but bazel tests get read-only access to the host filesystem except /tmp
- pimlottc 8mo agoRight, I should have said there are conventions and libraries you can use to limit the scope of tests but that requires intention and diligence. But fundamentally , “go tests” could run anything a normal go program can.
- eqvinox 8mo agoeverything is a container these days, and yet somehow collective-we don't manage to have AI agents run in a container layer on top of our current work, so we can later commit or rollback?
- Neywiny 8mo agoI feel like if I ever used an agentic AI that's how I'd need it to be done. Too many cases of AIs getting access to files that it shouldn't. But then then, how do I allow it to look things up online without sending all my code to some scammer that prompt injected on a tutorial? I don't think I'll ever trust it with anything proprietary or otherwise less than publicly available.
- iberator 8mo agoWhat do you mean?! Where? I would claim otherwise: 99% of software is not in the containers. Like 100% windows or debian software
- slipheen 8mo agoI don't know much about how windows software is packaged, but I find that a solid majority of desktop software I use is in flatpack and server software in OCI images
- deleted 8mo ago[deleted]
- hbogert 8mo ago> I really thought `eval` would not be abused on non validated input - your colleague, or you 1 year before.
- with 8mo agoTrue, you can do almost anything if find is allowlisted. find / -exec sh -c 'whatever u wanna do' \;
- bandrami 8mo agoI'm sorry but the idea of giving an AI agent a non-restricted shell is insane. If you don't want it to perform certain commands those commands should not be in its environment at all.
- totetsu 8mo agoI remember when I was starting out, someone on my team showed me, that in the case where we were allowed to run vi and root on a machine there was noting stopping one from just starting a child shell from within vi with root privileges.
- AllegedAlec 8mo agoNot entirely related to the content but man 'allowlisting' reads so badly. We should just out of ease of reading return to whitelisting.
- slipheen 8mo agoI'm trying not to get nerdsniped, but in the realm of subjective pragmatics, I personally find `allowlisting` to be drastically more clear.
- AllegedAlec 8mo agoMy concern isn't really clarity of intention, but that 'allowlisting' just doesn't flow as well when reading as whitelisting does.