You can't trust macOS Privacy and Security settings (eclecticlight.co)

315 points by zdw 4 hours ago

nottorp 2 minutes ago

Actually there is another way to reset the permission besides running tcutil reset.

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...

Angostura 3 hours ago

I think I’m probably being dumb, but the gotcha here seems to be - ‘if I give an application permission to access a folder, it has access to the files in that folder’ - which is what I would expect??

layer8 3 hours ago

Yes, you need to read more carefully. In particular:

“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.”

mh8h 3 hours ago

"6. Click on Open from folder and select your Documents folder there. Confirm that works as expected and displays the name and contents of one of the text files in Documents."

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.

layer8 3 hours ago

Liquid_Fire 3 hours ago

mixmastamyk 2 hours ago

Screen time is swiss cheese as well, not surprised.

lynx97 3 hours ago

This is so typical for Apple software "quality". While a truly love some of the features Apple has put into my pocket, I am noticing since years that at least iOS is the first commercially sold platform where I sometimes have to press a boolean toggle twice to have it take effect. They seem to have a lot of bugs around UI synchronisation.

yAak 3 hours ago

The gotcha is “I gave it permission, then revoked permission in the UI, but it still has permission.”

swiftcoder 3 hours ago

That's not quite it either. It's more along the lines of "I revoked access via one mechanism, then granted it via a different mechanism, and the setting UI for the first mechanism doesn't reflect the second action".

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

lloeki 2 hours ago

wtallis 3 hours ago

Not quite. The steps are revoking permission in the UI (which works as expected), then implicitly granting permission in a way that the UI does not reflect but quietly persists.

DrammBA 3 hours ago

TFA intro (emphasis mine):

> 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.

altairprime 3 hours ago

One might expect macOS to recognize “you selected a folder that’s already got a UI associated with it” and to wire this up on the backend through the UI rather than creating a simple path exception that leaves the UI nonfunctional. I would have just filed a feedback report about it; but, the outrage-framing of that is, in historical context for this particular site, normal. They have posted extensively about Gatekeeper and TCC issues and seem to encounter them rather more reliably than others do, and released various tools (including today’s!) to support debugging, so certainly I empathize!

relaxing 3 hours ago

It’s really poorly written. After reading it all I still can’t figure out what’s the mechanism by which revoked permissions are hanging around, which is what would actually be interesting here.

kccqzy 30 minutes ago

It is poorly written. I have suspicion that the author is talking about the persistent file permission mechanism known as Security-Scoped Bookmarks, but the article makes it hard to understand what exactly is being discussed. It reads like a raw bug report without any analysis done.

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?

nativeit 2 hours ago

My impression is that the revoked permissions do not persist. Rather, an interactive window running under the user’s name has implied access to the user’s home folders, regardless of what’s been set under “Files & Folders” (which still applies for background/non-interactive processes).

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.

absolutedev 3 hours ago

Eye-opening findings. After reading the article I revoked every folder permission and tested: Insent still reads Documents even when the UI shows "None". This is a serious trust failure; transparency is supposed to be the whole point of those preference panes.

nativeit 2 hours ago

Don’t applications running under your user account have access to your user’s home folder by default?

josephcsible an hour ago

The entire point of macOS's TCC was supposed to be to make that not the case anymore.

iAMkenough an hour ago

No. You get prompted something like “Application wants access to your Documents folder” and “Application wants access to your Downloads folder” on first attempt of each folder.

eviks 3 hours ago

That's the beauty of using a GUI-first operating system!

> 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

epistasis 2 hours ago

Jobs is turning in his grave. There are lots of stories of this conflict at NeXT and Mac OS X where there's a quick fix but not via GUI, which was one of the many things that incensed him.

eviks 2 hours ago

Is there a common source/collection of such stories?

epistasis 2 hours ago

sillyfluke 2 hours ago

