DE version is available. Content is displayed in original English for accuracy.
Advertisement
Advertisement
⥠Community Insights
Discussion Sentiment
41% Positive
Analyzed from 4319 words in the discussion.
Trending Topics
#access#permission#folder#security#app#user#apple#apps#permissions#files

Discussion (169 Comments)Read Original on HackerNews
â8. Confirm that Documents access for Insent is still disabled in Files & Folders.
â9. Whatever you do now, the app retains full access to Documents, no matter what is shown or set in Files & Folders.â
[âŚ]
âAccess restrictions shown in Privacy & Security settings, specifically those to protected locations in Files & Folders, arenât an accurate or trustworthy reflection of those that are actually applied. Itâs possible for an app to have unrestricted access to one or more protected folders while its listing in Files & Folders shows it being blocked from access, or for it to have no entry at all in that list.â
It's because in step 6 the user explicitly selected the Documents folder.
The app can access the Documents folder because the user chose that directory in the native file browse dialog during the same run of the app. IMO that's a reasonable trade-off.
Is this part true? The article's fix involves running a command and rebooting the computer. If restarting the app was sufficient, surely you wouldn't need the command/reboot?
There's no privilege escalation here, but there is a misleading privacy settings UI, which offers no obvious way to audit/revoke permissions in the second case
- it's non-obvious that the second mechanism (a file picker) is a permission granting mechanism.
- it's non-obvious that the second mechanism (a file picker) is a permission granting mechanism whose permission survives the action context that triggered the file picker (e.g "pick a folder to do action A" also magically imbues similarly gated actions B C D and Z with access to that folder, possibly non-interactively even).
- it's non-obvious that the second mechanism (a file picker) is a permission granting mechanism whose permission propagates to an action gated by the first mechanism, a first mechanism for which "Yes" means yes but "No" means "Maybe, depending on past unrelated actions that triggered an unrelated permission mechanism"
> In this Fridayâs magic demonstration, Iâm going to show how what you see in Privacy & Security settings can be misleading, when it tells you that an app doesnât have access to a protected folder, but it really does.
And specifically they could show some code snippet to reveal what exactly the Insent app was doing. Was it calling startAccessingSecurityScopedResource of the NSURL class?
I could absolutely be missing something here, but the title would be accurate in saying, âMacOS ACLs arenât terribly intuitiveâ. But I think the behavior theyâre documenting is intended behavior.
âWordâ would like to access the files in your âDocumentsâ folder
âTerminalâ would like to access the files in your âDownloadsâ folder.
Yes, because I am telling them to access the files.
you hand-audit every update for every program you run? can you share your workflow to do this?
otherwise, i am not sure how you can possibly guarantee that the programs you are running "dont do shady shit" (or, "wont do shady shit" in the future). there have been several compromises of non-shady programs and libraries in recent memory.
All that remains is an algorithm to reliably determine which programs do "shady shit". How is it that you determine that Microsoft updates have not been tampered?
(insincere) apologies for the snarky tone. You are making light of a very hard problem and default deny until confirmed by the user isn't a bad first approximation.
> only way you can protect your Documents folder from access by Insent is to run the following command in Terminal: tccutil reset All co.eclecticlight.Insent then restart your Mac
Even if you're not an Apple fan, these sorts of stories are kind of great for learning about product development and companies in general, I think. jwz's stories of Netscape are also phenomenal. (Just don't click on any HN links that go to jwz.org, or you'll have to clear cookies to see any content there in the future. He's not a fan of the exploitation that startups frequently do to their employees and views HN as a primary channel of promoting that exploitation.)
Is this a GUI bug or is the wifi disabled setting overrided for a split second on startup? I haven't looked into it, but the latter would be extremely concerning.
similar, user-hostile behaviors I have found include:
- wifi network passwords are persisted through a system wipe and reinstall in recovery mode - a phone home is required by an activation step during installation - bluetooth is always re-enabled after an upgrade
But also, once they've explicitly granted access, and then implicitly granted access to the same folder, disabling explicit access changes nothing.
I personally think the traditional *nix model has served us quite well, and elective sandboxing using containers (Ă la Docker and so on) is quite good. The Mac sandbox model is probably ok for most normal users, but for power users is infuriating at times. Multiple restarts of Mac and various processes (and when you realize not enough scopes have been granted, another subsequent restart). I think Mac forcing all users into its sandbox system has been one of my least favorite impacts since upgrading macOS, leading to the enshittification of macOS.
The craziest thing is background processes started by Terminal/iTerm (such as tmux) can inherit Terminal or iTermâs elevated status even when Terminal or iTerm are no longer running, dead, or killed. So youâll have a bunch of elevated processes without the elevated parent or grandparent process runningâit makes me feel the whole permissions scheme is more performative than actually useful.
https://www.youtube.com/watch?v=8CwoluNRSSc
The way macOS handles permissions with user prompts might be the wrong UX, but giving every program carte blanche by default is definitely not the answer either.
Itâs dangerous, particularly for those of us who are developing and publishing software thatâs used by many thousands of people â weâre juicy targets and every time we disable protections in the name of convenience and carelessly run random third party software with unfettered access weâre playing with fire. I find myself consistently stunned by the flippant attitude SWEs take towards securing their systems. Our confidence that weâre too smart to fall victim is entirely misplaced.
With the App Sandbox, sandbox extensions are issues whenever you open a file using the file picker. They only last until the app is restarted.
A caveat is that you can save "Security Scoped bookmarks" (basically a signed base64 blob [1]) and pass that around to preserve access, but that isn't very common.
[1] https://www.mothersruin.com/software/Archaeology/reverse/boo...
I would say that TCC is working as intended, unfortunately, with many obscure behaviors to avoid breaking existing apps.
It's even more unfortunate that a lot of apps that could be easily sandboxed aren't.
I would like to be able to run arbitrary code with gradual/granular privilege escalation. (e.g iOS/android with more affordances and escape hatches. macOS is getting there, but it's been a pretty bumpy/potholed road). Right now if I download a random github repo, I'd put it in a docker container and give it ports/volumes/etc.
I feel like it should still be much easier, but the general sandboxing model seems directionally functional. (My understanding is containerization isn't a silver bullet security-wise, still requires fiddling, and would be a resource hog ram-wise if not CPU?)
I wish I could pick a parent folder/file and get a box to control everything (network/disk/folders/peripherals/accessibility).
It has the https://xkcd.com/1200/ problem on almost all end-user setups.
But about the unix permissions model, is it really useful? During all my years of using linux on my personal machine, I've always had everything owned by my own user. Setting up specific users for programs would be a pain, and I don't think anybody does that? Servers is a different question, because then you're not actively using the system in the same way, which makes managing user accounts and their permissions on an app-level doable.
For normal users I think what's done on iphones and such works fairly well, and there they actually seem to have implemented it properly so that it doesn't require a restart to grant permissions.
Simply go to Security and Privacy and turn the permission on then back off :)
What happens here is the UI displaying the permission state is buggy, but the permission actually works. It's just hard to see its state.
Buggy UI, modern Apple...
By the way there is another problem with that UI. The checkbox is blue when on and grey when off... but only when the window has focus. When the window is not focused it's grey in both cases. Different greys but still greys. And if you don't spend all day looking at checkboxes in Mac OS, you may forget if left or right is on.
And this is on Sequoia not <the low contrast update>.
Edit: I wonder if a reboot would also make security and privacy read the status properly. But it would ruin my uptime, so I'll let someone who has an OS update to install check :)
Edit 2: And I just noticed. I have a TB drive hanging off my Mac Mini and my games are on it. So there's a bunch of games in security and privacy (mostly crossover entries, but also for example euro truck simulator which is native) because they requested access to "removable volumes". No shit, they're installed on said removable volume.
Pretty scary considering the blast radius of Electron apps: huge attack surface (Chromium + Node.js), require permissive entitlements to function (e.g., disable-library-validation, allow-unsigned-executable-memory), JS code is often unencrypted/easy to modify, easy inheritance to all the TCC permissions the user granted to the app.
Popular Electron Apps: Claude Desktop app, Spotify, Slack, Discord, Microsoft Teams, VS Code, Notion, LM Studio...
It seems most likely that this is some kind of bug where that command or its underlying actions should be called every time the user unchecks something in the settings panel.
This is what we get when the iPhoneâs permission system is grafted on top of a desktop OS that was never designed for it. I think they could have done something that is more Unix-like and yet friendly to the GUI end user.
And it absolutely was a magic fix. I stand by it.
(You could see permissions errors in the logs that would go away after running it, which often didn't really fix anything but could make it faster since it didn't have to error out.)
As a precaution would it be a good idea to run that reset command for all apps?
IMHO where it really needs to be protected from when iCloud suddenly starts grabbing everything w/o the user's permission to upload it to some random Apple servers.
I go into "Privacy & Security", "Full Disk Access". A bunch of apps added themselves in there (Anki, Fission, Microsoft Autoupdate, WhatsApp), the toggle is disabled and I've never enabled it. Ok, whatever.
But when I go into "Files & Folders", and under those apps I see "Full Disk Access" in gray. Apps that have Full Disk Access toggled on look identical, with "Full Disk Access" in gray. What the hell am I supposed to make of that?
Is it a bug? Do they have full disk access? Is the UI trying to imply that those apps are solely controlled by the FullDisk toggle and are ineligible to request granular permissions for Desktop/Documents? Or that they are eligible, but haven't requested it? Or maybe they did request it, and I granted it, but I don't get to see it? Who knows?
It's really confusing that some of those settings can be toggled on/off, while the Full Disk Access is greyed out and can only be toggled under "Privacy & Security".
To add to the confusion, toggling FDA off just protects a few selected folders that Apple decided are extra sensitive, like:
"Normal" files and folders on your disk (including Desktop, Documents, Downloads, network volumes, and removable volumes) can always be accessed (even with FDA permission revoked!) after a simple prompt. [1][1] https://support.apple.com/guide/security/controlling-app-acc...
Giving access to a file via the Open and Save panel is an explicit declaration of consent.
Because the panel is provided by OS itself, the app doesn't get access to the item until the user has selected a folder or file through that panel.
The UI just doesnât reflect this.
That's the bug. Either that or MacOS has two separate/distinct mechanisms for managing permissions, which would be a huge security flaw.
The app somehow gained a permanent permission that I didn't give and that I can't remove no matter what I do. That's not working properly in any sense.
This is not true, you do give consent when you pick a folder to open
We've been building something in this space â Cifer Security uses ML-KEM (post-quantum) for key encapsulation and Poseidon hashing, with Groth16 proofs for verifiability. The server is intentionally blind to what it's storing.
The macOS permission model is theater if the app itself isn't zero-knowledge. Privacy can't rely on UI toggles â it has to be cryptographic.
VPN should be properly implemented though as you're able to verify network requests on your own and don't necessarily have to trust apple. Best guarantee is to have a VPN at router level that can't be circumvented by anything (+ a trusted router vendor)
[1] https://www.macworld.com/article/675671/apples-own-programs-...
As if that's going to happen.
It's not a good look for Apple, and it's not great that the permission revocation basically doesn't actually work, but any malware that could have infected the system due to this issue would have also been able to infect the system while the permission was still (intentionally) enabled.
There are many apps that themselves are not malicious but they run untrusted code via plugins and stuff. Like VS Code for example.
So you gave it a permission and then revoked it thinking all is fine. tomorrow an extension was hijacked and it now reads your files. cool?
But since they don't consider these as vulnerabilities in the first place, then yeah, sure.
Edit: I saw they accessed his Mac but they had his password. File Vault 2 wasnât bypassed, and afaik has never been cracked.
Nevermind just saw this: https://news.ycombinator.com/item?id=47716490
But sure, if I was assigned to make an all-purpose desktop operating system today from scratch, I would likely do this differently, but along with a bunch of other things I think (and the app would have to be implemented differently too).