IRC channel logs
2026-07-24.log
back to list of logs
<aka_dude>Hey, I've been looking through project ideas and suprisingly haven't found the one I've been thinking about. Please let me know what you think of this: <aka_dude>`monitor -- program args...` runs a UNIX program, intercepting every syscall it makes and letting the user _interactively_ decide what to do with it: allowed (either once or permanently), deny (same options), substitute results with another routine's output. These preferences (rules) can be stored, written in human-oriented language, and be generic - allowing e.g. read access to all files in a directory wit <aka_dude>h single statement instead of going through every possible file. <aka_dude>- can it open directory ~/.config/browser? (yes, forever) <aka_dude>- type /path/to/index.html in address input <aka_dude>- can it read file /path/to/index.html? (yes, for the duration of this session) <aka_dude>The point is to be able to run untrusted code with unspecified system requirements (like list of fs files it wants). I personally really want this kind of program on my worksystem, but Linux doesn't seem to provide the needed tools for implementing it. Capability-oriented kernels should? At least, intercepting illegal system calls is possible via exception handler. I am not sure about running native Hurd pr <aka_dude>ograms this way -- how are they expected to discover/acquire resources (ports)? Only from their parent? Somehow else? <youpi>linux does implement this through SElinux/apparmor/etc. <youpi>the hurd can implement it through interposing the rpcs ; rpctrace does that <aka_dude>> linux does implement this through SElinux/apparmor/etc. <aka_dude>Not interactively. Interactive AppArmor is only WIP in Ubuntu, and currently it only supports file accesses <Alicia>the end product you're looking for may not exist, but the mechanisms to achieve it do <azert>aka_dude: macOS and windows do that <aka_dude>Oh, didn't know that. How granular are their permissions? Do they really intercept any syscalls? Do they allow to substitute outputs? <azert>they are very granular normally set to protect individual folder for access. Yes the filtering is done in the kernel same as unix permissions. I am not sure what you mean by substitute outputs. The cool fact is that you get "apps" that immediately upload you whole Photos folder on their servers including your dieing dad and the photos of your <azert>daughter taking a bath, the second you grant access just to upload a single image <aka_dude>I don't get it. How do they get access to all the photos if only access to single image was granted? <azert>you can chose to grant access to a single image, that's an option for the technologically inclined users <azert>you might still by error press on the random dialog distracting you from your task <azert>and grant access to the full thing <aka_dude>As with any security measure, it's always possible to neglect it :) <azert>what I mean is that you are just adding a single click away from shooting you in your feet <azert>and you want this so that you can run code from bad actors on your hardware <azert>now, if we assume that using a browser substantially implies this, then maybe yours is a feature to be considered <aka_dude>I want to notice when my editor suddenly wants to crawl my home directory after an updat <azert>it is probably just downloading his 1GB runtime <azert>it is sad that there is no equivalent for certain tasks <aka_dude>I mean, there are other editors with plugin support, and those plugin come from untrusted sources <aka_dude>And if it wants to download its runtime, it should do it in its own config/cache/state directory. It shouldn't be wondering about my browser extensions or monero wallets <azert>why are you mentioning this over here :D ? <jab>aka_dude: I personally am a fan of OpenBSD's pledge and unveil syscalls <yang3>jab regarding "ps wuxa" and "ps axuw" bug in Debian GNU/Hurd, do I report that to the Debian GNU/Hurd buglist or GNU/Hurd general developer's list?