Speaking of GUI weirdness, I've seen a couple of relatively newer macbooks do this thing where the laptop is shutdown with wifi disabled, but after login on startup the wifi icon displays the wifi scanning mode as if the wifi is enabled and looking for networks before reverting to the wifi disabled display icon.

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.

jms703 2 hours ago

So the title should be something more like "macOS apps retain access to folders after access is removed by the user".

ezfe an hour ago

Nope. The user is not revoking the access that they granted. They are revoking general access to a folder, but since there is no way to revoke specific access nothing happens.

jeremyjh an hour ago

Its both. They can never revoke access to a folder they opened/selecte in the app UI, and aren't notified that the app has permanent access.

But also, once they've explicitly granted access, and then implicitly granted access to the same folder, disabling explicit access changes nothing.

jasonjei 3 hours ago

The problem with Mac’s sandbox system is that it’s giving me some PTSD of Windows UAC. It’s inventing a solution to a problem that might exist in small doses, but instead gives users permission fatigue.

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.

al_borland 3 hours ago

Someone at Apple should watch some of their old ads.

https://www.youtube.com/watch?v=8CwoluNRSSc

halapro an hour ago

The best part is that this kind of popups have been introduced with OS X Lion in 2011, which only came 4 years after Vista.

cosmic_cheese an hour ago

I think the bigger issue is that way too many devs still live in the extremely dated paradigm of “anything has access to everything all the time”, even though this model has repeatedly proven itself unworkable (particularly for anybody using proprietary software, which is notorious for sticking its fingers in places it has no business touching).

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.

jjtech 2 hours ago

Note that this isn't "Mac's sandbox system", it's TCC. That's an important distinction to make, because apps that have opted into the proper App Sandbox can't do this... they don't even have the ability to display a prompt for direct access to Documents/.

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...

jasonjei 2 hours ago

Yes, TCC is what I meant, but my understanding is TCC is a platform wide sandboxing system?

galad87 2 hours ago

traderj0e 2 hours ago

I feel the opposite with Mac permissions (or Linux or Windows). Hardly anything asks me, and it seems like everything has access to everything. But same conclusion here, if I don't trust something, I want to explicitly sandbox it.

big_toast 3 hours ago

I feel like I can mostly use containers on macOS. Is there a different sense that people are using containers on *nix? Or are you referring to all the macOS specific software footguns?

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.

jasonjei 3 hours ago

I was building a lightweight imitation of OpenClaw. Just a Claude.md and iMessage watcher. I had to play around with Privacy a lot to be able to read my iMessages database, and do a lot of iTerm restarting.

big_toast 2 hours ago

iamcalledrob 3 hours ago

Plus, Apple exempt their own apps from a bunch of these permissions (because it would be an unacceptable user experience for their customers)

josephcsible 42 minutes ago

> I personally think the traditional *nix model has served us quite well

It has the https://xkcd.com/1200/ problem on almost all end-user setups.

galad87 2 hours ago

TCC is a different thing. Sandboxed apps work differently and won't need those TCC dialogs.

p_stuart82 2 hours ago

performative is right. files & folders says blocked. open panel access still works. the pane only knows about one path

shantara 3 hours ago

One of the worst cases happens immediately after logging into a fresh Mac, or after upgrading one. You’re instantly hit with a barrage of requests from all the installed apps and their various permissions. It makes for such a terrible initial user experience, it’s utterly baffling someone at Apple has signed it off. They used to poke fun at Windows in their ads, but UAC has never been that terrible in my experience.

jmount 3 hours ago

Very much agree. In fact I don't remember Vista or UAC being as unreliable as the Mac now is.

cedws 2 hours ago

Is this a bug, security vulnerability, or just an oversight? It’s not clear to me.

As a precaution would it be a good idea to run that reset command for all apps?

isodev an hour ago

It’s Apple’s performative “security” (showing popups and asking the user for all sorts of permissions) overlapping with some pragmatic choices about how files and folders work. For me the gap is in Settings & Privacy - 1) it should be clear that the app has been given permission and 2) it should be harder to give permission once you’ve explicitly disabled it. 3) (nice to have) Apple should get rid of permissions that make you restart the app because it’s 2026 lol.

