GeekyBear
3 days ago
The full disk access permission is something you give to backup software.
If you give full-disk access to Meta software running on your main computer, Meta is not going to respect your privacy.
> Friday’s [full-disk access] announcement comes two weeks after tech columnist Jason Aten said that Meta’s new general-purpose AI agent Muse sent him an unsolicited notification referencing a thread between him and a co-worker over Apple Messages. Aten said he never granted Muse permissions to read his messages and had assumed they were off-limits. Social media last week blew up with masses of people who agreed and said the incident showed that AI assistants given access to calendars, emails, messages, shopping accounts, and other resources are akin to a skill saw or other power tool. While potentially useful, they can do real damage if not used carefully.
https://arstechnica.com/security/2026/10/apple-changes-full-...
If you want to know why Apple is suddenly not happy about the way the full-disk access permission is being abused, look no further.
drdexebtjl
3 days ago
The problem is that Apple only enforces TCC permissions on the root of the process tree.
So, for example, if your backup software is a CLI, you have to give Full Disk Access permissions to your Terminal, not the backup software. And subsequently every other process you start from your terminal will also have Full Disk Access.
Enforcing it per executable down the process hierarchy isn't helpful either: you'll eventually grant it to an interpreter (zsh, python3) and create a hole.
TCC's security model is fundamentally wrong.
Unix solved this decades ago: agents should be their own user. What's missing is the tooling to make disposable users practical, and perhaps cross-platform filesystem ACLs.
mike_hearn
3 days ago
There actually is a private API that lets you disclaim responsibility for a subprocess: responsibility_spawnattrs_setdisclaim. It's used by things like LLDB and Launch Services, but a few other programs like Chrome use it too.
There's a program that lets you use it from the terminal here:
https://github.com/AprilNEA/disclaim
I think Apple don't expose it as public API because TCC is meant to map user permission prompts to things the user understands logically as applications, which means things they started. If apps can have the user be prompted to grant permissions to sub-components of themselves it can get very confusing quite rapidly.
The supported way to do this is therefore to just make a proper Mac app with its own bundle ID, sign it, and ask Launch Services to start it up - potentially via XPC. It will get its own TCC permissions set along with its own icon and so on. You can, if necessary, embed this app inside another one, although of course the thing the user sees as the app being given permission will be the identity of the embedded app so that reintroduces the potential for confusion.
itsmemyan
2 days ago
Shipping a native Mac app here (a Rust code editor), and this matches what I see daily. My app spawns language servers, terminals, and debug adapters as subprocesses — TCC treats the whole tree as one principal, so one signed bundle means one permission set. Convenient, until you think about it: any of those subprocess binaries, if compromised, runs with my app's TCC identity. Signing and notarization buy you the bundle identity but don't solve the confused-deputy problem for the tools you shell out to. XPC services with their own bundle IDs are the cleaner answer, but that's a lot of machinery for a small team to build and maintain.
mike_hearn
2 days ago
If you want to sandbox something like a language server then Seatbelt does exist, but using XPC helpers is definitely the supported approach.
I don't know if the amount of machinery is such a big deal now, an LLM can produce the needed code quite quickly. Those sub-processes shouldn't be disclaimed anyway because they'd end up without a proper code signing/bundle identity and get weird permission restrictions that can't be elevated. Claude App makes this mistake, IIRC.
noncoml
3 days ago
> Unix solved this decades ago: agents should be their own user
That’s a hand waving if I’ve ever seen one.
How is that going to help?
If the Agent gets launched with is own user is will not have access to ANY of the files that are only read by the user.
drdexebtjl
3 days ago
Yes, and the user can explicitly grant access to the agent users using filesystem ACLs. Too many agents with the same permissions? Make a group, give permissions to the group, and add your agents to the group.
Of course, as a user, you need some way to easily modify ACLs to do this, but that’s just a front end concern on top of a solid security model that every OS supports.
capsudo
2 days ago
Filesystem ACLs do not cover as many use cases as TCC or similar APIs. Suppose you want to give an agent access to only some of your messages stored in one SQLite database. ACL cannot restrict access to particular messages. Same goes to let an agent access your screen, even on linux where basically everything is a file, file based permission would not be enough. What if you want to share only a window for instance?
This is what dedicated higher-level APIs (like ScreenCaptureKit on mac or XDG portals on linux) are made for.
drdexebtjl
2 days ago
Yes, and these higher-level APIs can (should?) be built on the Unix permissions model.
That is, a messaging app could expose separate conversations as separate files or directories in a virtual file system. File system permissions could then dictate which users can access a conversation.
A screen recording virtual file system can expose each window as a separate file. File system permissions would then dictate which users can enumerate all windows (permissions on the directory) and which users can see specific windows (permissions on the files).
If you take “everything is a file” far enough, it follows logically that controlling access to files lets you control access to anything.
mycall
3 days ago
Apple containers help here in some regard, no?
parasubvert
3 days ago
Docker has an interesting approach lately with their sandboxes which are firewalled, proxied, and file system restricted microVMs (you can bind mount outside) with a docker daemon inside of it.
throw0101a
3 days ago
> Social media last week blew up with masses of people who agreed and said the incident showed that AI assistants given access to calendars, emails, messages, shopping accounts, and other resources are akin to a skill saw or other power tool. While potentially useful, they can do real damage if not used carefully.
This brought to mind Neal Stephenson's essay "Unix - The Hole Hawg of Operating Systems" from back in the day (1999):
> I myself used a Hole Hawg to drill many holes through studs, which it did as a blender chops cabbage. I also used it to cut a few six-inch-diameter holes through an old lath-and-plaster ceiling. I chucked in a new hole saw, went up to the second story, reached down between the newly installed floor joists, and began to cut through the first-floor ceiling below. Where my homeowner's drill had labored and whined to spin the huge bit around, and had stalled at the slightest obstruction, the Hole Hawg rotated with the stupid consistency of a spinning planet. When the hole saw seized up, the Hole Hawg spun itself and me around, and crushed one of my hands between the steel pipe handle and a joist, producing a few lacerations, each surrounded by a wide corona of deeply bruised flesh. It also bent the hole saw itself, though not so badly that I couldn't use it. After a few such run-ins, when I got ready to use the Hole Hawg my heart actually began to pound with atavistic terror.
> But I never blamed the Hole Hawg; I blamed myself. The Hole Hawg is dangerous because it does exactly what you tell it to. It is not bound by the physical limitations that are inherent in a cheap drill, and neither is it limited by safety interlocks that might be built into a homeowner's product by a liability-conscious manufacturer. The danger lies not in the machine itself but in the user's failure to envision the full consequences of the instructions he gives to it.
natpalmer1776
3 days ago
Which is why I wish Apple would support Linux out of the box on their M-series hardware.
I do not want to hand my child a Hole Hog, I want to hand them a residential power drill with the torque settings locked to a safe level. I need a fucking Hole Hog for the work I do.
There is a time and a place for every tool, and sometimes the hands holding the tool influence this more than an expert would care to admit, who instead say things like “you’re doing it wrong!” to admonish users who didn’t even know there was a difference between the tool they held and the one they needed.
someguyiguess
3 days ago
I'd feel about 100x safer with my child using MacOS than any Linux distro. Linux comes with much more footgun built in than any commercial OS.
curt15
2 days ago
If it's their own computer, what better way for them to learn than by making mistakes? And if it's a shared computer, Linux container tools (e.g. https://github.com/containers/toolbox) would let them "sudo rm -rf /" in their own environment without jeopardizing the base system or other users.
PorciiVorbesc
3 days ago
How so? In what way would some immutable distro with GNOME be less safe than MacOS?
natpalmer1776
3 days ago
Yeah, that’s why you hand them the residential drill (Mac)
GeekyBear
3 days ago
> I do not want to hand my child a Hole Hog, I want to hand them a residential power drill with the torque settings locked to a safe level.
rm -rf / would like a word.
natpalmer1776
3 days ago
You forgot sudo and an admin entitled user’s password.
someonebaggy
3 days ago
If it's really a Hole Hawg, you run as root, or at least passwordless sudo.
natpalmer1776
3 days ago
I thought they were calling the residential drill a hole hawg.
To your point though, not everything in Mac can be solved via root user privilege. SIP is annoying to toggle, the main issue being discussed also demonstrates why Mac OS is not the proverbial Hole Hawg as well.
throw0101a
3 days ago
> SIP is annoying to toggle, the main issue being discussed also demonstrates why Mac OS is not the proverbial Hole Hawg as well.
macOS in its default configuration may not be the HH, but if SIP removes those limitations it is still available.
As someone who (a) does some tech support for family, but also (b) uses a MacBook for sysadmining Linux servers, but kind of happy with the current balance. I don't think I've run into SIP limitations, so perhaps I'm not an 'advanced' enough user of macOS (MacPorts generally works for the 'extras' I need on top of base macOS).
user
3 days ago
natpalmer1776
3 days ago
Well shit, I went to verify my litany of QoL complaints that couldn’t be resolved via disabling SIP and turns out there has since been a solution for for the main one (Gatekeeper) and the remaining issues boil down to personal particularities.
So I rescind “needing” a hole hawg and correct it to “strongly prefer or desire” a hole hawg. Mainly because I shouldn’t have to rip apart a magic keyboard to embed a touch ID module into a 3D printed case for a standalone fingerprint reader module.
detourdog
3 days ago
What about an off the shelf fingerprint reader.
natpalmer1776
3 days ago
Doesn’t work with touch ID.
microtonal
3 days ago
macOS supports smart cards for unlock. And the YubiKey Bio has fingerprint authentication. So I think you can do your own kinda Touch ID with the multiprotocol YubiKey Bio version.
natpalmer1776
2 days ago
Thats cool to know. I already tore apart a magic keyboard and stuck the fingerprint reader in a 3D printed enclosure but I’ll definitely try that if it breaks.
someonebaggy
3 days ago
What's stopping you from reverse engineering that module?
saagarjha
3 days ago
Yeah sure dude they’re going to do nation-state level silicon attacks against the key material in that sensor
natpalmer1776
3 days ago
Same thing that’s stopping me from building my own computer chips using a home lithography setup and clean room.
swader999
3 days ago
That's a drilling rig
gruez
3 days ago
Where the analogy fails is that the relationship between doing the thing (ie. using a Hole Hawg or granting agents access to your data) and the consequences (ie. ruining your house or getting pwned) is far less obvious in the case of AI, especially if it approximately works most of the time and the failures are seemingly random.
montagg
3 days ago
And the folks productizing this are actively working against noticing its power by making it cutesy. It's a good product choice IFF it matches the capabilities, and it absolutely positively does not.
roughly
3 days ago
If you don’t understand the consequences, the Hole Hawg is not for you, and neither is the AI.
roughly
3 days ago
Jesus, that’s a great essay. Gibson and Stephenson are seen as the twin prophets of Cyberpunk - Gibson wrote about society, Stephenson wrote about technology. That man understands the technium better than anyone else out there.
(Bruce Sterling was the weird hippie who kept feeding interesting things into the machine to see what colors they made - without him, Cyberpunk would’ve died on the vine.)
wpm
3 days ago
FDA is in fact not required for backup software nor should it be. For example, Bombich is granted the com.apple.security.files.all entitlement for Carbon Copy Cloner, because backup software needs to just work without the user chancing a miss on the TCC prompt when they first set it up only to find out the app didn't backup their photos after losing all their data.
Apple stopped adding protected file-system domains for some reason, and have only expanded TCC to entail more vague and nonsense monikers. Sandboxed apps of importance like Messages, Notes, Reminders, and so on, all just end up under the "Full Disk Access" umbrella because they all store their databases in ~/Library/Containers, and FDA is really the only thing gating access to that. Apple should just start pushing the permissions one level down into that folder. Do I want to give an agent access to my Safari history, but not my messages? Too fuckin bad! No way to slice that right now, it gets full disk access and can access anything.
danaris
3 days ago
Counterpoint:
https://pxlnv.com/blog/macos-full-disk-access-restrictions/
> ...the uses of Full Disk Access go well beyond the category of backup apps, and it is worrisome to see Apple give it such a limited frame. I have given that permission to disk management utilities, Sketch, Terminal, and other apps I do not want to be throwing permissions requests as I move around my drives. Is Apple suggesting this capability could be limited in the future to backup applications alone? I do not like that.
If Full Disk Access were, in future, to be something that I could not grant to (for instance) the Terminal, because it is not a backup app, that would severely limit my ability to do work on a Mac, both as hobbyist and as computer professional.
I agree that the agent situation is a fairly serious concern; I just don't want to see Apple throw the baby out with the proverbial bathwater.
GeekyBear
3 days ago
From Apple's statement, there doesn't seem to be any plan to remove the full disk access permission.
They want unsophisticated users to understand that they would be granting unlimited access to all of their personal data if they grant software that permission.
> We are committed to ensuring users clearly understand these risks before granting such access, so they can make informed decisions about their own data and privacy.
andreareina
3 days ago
... for now. Anytime I download an unsigned binary I need to go through this song and dance of figuring out again what command I need to run to strip the quarantine tag because none of the UIs that are supposed to allow me to trust this binary work.
GeekyBear
3 days ago
The company making laptops locked to an app store is Google.
Microsoft attempted to lock Windows to their app store twice, with both Windows RT and Windows S, but the market rejected both of those attempts.
Apple hasn't done that, despite claims that it's coming any day now for at least a decade.
fragmede
3 days ago
snazz
3 days ago
I hope what they offer is the ability to set more granular rules, like allowing my Borg backup script to access the whole disk, but not any random Git precommit hook (for example). Given that practically all of the existing restrictive security features on macOS (for example, SIP) can be disabled, I feel confident that Apple will make hobbyist and professional use cases still possible, just requiring some extra scary messages. I’m ok with that trade off.
kylec
3 days ago
I think that was the initial concept of what "Full Disk Access" was supposed to be, but I've run into needing to give some of my own apps full disk access for very innocuous reasons. Recently, I wanted to build a little app to give me a Time Machine on/off switch by calling "tmutil enable/disable". A single on/off command with no need to access any of my data, but its use was gated behind needing Full Disk Access. Hopefully if Apple is rethinking Full Disk Access permissions they will rethink better ways to provide these sort of permissions.
kakacik
2 days ago
Why is anybody surprised with meta ? Seriously, you guys ignore all the news about that company and privacy for last 2 decades? Privacy for them is an obstacle to engineer around and nothing more, and this is baked to the core of their philosophy, not some rogue fringe team pursuing results at all costs for past 3 months.
There was a time I had their FB app and messenger on the phone. Then it was found out that their crappy engineering couldn't hide the fact their apps were constantly watching users and other apps on entire phone, causing >15% additional battery drain, even when they were not opened.
I've removed all of them, never needed them on phone (or at all) and can't complain at all. Don't expect privacy form meta, any, ever.
daft_pink
3 days ago
The problem I have is that when I ssh into my mac, I want to be able to control software from the command line and having a popup authorization window that just halts the software being controlled is not good for me. I'm okay with having the authorization, but they need to make it visible to ssh users when ssh'ing in.
ryanascend
3 days ago
I hit this from the headless side. I run everything on a Mac mini over SSH, and TCC prompts are invisible there too. Agents spin up new binaries that trip fresh permission prompts with no way to pre-approve them, so you either babysit screen sharing to click OK or leave screen sharing on, which is exactly the exposure that got the author here. The permission model assumes a person sitting at the keyboard, and it falls apart the moment the Mac is a server.
mochizou
2 days ago
[flagged]
ryandrake
3 days ago
Another case of "This is why we can't have nice things." Application developers who feel entitled to accessing everything they can on the user's computer, without obtaining consent from the user. So, now we have to have these consent walls everywhere. Way to go, application developers.
x0x0
3 days ago
> Way to go, application developers.
I really dislike this point of view.
1 - we're all going to suffer because meta are scum. It's not "all application developers", it's "exactly who you assumed it would be", and also too, "exactly the same scum who've spent the last 10 years working around privacy controls any possible way they can and deliberately obfuscating the choices people make around their privacy." The people who made pervert glasses and did covert web-to-app tracking by opening local ports [1] and bought sketchy spyware to track everything you did and scurried away from the light the second someone asked about it [2], [3]. And on and on and on.
Spotify has long asked for it and... they use it to copy my local mp3s onto my phone so I can listen to them away from my computer. It's awesome.
This doesn't mean that Apple isn't champing at the bit to use Meta as an excuse to screw all software developers. If Apple cared about their users, they'd do something like revoke Meta's software keys and leave responsible developers alone. Alas, Apple will obviously exploit this too :(
[1] https://localmess.github.io/
[2] https://en.wikipedia.org/wiki/Onavo
[3] https://uk.practicallaw.thomsonreuters.com/w-040-4130?transi...
j16sdiz
3 days ago
Meta maybe worse wrt privacy. .. but they are NOT alone in disrespect of user consent. Microsoft have the UAC dialog before Mac. There are tons of blogs from the old msdn devblog on what app developer have been doing to work around them.
jwitthuhn
3 days ago
Full disk access requires explicit consent from the user, and can only be given to an application using an obtuse workflow that is deliberately more complicated than just clicking accept.
Apple considers a user deliberately delegating access to their data to any program not controlled by Apple to be a serious problem that must be corrected.
Application developers are not making the user experience worse, Apple is.
aprilthird2021
3 days ago
Watch them advertise that Muse will soon be able to do phone backups for you to justify this permission usage