concinds an hour ago

These are considered security UI bugs. They are a subcategory of security bugs, since they result in users lacking control or awareness over permissions. If this were a Chromium bug it would get a CVE.

concinds 2 hours ago

There's another "security UI" issue in the latest macOS, that's been there for at least a few versions.

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?

grvbck an hour ago

That is really poorly worded by Apple, because if I understand it correctly, the "Files & Folders" list is just a list of apps that have requested Full Disk Access/FDA (or other locations).

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:

  Messages                     ~/Library/Messages
  Safari browsing history      ~/Library/Safari
  Cookies                      ~/Library/Cookies
  Identity services            ~/Library/IdentityServices
  Spotlight data               ~/Library/Metadata/CoreSpotlight
  Phone call history           ~/Library/Application Support/CallHistoryDB
  Facetime data                ~/Library/Application Support/Facetime
  TCC database                 ~/Library/Application Support/com.apple.TCC.db
"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...

SomaticPirate 2 hours ago

What is the arcane Terminal command to undo this access?

lapcat an hour ago

A few notes after testing extensively:

1) This is a crazy macOS bug!

2) The suggestion in the article to do tccutil reset All co.eclecticlight.Insent and reboot didn't actually work for me. However, I did first delete the Insent listing in Privacy & Security System Settings, which could have made a difference?

3) A plaintext search of the whole Tahoe volume from another volume with SIP disabled failed to reveal where this persistent access is stored. It's definitely not in the standard TCC.db files. Perhaps the permission is encrypted somewhere?

4) The access appears to be to the whole Documents folder rather than any specific file in the folder. If I have multiple files in the folder, the Insent app will sometimes show the contents of one file and sometimes the contents of another.

ezfe an hour ago

Doesn’t seem like a bug to me - it’s just a poor UI. Two different security systems both working properly but only one has a UI to show the protections.

lapcat an hour ago

Why would you think it's "working properly"?

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.

kccqzy 26 minutes ago

heyaco 2 hours ago

is this is why apple pushed an update yestersay?

dangus 3 hours ago

The first thing I wondered after reading this article is whether there might be a scheduled task to run the permission reset similarly to how the author ran it via the command line.

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.

bombcar 3 hours ago

This reminds me of the early days of MacOS where "repair permissions" was the magic fix to everything, or so it was rumored.

dangus 2 hours ago

Whoa you are bringing back some memories.

And it absolutely was a magic fix. I stand by it.

bombcar an hour ago

steve1977 an hour ago

xvector 2 hours ago

The post misunderstands how the permission system works.

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.

glitchc 2 hours ago

No, this is definitely a bug. The Privacy and Security panel is part of Settings, which is definitely part of the OS. Saying the Open and Save panel somehow has priority suggests that the Privacy and Security panel is not looking at the same parameters as the Open and Save panel, ergo a bug.

ezfe an hour ago

It’s not a bug and that is clear if you don’t use the documents folder as your example. When granting specific access it is not the same system as when granting general Documents folder access.

The UI just doesn’t reflect this.

jijji 2 hours ago

linux and unix before it has been a pretty consistent interface for decades, especially since the introduction of X windows in the 1980's..

dogusyilmaz 2 hours ago

I guess yes

throwyu 2 hours ago

I never trust american and Chinese companies

dackdel 3 hours ago

can you trust vpn to run well on a mac tho. like mullvad or something good.

MegagramEnjoyer 3 hours ago

imo, you can't really ever fully trust a closed-source system, which is why I advocate for linux distros, even though I'm a mac user myself (for now)

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)

post-it 3 hours ago

Yeah, they run fine.

AlexandrB 3 hours ago

This is a few years old, but at one point Apple was happy to bypass VPN or firewall settings to allow their own apps to communicate[1]. I don't know if this is still true on Tahoe, but I wouldn't be surprised if at least the mechanism still exists. So "they run fine", but they may not do what you expect them to do when it comes to Apple's products/services.

[1] https://www.macworld.com/article/675671/apples-own-programs-...

throwaway290 3 hours ago

It seems that author basically found a 0day and published it. It's for sure better than selling it on the dark web but maybe it's better first tell it to Apple?

ethanrutherford 3 hours ago

Not exactly. It's not a "new" attack vector, any software which was malicious would have already been able to attack when you first gave it permission (a prerequisite for this sticky permission issue). If you had downloaded an app and discovered it was malicious the remedy would generally be to uninstall the app, not just "revoke the permission for the one folder".

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.

throwaway290 an hour ago

> If you had downloaded an app and discovered it was malicious the remedy would generally be to uninstall the app

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?

concinds 2 hours ago

Apple Security would instantly close it as "don't see the problem here" if you reported it to them. They have a poor reputation around TCC bug reports.

throwaway290 an hour ago

That makes it OK for you to not responsibly disclose a vuln? Cool I guess)

concinds an hour ago

post-it 3 hours ago

Not really, just an unintuitive security feature. You still need the user's permission to access that folder, but that permission is then persistent. I consider it a UX bug for sure but not an exploit.

lugoues 3 hours ago

I agree, it's a ui/ux problem. It would seem that using the open file dialog should also request access but I'm guessing that was too intrusive and the user action is seen as implicit authorization. Security is one of those things that should aways be explicit though.

oceanplexian an hour ago

Well duh, the purpose of Privacy and Security was never Privacy or security. The purpose is to lock you into Apple's ecosystem and prevent you from installing your own software.

absolutedev 3 hours ago

Great insight! Thanks for sharing.

chrisjj 3 hours ago

> Once you have downloaded Insent

As if that's going to happen.

cifer_security 2 hours ago

This is exactly why the security model matters. If the OS or app can access your data, so can anyone who compromises it. The only real solution is client-side encryption where the server NEVER sees plaintext — your keys stay on your device.

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.

TeMPOraL 2 hours ago

Another solution would be for people to make up their minds. Maybe it's time to give up entirely on multi-tasking support in the OS, because what's the point if all interoperability is going to be disabled "for security"? Might as well just go back to running one program at a time and close up all those security holes in one go.

misir 2 hours ago

Why everything has to be on the server? ok, Where are you going to store your client authentication tokens or decryption keys. A proper file system isolation is a key if you want a proper application sandboxing

xvector 2 hours ago

Yet more AI slop on HN

b8 3 hours ago

I was considering buying a mini Mac, but there wasn't a way to encrypt it fully with Veracrypt and in the case of Francis Rawls the feds got pass Apples vault encryption. With the recent iPhone notification storage revelation I don't trust Apple at all.

nroize 3 hours ago

I couldn’t find any reference to File Vault being cracked in the Rawls case. Source?

Edit: I saw they accessed his Mac but they had his password. File Vault 2 wasn’t bypassed, and afaik has never been cracked.

nullpoint420 3 hours ago

Why crack it when you have silicon level backdoors?

nroize 3 hours ago

SilverElfin 3 hours ago

Notification storage? What’s the story there?

Nevermind just saw this: https://news.ycombinator.com/item?id=47716490

dadoum 3 hours ago

I think it is an acceptable quirk for a permission system that has been retrofitted on top of an ecosystem which was not designed with that threat model in mind.

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).

binaryturtle 2 hours ago

I never used the ~/Documents folder. Lots of apps just trashed their stuff in there over the years making that folder entirely unusable for my actual document files. I would have to dig through the mess to find them. So I have to admit that I don't really understand the extra "care" Apple is doing to this particular folder. Same for the ~/Downloads folder: all my actual downloads go to some other disk, since the system disk is so small. Protecting this two folders would be entirely useless here.

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.