On the off-chance someone at Apple reads this, I'll repeat my perennial beg that Apple stops popping up 'Give me your (local admin) password right now' dialogs randomly throughout the day because the computer has a hankering to install updates or something.
Anyone with basic skills can whip up a convincing replica of that popup on the Web, and the "bottom 80%" (at least) of users in technical savvy would not think to try dragging it out of the browser viewport or switching tabs to see if it is fake or real.
The only protection against this kind of stuff is to NOT teach users that legitimate software pops up random "enter your password" dialogs in front of your work without any prompting. That's what these dialogs are doing.
Display a colorful flashing icon in the menu bar. Use an interstitial secure screen like Windows does. Whatever. But the modern macOS 'security' UI is wildly bad.
whartung 12 hours ago [-]
The thing I hate about these things is I have no idea why they’re asking this, and no idea what happens if I say No, even how to “manage” these settings should I wish to change it.
The UX is different from the apps saying “Hey, open the preferences panel and give us XXX” and there you can see the app, the capability toggle, decide to turn it on, or even go back to turn it back off.
These experiences have been why I’ve not a big fan of “capabilities” as a concept. The UX around them is awful, and almost has to be.
“Enable <root my computer> to enjoy your new app fully. “ This is what you get if the vendors have any say in what the messages should be.
Not really helpful.
josephg 11 hours ago [-]
> These experiences have been why I’ve not a big fan of “capabilities” as a concept. The UX around them is awful, and almost has to be.
I don't think the UX has to be awful. The problem is just that they're kinda half baked on macos, and bolted on, and not really a first class citizen. There's no reason you couldn't have:
- A preferences dialog showing which long-lived capabilities you've granted to which application. (Which is almost exactly what the accessibility preferences pane already is.) Ideally this UI could have a log of ways in which the application has used that capability recently and the ability to revoke it. Maybe even the ability to review the app's use of the capability. Show the review score to other users when the app asks for the permission.
- A little blob of text saying why the application is asking for the specified permission. iOS requires this from all 3rd party apps. So its kinda weird that MacOS is missing explanatory text entirely on these popups.
- Clear indication of what would happen if you said no.
- Interdiction. In a good capability systems (eg SeL4), a capability object doesn't tell you what you can do with it. Eg, you can't ask a file handle which file its actually associated with. This means you can craft your own "virtual" capability which fakes the expected behaviour and pass that to an app instead. Any calls made using the capability come to you. Whenever phone apps ask for access to my contact address book, I'd love to be able to say yes, but give them access to like 100mb of fake entries instead.
- And on top of interdiction: logging, call whitelisting, "Little snitch", etc.
- More fine grained capabilities. I don't want to give any app a "root my computer" capability. I don't want that to be a thing applications ever need or get access to.
I think macos's problem is that its trying to bolt on capabilities after the fact. POSIX isn't built around capabilities. As a result, app developers don't think in terms of capabilities, and they expect their apps (new and old) to work without them. In a real capability based OS, fopen() should probably take a capability as a parameter. But making that change would require changing just about every program ever written for the platform. And modifying the standard library of all programming languages.
mike_hearn 2 hours ago [-]
macOS already has the first UI. It's not just for accessibility, the Privacy & Security pane lists permissions in depth.
macOS doesn't show explanations because apps can come from outside the App Store meaning nobody is checking that the explanation is actually true, but users would reasonably assume someone has checked it.
Ditto for the explanation of what happens if you say no.
Fake entries would just be a very weird user experience if the user accidentally denied access, would freak people out, and be very un-Apple like.
macOS already has very fine grained capabilities. That's what the Privacy & Security pane shows you. In fact, on macOS every app is sandboxed out of the gate regardless of whether they opt in or not, and root is disempowered. This is better than other operating systems.
nmgycombinator 11 hours ago [-]
As someone who's looked into the internals of macOS for a bit now, this is all incredibly fascinating. However, I am curious: do you think capabilities could be implemented like this at a really low level? Part of me thinks we have the security models we do in POSIX is because they're simple enough to represent in C code.
The capability systems you're mentioning sound cool, but they sound a lot more complex. And if that's true, and they aren't built with irreducible complexity, then it would be possible to work around it by just pulling out bits and pieces from the system and abusing them.
josephg 7 hours ago [-]
SeL4 is a capability based operating system toolkit, entirely implemented in C. The core operating system is just a few thousand lines of code. Its even mathematically proven to be bug free - which is totally insane.
It even uses a capability to allocate (assign) memory. So you typically have a microservice (userland process) in charge of memory on the whole system. Other processes get heap memory allocated to them by asking that service for it. (Though typically you'll allocate large blocks, and divide it up using a normal allocator).
nmgycombinator 5 hours ago [-]
I think Apple uses an L4 variant for their SEP co-processor, though I'm not sure if it's that specific one. Sounds like another OS I'll probably have to do a deep dive into at some point.
As that page points out, POSIX file descriptors are effectively c-lists. A capability operating system would use similar mechanisms to control access to resources other than just open files.
The other things GP mentioned (logging, interdiction, UIs for visibility/control, etc) are layers that you would implement on top of the lowest-level capability system.
nmgycombinator 9 hours ago [-]
Oh nice! I'll take a look at these.
saagarjha 2 hours ago [-]
Capability systems are often simpler. The issue is that a lot of Mac software expects POSIX so moving away from that would break a lot of things.
Groxx 10 hours ago [-]
Capabilities are what lets you open a file picker from an app that cannot read your files, giving you a seamless and secure interaction with no extra UI.
They are definitely not always awful.
pornel 9 hours ago [-]
My non-techie relatives can't tell the difference between the local device password/passphrase and the iCloud/Apple ID password, so they'll enter them all until something works (I don't blame them, the UIs for these are unclear and inconsistent).
Apple used to make fun of Vista's UAC, but they've ended up with the same patchwork of sudden prompts, and even weaker UI.
nmgycombinator 8 hours ago [-]
Yeah, to be perfectly honest, I understand. I think TCC is meant to be the primary consent system, but there are others (such as the Authorization system, and the Service Management framework).
ronnieboy493 5 hours ago [-]
If macOS still attached modals to windows I think this might be less of an issue [0]. Not fixed, but less bad. In the previous screenshot, the modal lays over the toolbar which really reads as "part of the application". Steve Jobs, when demoing Aqua, made a point of the pain that is detached modals[1].
But here we are, detached modals, because of Apple's weird fetish for mobile UI on everything.
This is pretty straightforward for a malicious application to simulate.
nmgycombinator 5 hours ago [-]
Damn, that really puts things into perspective. Granted, attached modals presuppose there's a window to attach to. But I think that would probably be true 9 times out of 10.
dpacmittal 8 hours ago [-]
This. Moved from Linux to Mac recently and I was so confused about the random root password pop-ups. It gives no explanation on which app or command is asking for root access or why it needs root access. So I started denying the request after granting access a few times. Now I don't get that pop-up anymore. I still have no idea what was causing those pop-ups and why they stopped
Thanks for posting. I’ve had this vividly in my mind for years, but didn’t remember the source. Makes so much sense.
musicale 9 hours ago [-]
The passkey pop-ups which are indistinguishable from javascript pop-ups are a particularly egregious security mistake.
sureIy 8 hours ago [-]
What's the problem here? Javascript popups can't read your fingerprint so what would be the endgame of a fake passkey popup?
BetaMechazawa 4 hours ago [-]
timeout after 10 seconds "fingerprint can't be read, please enter password"
Klonoar 5 hours ago [-]
They’re saying they shouldn’t look similar because it conveys authority otherwise.
aranchelk 10 hours ago [-]
I really appreciate the integrated fingerprint reader in these cases. I usually run with my laptop screen closed (with external monitor) but open it specifically to authenticate in system dialogs.
aequitas 7 hours ago [-]
Apple also sells a wireless keyboard with touchid integrated. Works great. Especially if you also set pam to use touchid for sudo. They’re not cheap though.
They should really make it open as a dialog attached to the system preferences window, and within that include what app/service is requesting permissions. Having the free floating window isn’t good for anyone, and duplicating the settings app would at least make it slightly more difficult to fake.
phendrenad2 10 hours ago [-]
Plot twist: That dialog never existed! You already fell for it!
walrus01 1 hours ago [-]
To give an example of how little thought the non technical user pays to scary pop ups and warnings, people running MacOS and Chrome will regularly fall for full blue screen "your computer has been locked by windows, call Microsoft support at this phone number to unlock". It doesn't even enter into their minds that they're not running a windows computer before they even contemplate that it's just scam content presented in a full screen browser window.
matthewfcarlson 11 hours ago [-]
What is the threat model of clicking on a fake popup? Isn't it a no-op because it isn't actually coming from the system?
matthewfcarlson 11 hours ago [-]
Just realized that it asked for your system password if you don't have Touch ID.
xp84 10 hours ago [-]
The ones I get on my work MacBook Pro (which has Touch ID, which I use many times a day to do 1Password) ask me for my account password. No idea why. Also they never explain why.
jeroenhd 3 hours ago [-]
Having Touch ID does not immediately make all password popups disappear. I think it may be because of MDM/security settings my company puts on my work macbook, but now I get the joy of password prompts that sometimes work with Touch ID and other times demand a password.
I prefer UAC over whatever the hell Apple is doing. I've had days where I close my applications after a day of work and find two or three password prompts just hovering in the background. Were they important? Should I still permit them? Who knows!
ssd646 12 hours ago [-]
When logging into iCloud, they show a pop-up asking for the local password to the computer. And then they upload that password to the iCloud servers.
DowsingSpoon 11 hours ago [-]
Please provide evidence for a claim that logging into iCloud necessarily sends your plaintext local password to the server.
ssd646 9 hours ago [-]
I never said it sends your plaintext password.
It says it 'encrypts' your password, because it needs to access your Keychain. The dialog says this, but there is no way to opt out.
As someone who dove deep into keychain items for a previous write-up, I believe you are misunderstanding this situation. As far as I understand it, many keychain items can be stored in your iCloud keychain. However, your local machine can have its own keychain that's different than the iCloud keychain, with items that are not sent to iCloud.
And besides all that, to my knowledge your local machine password (the password you use to login) isn't stored in a keychain item, so there's no way it could make itself into the iCloud keychain, or your local keychain.
You may be mistaking some explanations. Your computer password is used to unlock your local keychain, but it itself is not stored in your keychain. Your local keychain is also not your iCloud keychain, it's not stored in iCloud.
Again, I'm not an Apple developer, so there may be stuff I don't know, but I am a developer in general and I have researched this. The above is my current understanding.
traceroute66 3 hours ago [-]
> many keychain items can be stored in your iCloud keychain. However, your local machine can have its own keychain
Yes. That's pretty obvious to anyone who opens Keychain Access.
On the left you will see the following under "default keychains" :
- login
- iCloud
> Your computer password is used to unlock your local keychain, but it itself is not stored in your keychain.
Yes. That's a fundamental, and again obvious requirement. Your keychain has to be encrypted somehow, and this is (IIRC) derived from your user password.
Software developers can further secure keychain by using enclave tied keychain entries[1].
Just recently learned I should be installing mac apps into my home directory Applications, not the system Applications (as every single app installer suggests). Of course, only makes sense for a single-user machine.
If I downgrade myself to a non-admin user, and install apps into my home Applications, then I'm not bothered by permissions requests from apps to update themselves. Almost all of them can just do it, on their own, with non-admin permissions. The only exceptions I've found are Tailscale and other stuff that needs higher level OS integration.
Unfortunately many (most?) application developers don't know this either, and many of them go so far as to explicitly require their apps to be installed in /Applications, they simply won't work otherwise.
Klonoar 5 hours ago [-]
Apple themselves have a quirk in some cases where apps that aren’t in an Applications folder get mounted as read-only.
Granted I haven’t seen the bug in awhile, but I also never saw acknowledgement of it being fixed so…
mike_hearn 2 hours ago [-]
That's not a bug, it's a security feature (hack?) called translocation. It happens if you run an app that was downloaded without moving it first using the Finder.
xp84 12 hours ago [-]
No comment on the overall topic, but I have long made a practice of installing into $HOME/Applications instead[1], and it's rare for me to encounter software that cares. A few apps have added popups to explain to beginners "Hey, you're running me from the Downloads folder, uhh, want me to properly move myself to /Applications/?" but that's about it.
The only apps I run from /Applications that aren't part of the OS are the ones that still use "Installers" like Adobe apps, because I assume they spew crap all over anyway. I haven't tried moving those, but I wouldn't be surprised if they deeply cared.
[1] The idea being that I could then migrate more easily by copying the whole home directory, and thus all my apps that didn't require "installation" would come over.
nmgycombinator 12 hours ago [-]
> The idea being that I could then migrate more easily by copying the whole home directory, and thus all my apps that didn't require "installation" would come over.
Unrelated, but this is what I find so interesting and cool about the drag-and-drop to install method prevalent on macOS. People complain, but what I guess they don't realize is that all they're doing is moving a folder into their `Applications` folder and that the "wizard" way they're used to is far messier.
Granted, since I think it's up to the developers, they often seem to make the user drag and drop into the root `Applications` folder.
manwe150 10 hours ago [-]
That’s fine, but also just means the “real” installer just runs on first launch instead in those cases, whether that is to ask for permissions or setup launch scripts or copy files to more places
But just think about how much fun phone apps could have been if you first installed an installer and than than that downloaded an app to install the side components before launching a configuration program for installing that specific software suite
Kwpolska 5 hours ago [-]
The problem with the macOS "just drag it to Applications" approach is the uninstall. Deleting the folder will not delete user data (what if it's damaged?), and it won't delete any system stuff the app created on the first run. A typical Windows installer is likely to do the former and will definitely do the latter.
nmgycombinator 5 hours ago [-]
I do agree that uninstallation can be hard on macOS. I think Apple just envisions a future where every app is self-contained and putting the app in the trash really does remove everything because it was all in there.
Maybe that's not realistic, though.
I still think there's something to be said about an installation/uninstallation process that relies purely on moving files around, no custom script execution.
jen729w 7 hours ago [-]
Just so you know, there is something about dragging that app bundle to /Applications that causes something to happen. Because if you `mv` it in the terminal, the app often doesn't work.
It's been a while since I did this, and I can't remember the details. Sorry. Someone else might.
tonyedgecombe 6 hours ago [-]
There is a bit of magic going on in Finder with /Applications. It’s actually two folders, one in the system partition which you can’t write into and one in the data partition where anything you install goes.
SSLy 4 hours ago [-]
There are three of them, two you've mentioned, and ~/Applications for each graphical user too.
egypturnash 10 hours ago [-]
All my Adobe apps are fine running from /Applications/gfx; I've never tried putting them into ~/Applications. They do also dump a bunch of stuff elsewhere.
mulmen 12 hours ago [-]
Now imagine that home directory was on your iPhone and you could plug it in to any Mac anywhere you went!
(Although you could get closer to that with an iPod back in the day! Lots of my fellow Apple Store employees kept a lot of apps and things on their iPods!)
traceroute66 3 hours ago [-]
> as every single app installer suggests
Not every single app installer, only those app installers written by incompetent devs.
Those written by educated devlopers give you the option to install "for all users" or "just me" (or words to that effect).
nyanpasu64 7 hours ago [-]
I don't even have a ~/Applications on macOS 15.4.1.
p_ing 7 hours ago [-]
You need to manually create it.
mschnell 6 hours ago [-]
In the Finder it is translated to your system language. For example, „Programme“ in German. It is still Applications in the terminal.
throwaway290 6 hours ago [-]
If you install an app in ~/Applications, it can auto update without root, but any sus code can overwrite it without root rights too
mike_hearn 1 hours ago [-]
Nope, that was fixed several releases back. macOS doesn't use the concept of a root user for years. It's there in the APIs for backwards compatibility but the actual enforced permission model is nothing like UNIX.
1. Apps can't tamper with each others files. Try writing an app that writes to another app's bundle, even if it's in $HOME, and you'll find you can't. One way to test this quickly is to ensure that your terminal app doesn't have "Manage applications" privilege in the settings app, restart it, then use vim to open a file in a bundle that appears to have user write permissions. You'll find it is read only.
2. root can't make arbitrary changes to the system unless you disable SIP (requires messing around in recovery mode terminals).
pbhjpbhj 4 hours ago [-]
Which is madly insecure, right?
throwaway290 3 hours ago [-]
I think so, somebody correct me if I'm wrong. Maybe if SIP is on and untrusted software is disabled then it would be caught, but if you have xcode then sus code can also probably sign whatever it created.
/Applications seems defense in depth for developer machines that often run untrusted code. Apps ask for admin to update & then I can deny it and go check the official site and stuff for download later
nmgycombinator 13 hours ago [-]
Fascinating! Personally, I need an admin account in my daily work, so I wouldn't do this, but for those it could help it definitely looks interesting.
mulmen 12 hours ago [-]
You can still choose to install apps to ~/Applications if you are an admin.
nmgycombinator 12 hours ago [-]
I'll definitely start considering it.
nmgycombinator 10 hours ago [-]
An important correction, so hopefully this bubbles to the top (this will be appearing on the post as well):
A previous version of this article mentioned below that this CVE was patched in macOS Sequoia 15.5 et al., but I was a bit mistaken in that. Despite being released today as well, it appears that macOS Ventura 13.7.6 and macOS Sonoma 14.7.6 are not patched against this vulnerability.
I wrote that sentence assuming that Apple would have included a patch in all of the releases. It was only later, when I checked the security release notes, that I saw I was not credited under the other two releases. I reached out to Apple to clarify if these releases were patched. As of writing, I have not heard back.
I chose to do my own testing and spun up a virtual machine. After some difficulties I got it updated to macOS Sonoma 14.7.6 and was able to compile and run my proof of concept. It still worked. I would assume the same is true for macOS Ventura 13.7.6. I'm not sure why Apple didn't include the patch in these two releases.
I will update the post when I have more information and/or context.
muppetman 14 hours ago [-]
I remember the I'm a Mac and I'm a PC ads that mocked this on Vista. And now my Mac is worse than Vista. It's so annoying.
pjmlp 2 hours ago [-]
Yes, Windows has had quite a few years to improve the experience of UAC, on the other hand there are plenty of other stuff to complain about.
nixpulvis 8 hours ago [-]
The tradeoff between security and extensibility is something which seems to be unavoidable.
But the goalposts have moved a bit. At least macOS is not plagued with malicious processes like was common on windows. Or maybe I'm just careful?
skinkestek 1 hours ago [-]
Neither was Windows if you knew what you were doing.
I ran Windows XP for years without antivirus back in the early 2000s and so did others.
nmgycombinator 14 hours ago [-]
Out of curiosity, what do you find annoying about it?
muppetman 14 hours ago [-]
Every time I update an app I have to be told I downloaded it from the Internet and do I trust it. Can this app look on the local network?
Constantly being nagged to the point I don't even check/care anymore.
Exactly what Vista used to do.
p_ing 12 hours ago [-]
This isn't what Vista "used to do". Vista had a single elevation popup dialog / shatter attack prevention screen. Any request that required elevation required this popup.
macOS has not only elevation requests but entitlements. Using the local network is an entitlement. What macOS gets very wrong is any denied entitlements will re-prompt next time you perform that action with the app, which may simply be starting the app. It also does one entitlement at a time, i.e. if you have an app that requires screen sharing and camera, you'll get the first entitlement, restart app, go to do action you wanted again, second entitlement.
Both OSes have MoTW, but Apple goes beyond with the notarization warning/block.
macOS users are going to suffer from prompt fatigue. And the /r/macos "secure cus UNIX!" will be wrong on two points.
sureIy 8 hours ago [-]
Technically you're right. From an end-user standpoint, it's irrelevant. Apple's mock vista ad applies just as well to Ventura: they're all annoying and a security theater if the user is just told to input admin password into any random popup.
Quick clarification on terminology. From a developer perspective, entitlements a static dictionary (or a collection of key-value pairs) attached to the app at code-signing time. The entitlements you mentioned don't "entitle" the app to access resources, as user consent is still required.
The local network popup thing is too overdone in my opinion. However, I do think it is a good choice (in some respects) for Apple to have the "this is a program downloaded from the Internet", even if it can be annoying. It might also be a push to get developers to publish on the App Store (where Apple can be more sure (hopefully) that the apps are safe).
It's a double-edged sword in my opinion. I think it's good that the OS is looking out for the user in a lot of cases. I also understand how it can give the users pop-up fatigue.
ben-schaaf 13 hours ago [-]
> It might also be a push to get developers to publish on the App Store (where Apple can be more sure (hopefully) that the apps are safe).
Apps on macOS need to be signed and notarised. Apple has the exact same capability to scan for malicious behaviour and revoke your keys regardless of how you publish. We all know the real reason they want to push apps towards the app store.
mike_hearn 1 hours ago [-]
"This is a program downloaded from the internet" isn't a push to the app store. It predates the Mac App Store, iirc.
It's another quick security hack (as they often are in any OS). Many years ago someone noticed that apps can pick any icon they want. And, therefore, if you could convince a browser to download a file to ~/Downloads (not hard), the user might look inside and find what appears to be a harmless JPEG or Word document, double click it and are immediately pwnd because back then there was no app sandboxing of any kind, no SIP etc. macOS in that era was a conventional desktop UNIX.
So the quick hack - make apps that download things mark files with extended attributes, and if the Finder sees that, it pops up the warning and then removes them. Now the user realizes (maybe) that the document-looking-thing was actually an app.
DecentShoes 11 hours ago [-]
*the App Store where apple can be more sure they'll get a 30% cut
trollbridge 13 hours ago [-]
I simply run `xattr -d downloaded-app.dmg` on apps I download that I trust to turn off this behaviour.
dylan604 13 hours ago [-]
yeah, 'cause that's so much easier than just saying yes to the prompt, or right-clicking and selecting open from the context menu
p_ing 12 hours ago [-]
In macOS 15, there is no GUI bypass. Right click -> Open no longer works. xattr is "the way". I'm sure someone has probably created an Automation or something for it.
nmgycombinator 12 hours ago [-]
There's a small section in System Settings that they don't really tell you about that pops up when the OS blocks a file from opening. You can then override the block there. Yes, it's extremely annoying.
trollbridge 9 hours ago [-]
I have an alias set in my shell for `xattr -d ~/Downloads/.{dmg,zip,z}`.
bigyabai 13 hours ago [-]
> It might also be a push to get developers to publish on the App Store (where Apple can be more sure (hopefully) that the apps are safe).
This is exploitation of developers, plain and simple. Apple should secure their runtime, not roleplay as a software rent-a-cop that manually (and fallibly) inspects submissions. The App Store is a blatant moneymaking racket, on mobile and desktop alike. "Security" is a fig leaf for the perverse incentive Apple has to corral developers under their thumb.
p_ing 12 hours ago [-]
I think entitlements are the correct direction to move in. I don't like Apple's implementation. But it gives us that fine-grained control of what an app can and cannot do with things outside of the app's "bubble" (or sandbox). We need Discretionary Access Control.
nmgycombinator 13 hours ago [-]
Honestly, I think you have a fair point there. I personally don't believe that any system could be 100% secure. But I do think there is a point to be made on the efficacy of securing the runtime compared to individual app inspection.
charcircuit 13 hours ago [-]
Apple does both. They secure the runtime and review apps.
bigyabai 13 hours ago [-]
And to NSO Group's delight, they don't review SMS messages or Safari contents either. The "curated security" shtick is a lie, it does not protect anyone and doesn't function reliably in the first place. Both targeted malware and generic scams are rampant and unrestrained on iOS. Many of them are promoted as iPhone Search Ads, or suggested Siri results.
The knock-on effects it has are even worse. By relying on this game of shuffling private entitlements around, Apple has less incentive to actually review what developers are doing with them. Look at the Uber iPhone app's screenrecord permissions, or when TikTok stole iOS clipboards.
Apple uses "secure" review as an excuse to not review apps or secure their runtime.
saagarjha 2 hours ago [-]
Apple's review sucks but you are very confused about your "takedown" of their security practices. It's not meant to protect against everything. Even well-made security boundaries can fail against sophisticated attackers, or be too onerous against generic malware.
charcircuit 13 hours ago [-]
But they do secure their runtime. It's not an excuse not to.
zakki 13 hours ago [-]
Microsoft was right.
TylerE 13 hours ago [-]
The one that I find really obnoxious is granting permission to read from a “removable” drive. Like the one my steam library lives on.
nmgycombinator 12 hours ago [-]
How often do you face that? I would think the OS would save your response in a way it could refer back to.
TylerE 12 hours ago [-]
Frequently. The problem is it’s per app not per drive. I had my entire homedir on there for a while but the prompts just got to be too obnoxious.
nmgycombinator 12 hours ago [-]
Damn, that sucks.
bigyabai 13 hours ago [-]
Oh god, don't get me started...
1. iCloud nags never go away if you don't log into iCloud
2. Apple Music is just an advertisement by default and "conveniently" opens every sound file mimetype
3. Functionally useless subscription slopware like AppleTV+ comes installed by-default for no reason
4. Package management is a colossal clusterfuck that can't even enforce package parity across system architectures
5. Apple still doesn't trust their users enough to have modern amenities like a native Vulkan runtime or Nvidia GPU drivers
Vista was terrible, but it didn't suffer from this level of identity crisis.
xp84 13 hours ago [-]
Speaking of installed-by-default, it's even more stupid that you can't even uninstall apps like Photos. Supposedly it's 'required for your Mac to function.' I'm sorry, I do not have a need for a photo library on a computer used exclusively to write software.
workfromspace 5 hours ago [-]
+1
I dont understand why Macos cant be more like iOS
tempaccount420 3 hours ago [-]
Unrelated, but I wish they merged macOS and iOS into the best of both, but... they would probably make macOS worse if they tried
louthy 13 hours ago [-]
Slight tangent: Apple TV constantly has MLS (major league soccer) and Apple TV+ in the left-side pop up Home menu, taking up real-estate for something I will never access. So annoying.
Why, as someone from England — with arguably the best football league in the world — would I want to watch American Soccer? I don’t even watch the English league.
The menu is:
———————
* Search
* Home
* Apple TV+
* MLS
* Store
* Library
———————
Title: Channels & Apps
* This is where all the channels I have actually opted for live — separate from the Apple products that I don’t want
———————
Both Apple TV+ and MLS should not be on that menu permanently. And it should be possible to turn them off.
dylan604 13 hours ago [-]
> Why, as someone from England — with arguably the best football league in the world — would I want to watch American Soccer? I don’t even watch the English league.
So you're the type that doesn't watch the Special Olympics I take it? MLS is the geriatric retirement league for super star players, or the not quite good enough to play in the other leagues league. One season, I tried to get into MLS. At one point I tried using a stop watch to clock how much time the ball was out of play in MLS compared to "real" leagues, and it was close to 20% which is not far away from amateur kids level of play.
I don't blame you for not liking the MLS branding. However, I'm guessing they paid a couple of shiny coins for that privilege, so they're naturally going to try to do anything to recoup that money
louthy 13 hours ago [-]
I don’t watch football at all. If it’s not cricket… well it ain’t cricket!
But even if it was a channel dedicated to test cricket (the greatest sport in the history of sport), I would still resent the foisting. These are clearly anti-competitive practices and that always leads to worse products eventually.
traceroute66 3 hours ago [-]
> iCloud nags never go away if you don't log into iCloud
I don't get people who buy macs and refuse to login to iCloud.
You don't have to use iCloud for storage or anything else, all that can be disabled in settings.
The biggest benefit of logging into iCloud is protection if your device gets stolen. It means the thiefs can't just wipe and resell your device. It means you can track and remote-wipe it in Find My.
nyarlathotep_ 12 hours ago [-]
I recall being able to access the equivalent of 'Settings' in Vista without it crashing constantly.
viraptor 13 hours ago [-]
> Apple Music is just an advertisement by default and "conveniently" opens every sound file mimetype
Not only that, but you get the advertisement every time it starts and then it doesn't play the actual file. So unless you join the service the process is: try to open the audio file, close the advert, go back to source, open the file again.
andelink 6 hours ago [-]
Agreed the default experience is bad. You can however change the default app for each of the relevant file types. I’ve set my default to be iina
nmgycombinator 13 hours ago [-]
I agree that it's weird that Apple TV comes pre-installed. The others I have less experience with so I can't really comment on them.
I might prefer respectful default apps that delight the user and don't cost anything more than what I paid for at checkout.
MacOS isn't for me, I guess.
tough 12 minutes ago [-]
I hear you, but 10y of MacOS usage habit will make that to you, it's easier for me to work around MacOS quirks and Apple's authoritarianism than it is to try and get a Linux distro I like to work perfectly for me for more than 6 months, or worse, go back to win
lapcat 12 hours ago [-]
From the beginning, TCC has been a house of cards. It only impedes legitimate developers and tortures users with permission prompts that Apple ridiculed back in the day, while malicious apps can easily bypass the "security" (theater) in countless ways that researchers continue to uncover and report. I'm not a professional security researcher, just a Mac developer, but I've discovered a number of bypasses myself. It's almost as if Apple engineers don't even understand the technology they're using. And maybe they don't! How many remain from the pre-iPhone era?
mrtesthah 12 hours ago [-]
The continuous incorporation of basic system features into TCC has drastically increased the friction of deploying enterprise management software on Macs (especially for education), to the point where I would question the overall value proposition.
I say this as a dedicated macOS (Cocoa) developer since 2003.
Alex_001 4 hours ago [-]
It’s sobering to realize that macOS's TCC system, often perceived as a rock-solid privacy gate, is fundamentally just a database entry away from being bypassed.
The illusion of consent — via a popup — is no match for local database manipulation, especially in developer environments where SIP is disabled or workarounds exist.
What this raises is a deeper trust issue: is UX-level consent a meaningful security boundary anymore?
We're increasingly relying on OS-level prompts as a line of defense, but if those prompts are soft illusions (or worse, programmable theater), then maybe we need to rethink how permission trust is actually enforced — not just signaled.
nmgycombinator 4 hours ago [-]
I mean, as others have mentioned, actually true capabilities would be nice. But as long as we're going to have a database, it would have to end up in user space or in the kernel. And I'm not sure how much I like either option.
nottorp 3 hours ago [-]
Well, today Mac OS told me Chrome wants to access bluetooth, which of course I denied.
So I guess sometimes the permission system works.
sefrost 16 hours ago [-]
My work Mac regularly pops up an alert box claiming that Slack is “trying to install a new helper tool”. I have no idea why or what it means. I asked IT how I could verify it was legit and they didn’t know.
I often wonder if this could also be exploited because it asks for a password and it keeps popping back up every time I click cancel.
dcrazy 16 hours ago [-]
This dialog comes from the System Management framework [1]. Slack is probably installing a privileged helper tool (conceptually similar to a setuid root binary) so that it can update itself regardless of where it is installed or which user originally installed it.
Seems like it should only need to do this once. I get this with almost every Slack and VSCode update. The correct solution for me is to quit Slack.app and let my company's management software do the update for me.
trollbridge 13 hours ago [-]
Chances are they have some kind of management software like SentinelOne that is preventing Slack from doing this (or storing the permission to do so), so it just asks over and over. Which is arguably worse.
socalgal2 14 hours ago [-]
I don't use slack except in the browser. I never get a prompt for VSCode. It must be one of your extensions.
closeparen 16 hours ago [-]
Maybe it's smart enough to require re-authorization when the binary changes?
ubercow13 15 hours ago [-]
Why would the helper binary change that much? A setuid-ish binary should be ultra simple and not constantly changing I'd assume.
QuercusMax 15 hours ago [-]
...and it should be able to replace itself.
e40 16 hours ago [-]
I installed Slack from the app store and never see this popup.
accrual 15 hours ago [-]
Discord does this as well I believe. I often needed to enter the administrator password to install a helper after the system had been off for a couple days.
nartho 14 hours ago [-]
Discord, Slack and VS Code desktop apps are all built using Electron, so I'm guessing this is an Electron issue.
jonplackett 15 hours ago [-]
And they are sooooo insistent. Just keep bugging you forever
nmgycombinator 16 hours ago [-]
A software updater was going to be my best guess at what this was. I guess I understand the flexibility it brings, but it definitely does have some security trade-offs.
haiku2077 15 hours ago [-]
I get this popup all the time.
It contains no information that I can reasonably use to match a decision on whether or not to allow it, so I always click cancel on it.
Discord can be installed this way as well. It's (imo) a better usage experience than their Electron apps.
Nearly every Electron app is better this way.
nmgycombinator 16 hours ago [-]
I'm not aware of the "helper tool" popup, but I would definitely be skeptical of it. Even if it is Slack, Slack is just a messaging application. I don't know what legitimate need it would have for a helper tool. I would ask Slack support, though (and hopefully you can get a real answer and explanation).
makeitdouble 13 hours ago [-]
> Slack is just a messaging application.
I kinda like this angle. While Slack makes an effort to work basically everywhere with low effort, I wonder what would follow if it wasn't the case.
For instance if for some stupid legal reason Slack was banned from macos, how many people would just switch to another OS ? I'd bet it would be a non trivial amount of users at this point.
JadeNB 10 hours ago [-]
> I kinda like this angle. While Slack makes an effort to work basically everywhere with low effort, I wonder what would follow if it wasn't the case.
This idea of respecting user preference is not the way, though. For example, back when Skype existed, you couldn't remove its icon from the macOS menu bar, because (1) Microsoft didn't believe you had the right to choose to remove that item, and (2) macOS believes an app developer should have more control over what goes in my menu bar than I do.
dylan604 13 hours ago [-]
or you know, just use the web app
makeitdouble 13 hours ago [-]
If it was a legal ban I'd assume Apple would go pretty far to make it happen, app or not.
1oooqooq 16 hours ago [-]
> Slack is just a messaging application
its sold more as a way to store and all conversations than the ability to be a messaging application.
the original pitch was to make all information, even private conversation of previous employees, searchable.
frollogaston 16 hours ago [-]
It doesn't need special permissions on your Mac to do that.
nmgycombinator 16 hours ago [-]
Damn. That sounds pretty dystopian. But typical for American corporate life.
frollogaston 15 hours ago [-]
I don't really expect my 1:1 conversations on the company chat to be invisible to the company.
trollbridge 13 hours ago [-]
In environments like this, my trusted colleagues and I communicated using Signal (and before that, WhatsApp).
One somewhat paranoid department that was convinced they were being spied on (they weren’t; I saw the Slack admin dashboard and management was too cheap to pay for the retention and spying features) maintained the use of an ancient Jabber based group chat for their own internal communications.
1oooqooq 11 hours ago [-]
if signal is on company hardware, they have crowdstrike for that.
trollbridge 9 hours ago [-]
This was around 8 years ago, but there was no MDM installed on our cell phones, regardless of if BYOB or company paid for device.
The only restriction was if you went to China, you took a burner phone (one of the old company phones, usually) and weren’t supposed to ever use it again once you left. I think they just sold them to a liquidator.
nmgycombinator 15 hours ago [-]
I don't either. But it's still a bit creepy regardless.
cyberax 15 hours ago [-]
Why? Companies already have to retain the data (in case of lawsuits, etc.).
Slack is also used because it allows to create persistent channels that are searchable. So they often end up being a knowledge base for the company.
nmgycombinator 15 hours ago [-]
I guess that's a fair point. It cuts both ways, but given that so many people use Slack as opposed to talking, the exact words people used and when are could be open to view. Whereas, before all of this, you may only just have the minutes of any official meetings. Any side chatter not in the meeting room and/or exact phrasings would be lost to time.
kccqzy 15 hours ago [-]
That does sound like it could be exploited, but with only as much exploitability as some random app that requires your password (for analogy consider a Linux binary that refuses to run unless being run as root). Ultimately it's a matter of deciding whether you trust the developer of the app and whether you trust this app is really from that developer. The day Apple prevents users from giving root access to a third-app app is when the Mac fully becomes a walled garden, and you can expect pages of HN complaints.
Overall I think it's good paranoia to not grant root permissions to apps that do not clearly need them such as Slack.
aziaziazi 15 hours ago [-]
Being paranoid, would it be possible that another app already installed (but not trusted enough to give privilege, let’s say a shady mouse driver or screenshot app) detect when slack (more trustfully) does launch to open a dialog at that precise time and deceive the user? Let’s say the shady app is named « SIack » or something close enough to be missed - but brand itself as innocents « screenshotPro4000 » in the app itself graphics so you’re not suspicious.
nmgycombinator 15 hours ago [-]
> The day Apple prevents users from giving sudo access to a third-app app is when the Mac fully becomes a walled garden, and you can expect pages of HN complaints.
I can see this happening, but it probably won't anytime soon. macOS is still open enough, and with the assumption that sometimes processes need root (see third-party Launch Daemons).
It would probably break quite a lot. But I wouldn't be surprised if they eventually gradually move macOS in that direction.
jq-r 15 hours ago [-]
And it so annoying because it steals focus so as you're writting a message it suddenly stops taking your input and "helpfully" continues typing your text into the password box.
rplnt 13 hours ago [-]
And they somehow stack in time. So after a weekend it's popping up over and over until I give up and quit Slack. It's been like this for a year I'd say. There's no way to stop them and they always get focus, which is extremely annoying. How can I revoke this permission from Slack? Seems pretty abusive.
jonplackett 15 hours ago [-]
These types of ‘security’ blockers are so dumb because they train people to act dumb. Even if they’re real, the next time they may not be.
It’s like how my bank often calls and wants me to give them my personal info for ‘data protection’ before we can speak. These are legit bank calls, training people to give out personal info to strangers.
hbn 15 hours ago [-]
As of the latest macOS update, every app is now asking every few days if it can have access to devices on your local network, or something to that tune. My theory right now is it's something in chromium that automatically asking for this and Electron apps will do this out of the box, but I can't remember which apps exactly have been doing this.
Regardless, yes it causes the exact issue you're talking about. I don't even read what the popups say anymore, I'm just blindly hitting an accept button.
jonplackett 15 hours ago [-]
I’m surprised Apple have let this happen.
When you make an iOS app and requested permission for something - photo library or location etc. you MUST write out a sentence of what you’ll use it for which is shown to the user.
Why not the same for Mac apps?
reaperducer 14 hours ago [-]
Why not the same for Mac apps?
How would Apple enforce that?
iOS apps go through the App Store, so proper behavior can be enforced.
The apps people are complaining about here are downloaded from the vendor. Apple is not involved.
Kwpolska 5 hours ago [-]
Apple controls the OS and permission system. They could just automatically reject all permission requests with an empty/short reason.
saagarjha 2 hours ago [-]
Nobody knows what they are; Apple provides no tools to diagnose what it is.
beezlewax 15 hours ago [-]
This is chrome for sure. There a bunch of threads if you search the actual error message you'll get hits on stackoverflow and in apple forums
codebje 15 hours ago [-]
If someone cold calls me and asks me to verify myself, I refuse.
If it’s an expected call or they give me a good reason to, I’ll call their listed contact number back.
So far I have not missed out on anything of consequence by refusing to identify myself to someone who initiated contact with me.
jonplackett 15 hours ago [-]
I likewise refuse the bank’s call and they’re always really confused why I’d do such a thing - so clearly they have successfully trained all their other customers to be morons - and then they will no doubt blame them when they get conned.
floatrock 14 hours ago [-]
Not an os-x developer, but I've always wondered are there any OS guardrails against any (malicious) application showing a window styled the same way as that popup box and just stealing your password?
nyarlathotep_ 12 hours ago [-]
VSCode does this too on work-issued Mac.
I've been ignoring both for literally years.
1shooner 15 hours ago [-]
I get this from every Electron-based app that I have run as multiple OS users.
gorfian_robot 12 hours ago [-]
same but nordVPN
kristel100 3 hours ago [-]
At this point, “permission fatigue” is real. You almost get trained to click ‘Allow’ just to get work done—which defeats the whole point. Would love a tiered trust model, not binary prompts.
freddie_mercury 2 hours ago [-]
> You almost get trained to click ‘Allow’ just to get work done
I had an interesting experience of this with a normal/non-technical user when my wife asked for help setting up some money remittance app. Early in the install it popped up some dialog, something about whether you wanted to transfer money via credit card or...except she clicked the "OK" button before I could read more than that. As in, she clicked it literally as fast as she could process there was a pop-up and move her finger there.
I asked her why she clicked the pop-up away without reading it, it might have been important...and she literally began to argue with me that there hadn't been a pop-up and what was I talking about.
Just like how our brain has learned to edit out blinking, it seems like (at least in some circumstances) her brain has learned to edit out pop-ups and essentially muscle memory is clicking "Okay" as fast as possible to get back to whatever she was doing.
silvestrov 15 hours ago [-]
It took Apple a full year to release the fix. That is a very long time.
2024-05-04 I leave several additional update messages as I continue testing my PoC
2025-05-12 The patch is released
nmgycombinator 15 hours ago [-]
Yeah. I'm guessing there must be some legitimate (internal?) use cases for the behavior I found and they spent all that time working out the kinks to allow those edge cases while also not allowing malicious ones. Or perhaps it wasn't as high on their priority list as it required a higher level of user interaction (the user had to click "Allow"). In any case, though, I do believe that a year is a shockingly long time for them to take.
pier25 13 hours ago [-]
Adobe Creative Cloud will keep multiple processes running in the background even when you explicitly configure it to not do that in the OS settings.
commandersaki 15 hours ago [-]
Love this guy's research, such good presentation!
nmgycombinator 15 hours ago [-]
Thank you very much! Although I'm not a guy, just fyi! I'm just a person :)
Jerry2 11 hours ago [-]
Author didn't disclose if got a reward for his work. Hope he did!
nmgycombinator 10 hours ago [-]
Thank you for your kind words. To respond: 1. I'm not a "he", I would prefer "they". 2. As I mentioned in another comment, I have not received word back yet on any reward.
sexy_seedbox 6 hours ago [-]
Maybe they'll put you into their "Hall of Fame"
nmgycombinator 5 hours ago [-]
I think their "Hall of Fame" (or at least whatever people colloquially refer to as that) is their credits for people who found bugs in their web servers, so I don't think that counts here. I did get credited, so I'm happy about that. Now I just have to wait and see if they determine it's worth a reward (and, if so, how much).
amazingman 5 hours ago [-]
It is absolutely worthy of a reward, and it should be worth a few months of your time. This is a nasty security issue, and you showed a ton of restraint not losing patience with Apple.
Honestly, it's bullshit that you don't already know whether or not you're going to get a bounty.
nmgycombinator 5 hours ago [-]
I will definitely admit, it can be a bit of a pain point that Apple sometimes takes a lot of time to determine a bounty. I'm just waiting patiently now to see what they say. I appreciate your kind words and encouragement.
zoomTo125 15 hours ago [-]
Almost a year to release a patch. If Apple takes that long, there is no hope for other vendors.
nmgycombinator 15 hours ago [-]
This is Apple-specific, though. So there aren't really any other vendors that are relevant to this specific scenario. I will say, they have been quicker with my other reports; taking just a few months as opposed to a full year.
kllrnohj 12 hours ago [-]
Why is there no hope for other vendors?
e40 16 hours ago [-]
> The patch is released
I assume that is with 15.5...
nmgycombinator 16 hours ago [-]
> which was patched in today's releases of macOS Sequoia 15.5 et al.
Correct.
nmgycombinator 7 hours ago [-]
Correction (longer explanation elsewhere): only 15.5. Apple didn't patch it in the other two releases.
EGreg 15 hours ago [-]
I once sent an email to Steve Jobs back in 2009 or so
I told him that the MacOS permissions dialog could easily be spoofed, and that Macs should have a secret phrase or icon that you choose that they’d display inside these dialogs, and prevent their screen capture like what they had been doing with their recent DRM features.
Never heard back from him
And it never got implemented. Any program can still continue to spoof it and grab your system password.
nmgycombinator 15 hours ago [-]
I mean, at that point and app could just put up a fake prompt using the UI framework. And I think users would be more hesitant to type a full password than just click a button. But if you're talking about a bug similar to mine where an attacker could use the OS's own code against it and make it show a prompt with misleading content, you might be able to report it to Apple Product Security and maybe get a bounty.
sureglymop 13 hours ago [-]
I wonder why they don't add a little led to their laptops that would indicate that it really is the system asking for your password. Kind of like the camera led.
kalleboo 10 hours ago [-]
When they had the touchbar on the MacBook Pros, they would put the authentication in there since that was something only the OS could take full control over.
saagarjha 2 hours ago [-]
You can draw arbitrary content into it though?
nmgycombinator 9 hours ago [-]
That's honestly a pretty smart move.
kalleboo 9 hours ago [-]
Yeah it's a shame it's just such an overengineered/expensive thing.
nmgycombinator 13 hours ago [-]
That's an interesting idea. I do think it would be nice to have some way of knowing "is this prompt coming from the operating system or some third-party app?". However, I don't think it would have helped in the case of my vulnerability, because it abused a legitimate OS prompt.
trollbridge 13 hours ago [-]
I mean, a website could display a crafty popup-appearing box and try to get you to type in your username and password. Not really sure how you can prevent that.
Vista used the “the background dims quite a bit” to try to deal with that.
nmgycombinator 13 hours ago [-]
Yeah. I think the key thing in my vulnerability is that it abused a legitimate OS prompt and had the consequences of that prompt be applied to something separate from what the prompt text itself said it would.
EGreg 13 hours ago [-]
I just told you how… it would show your special icon or phrase inside so you’d confirm it before you typed anything.
The phrase would be managed through a system screen, like a login screen
cyral 12 hours ago [-]
Problem is most users will not care or understand it. Someone will spoof the dialog without the special icon or phrase and users would still enter the password.
seeknotfind 12 hours ago [-]
Trust nothing.
JohnFen 15 hours ago [-]
Honestly, I don't really trust any permissions popups on anything anymore. They are often porous enough to count as "security theater".
coolcase 14 hours ago [-]
And at $Corp I get constant popups to enter my password or confirm an action. Like 50-100 a day.
nmgycombinator 14 hours ago [-]
I bet threat actors are just salivating at the thought of giving you a fake password prompt.
coolcase 12 hours ago [-]
Yeah. I am very hygienic at work in terms of what sites I visit but you can never be too careful. To me the main threat vector is my dev curiosity!
nmgycombinator 12 hours ago [-]
Lol, I know that curiosity feeling.
nmgycombinator 15 hours ago [-]
I honestly think this is a good skepticism to have. I generally don't hit "Accept" (or "Allow" or whatever) on any permission pop-up unless I know exactly what it's doing and what I need it for.
yieldcrv 13 hours ago [-]
> Apple confirms that I will be credited
congratulations on the credit
and they also paid you $1,000,000 or whatever their top bug bounty payout is right?
nmgycombinator 13 hours ago [-]
No word from them on the payout, yet. They only start deciding on if and how much to pay after the patch. I know for a fact it doesn't fall under the $1,000,000 reward tier as that is for their Private Cloud Compute platform. But it may fall under some of their other categories.
gitroom 8 hours ago [-]
tbh i just don't trust any of these permission dialogs at this point - makes me wonder if good security even starts with the ui or it's all just kinda broken underneath?
pkkkzip 12 hours ago [-]
man, i think this really is the last time im buying Apple products, the string of CVEs, the many issues with hardware, iPhone as well....im over the hype and switching to Android and Windows
I miss being able to play games. I miss having a phone without lock-ins and security vulnerabilities that do not get patched.
muppetman 12 hours ago [-]
Oh you're going to _hate_ Windows - I say this as someone who switched in the last 2 years. MacOS can be very annoying, Windows is just one big advertisement these days in a badly skinned window manager.
trealira 11 hours ago [-]
Yeah, I basically keep Windows just for Word and Excel and Windows-exclusive video games, and use Linux most of the time because of this. There's no perfect system out there.
Anyone with basic skills can whip up a convincing replica of that popup on the Web, and the "bottom 80%" (at least) of users in technical savvy would not think to try dragging it out of the browser viewport or switching tabs to see if it is fake or real.
The only protection against this kind of stuff is to NOT teach users that legitimate software pops up random "enter your password" dialogs in front of your work without any prompting. That's what these dialogs are doing.
Display a colorful flashing icon in the menu bar. Use an interstitial secure screen like Windows does. Whatever. But the modern macOS 'security' UI is wildly bad.
The UX is different from the apps saying “Hey, open the preferences panel and give us XXX” and there you can see the app, the capability toggle, decide to turn it on, or even go back to turn it back off.
These experiences have been why I’ve not a big fan of “capabilities” as a concept. The UX around them is awful, and almost has to be.
“Enable <root my computer> to enjoy your new app fully. “ This is what you get if the vendors have any say in what the messages should be.
Not really helpful.
I don't think the UX has to be awful. The problem is just that they're kinda half baked on macos, and bolted on, and not really a first class citizen. There's no reason you couldn't have:
- A preferences dialog showing which long-lived capabilities you've granted to which application. (Which is almost exactly what the accessibility preferences pane already is.) Ideally this UI could have a log of ways in which the application has used that capability recently and the ability to revoke it. Maybe even the ability to review the app's use of the capability. Show the review score to other users when the app asks for the permission.
- A little blob of text saying why the application is asking for the specified permission. iOS requires this from all 3rd party apps. So its kinda weird that MacOS is missing explanatory text entirely on these popups.
- Clear indication of what would happen if you said no.
- Interdiction. In a good capability systems (eg SeL4), a capability object doesn't tell you what you can do with it. Eg, you can't ask a file handle which file its actually associated with. This means you can craft your own "virtual" capability which fakes the expected behaviour and pass that to an app instead. Any calls made using the capability come to you. Whenever phone apps ask for access to my contact address book, I'd love to be able to say yes, but give them access to like 100mb of fake entries instead.
- And on top of interdiction: logging, call whitelisting, "Little snitch", etc.
- More fine grained capabilities. I don't want to give any app a "root my computer" capability. I don't want that to be a thing applications ever need or get access to.
I think macos's problem is that its trying to bolt on capabilities after the fact. POSIX isn't built around capabilities. As a result, app developers don't think in terms of capabilities, and they expect their apps (new and old) to work without them. In a real capability based OS, fopen() should probably take a capability as a parameter. But making that change would require changing just about every program ever written for the platform. And modifying the standard library of all programming languages.
macOS doesn't show explanations because apps can come from outside the App Store meaning nobody is checking that the explanation is actually true, but users would reasonably assume someone has checked it.
Ditto for the explanation of what happens if you say no.
Fake entries would just be a very weird user experience if the user accidentally denied access, would freak people out, and be very un-Apple like.
macOS already has very fine grained capabilities. That's what the Privacy & Security pane shows you. In fact, on macOS every app is sandboxed out of the gate regardless of whether they opt in or not, and root is disempowered. This is better than other operating systems.
The capability systems you're mentioning sound cool, but they sound a lot more complex. And if that's true, and they aren't built with irreducible complexity, then it would be possible to work around it by just pulling out bits and pieces from the system and abusing them.
It even uses a capability to allocate (assign) memory. So you typically have a microservice (userland process) in charge of memory on the whole system. Other processes get heap memory allocated to them by asking that service for it. (Though typically you'll allocate large blocks, and divide it up using a normal allocator).
As that page points out, POSIX file descriptors are effectively c-lists. A capability operating system would use similar mechanisms to control access to resources other than just open files.
The other things GP mentioned (logging, interdiction, UIs for visibility/control, etc) are layers that you would implement on top of the lowest-level capability system.
They are definitely not always awful.
Apple used to make fun of Vista's UAC, but they've ended up with the same patchwork of sudden prompts, and even weaker UI.
But here we are, detached modals, because of Apple's weird fetish for mobile UI on everything.
---
[0] https://kagi.com/proxy/latest?c=LsHiRSPxhD29sXqLhdI0j1EsQ98n...
[1] https://youtu.be/6-fkYFV7rOY?t=242
I prefer UAC over whatever the hell Apple is doing. I've had days where I close my applications after a day of work and find two or three password prompts just hovering in the background. Were they important? Should I still permit them? Who knows!
It says it 'encrypts' your password, because it needs to access your Keychain. The dialog says this, but there is no way to opt out.
You are 100% wrong.
EDIT: https://apple.stackexchange.com/questions/467137/are-keychai...
And besides all that, to my knowledge your local machine password (the password you use to login) isn't stored in a keychain item, so there's no way it could make itself into the iCloud keychain, or your local keychain.
You may be mistaking some explanations. Your computer password is used to unlock your local keychain, but it itself is not stored in your keychain. Your local keychain is also not your iCloud keychain, it's not stored in iCloud.
Again, I'm not an Apple developer, so there may be stuff I don't know, but I am a developer in general and I have researched this. The above is my current understanding.
Yes. That's pretty obvious to anyone who opens Keychain Access.
On the left you will see the following under "default keychains" :
> Your computer password is used to unlock your local keychain, but it itself is not stored in your keychain.Yes. That's a fundamental, and again obvious requirement. Your keychain has to be encrypted somehow, and this is (IIRC) derived from your user password.
Software developers can further secure keychain by using enclave tied keychain entries[1].
[1] https://developer.apple.com/documentation/security/protectin...
If I downgrade myself to a non-admin user, and install apps into my home Applications, then I'm not bothered by permissions requests from apps to update themselves. Almost all of them can just do it, on their own, with non-admin permissions. The only exceptions I've found are Tailscale and other stuff that needs higher level OS integration.
Edit since upvotes: Non-admin user operation was recommended by the Pareto Security app, see info on this specific item: https://paretosecurity.com/mac/checks/not-using-admin
All Pareto security checks: https://paretosecurity.com/mac/checks
App: https://paretosecurity.com/mac and https://github.com/paretoSecurity/pareto-mac
Granted I haven’t seen the bug in awhile, but I also never saw acknowledgement of it being fixed so…
The only apps I run from /Applications that aren't part of the OS are the ones that still use "Installers" like Adobe apps, because I assume they spew crap all over anyway. I haven't tried moving those, but I wouldn't be surprised if they deeply cared.
[1] The idea being that I could then migrate more easily by copying the whole home directory, and thus all my apps that didn't require "installation" would come over.
Unrelated, but this is what I find so interesting and cool about the drag-and-drop to install method prevalent on macOS. People complain, but what I guess they don't realize is that all they're doing is moving a folder into their `Applications` folder and that the "wizard" way they're used to is far messier.
Granted, since I think it's up to the developers, they often seem to make the user drag and drop into the root `Applications` folder.
But just think about how much fun phone apps could have been if you first installed an installer and than than that downloaded an app to install the side components before launching a configuration program for installing that specific software suite
Maybe that's not realistic, though.
I still think there's something to be said about an installation/uninstallation process that relies purely on moving files around, no custom script execution.
It's been a while since I did this, and I can't remember the details. Sorry. Someone else might.
(Although you could get closer to that with an iPod back in the day! Lots of my fellow Apple Store employees kept a lot of apps and things on their iPods!)
Not every single app installer, only those app installers written by incompetent devs.
Those written by educated devlopers give you the option to install "for all users" or "just me" (or words to that effect).
1. Apps can't tamper with each others files. Try writing an app that writes to another app's bundle, even if it's in $HOME, and you'll find you can't. One way to test this quickly is to ensure that your terminal app doesn't have "Manage applications" privilege in the settings app, restart it, then use vim to open a file in a bundle that appears to have user write permissions. You'll find it is read only.
2. root can't make arbitrary changes to the system unless you disable SIP (requires messing around in recovery mode terminals).
/Applications seems defense in depth for developer machines that often run untrusted code. Apps ask for admin to update & then I can deny it and go check the official site and stuff for download later
A previous version of this article mentioned below that this CVE was patched in macOS Sequoia 15.5 et al., but I was a bit mistaken in that. Despite being released today as well, it appears that macOS Ventura 13.7.6 and macOS Sonoma 14.7.6 are not patched against this vulnerability.
I wrote that sentence assuming that Apple would have included a patch in all of the releases. It was only later, when I checked the security release notes, that I saw I was not credited under the other two releases. I reached out to Apple to clarify if these releases were patched. As of writing, I have not heard back.
I chose to do my own testing and spun up a virtual machine. After some difficulties I got it updated to macOS Sonoma 14.7.6 and was able to compile and run my proof of concept. It still worked. I would assume the same is true for macOS Ventura 13.7.6. I'm not sure why Apple didn't include the patch in these two releases.
I will update the post when I have more information and/or context.
But the goalposts have moved a bit. At least macOS is not plagued with malicious processes like was common on windows. Or maybe I'm just careful?
I ran Windows XP for years without antivirus back in the early 2000s and so did others.
macOS has not only elevation requests but entitlements. Using the local network is an entitlement. What macOS gets very wrong is any denied entitlements will re-prompt next time you perform that action with the app, which may simply be starting the app. It also does one entitlement at a time, i.e. if you have an app that requires screen sharing and camera, you'll get the first entitlement, restart app, go to do action you wanted again, second entitlement.
Both OSes have MoTW, but Apple goes beyond with the notarization warning/block.
macOS users are going to suffer from prompt fatigue. And the /r/macos "secure cus UNIX!" will be wrong on two points.
https://www.youtube.com/watch?v=VuqZ8AqmLPY
An app with [the com.apple.security.device.usb entitlement](https://developer.apple.com/documentation/bundleresources/en...) is technically always going to have that entitlement attached to the app regardless of user consent.
It's a double-edged sword in my opinion. I think it's good that the OS is looking out for the user in a lot of cases. I also understand how it can give the users pop-up fatigue.
Apps on macOS need to be signed and notarised. Apple has the exact same capability to scan for malicious behaviour and revoke your keys regardless of how you publish. We all know the real reason they want to push apps towards the app store.
It's another quick security hack (as they often are in any OS). Many years ago someone noticed that apps can pick any icon they want. And, therefore, if you could convince a browser to download a file to ~/Downloads (not hard), the user might look inside and find what appears to be a harmless JPEG or Word document, double click it and are immediately pwnd because back then there was no app sandboxing of any kind, no SIP etc. macOS in that era was a conventional desktop UNIX.
So the quick hack - make apps that download things mark files with extended attributes, and if the Finder sees that, it pops up the warning and then removes them. Now the user realizes (maybe) that the document-looking-thing was actually an app.
This is exploitation of developers, plain and simple. Apple should secure their runtime, not roleplay as a software rent-a-cop that manually (and fallibly) inspects submissions. The App Store is a blatant moneymaking racket, on mobile and desktop alike. "Security" is a fig leaf for the perverse incentive Apple has to corral developers under their thumb.
The knock-on effects it has are even worse. By relying on this game of shuffling private entitlements around, Apple has less incentive to actually review what developers are doing with them. Look at the Uber iPhone app's screenrecord permissions, or when TikTok stole iOS clipboards.
Apple uses "secure" review as an excuse to not review apps or secure their runtime.
1. iCloud nags never go away if you don't log into iCloud
2. Apple Music is just an advertisement by default and "conveniently" opens every sound file mimetype
3. Functionally useless subscription slopware like AppleTV+ comes installed by-default for no reason
4. Package management is a colossal clusterfuck that can't even enforce package parity across system architectures
5. Apple still doesn't trust their users enough to have modern amenities like a native Vulkan runtime or Nvidia GPU drivers
Vista was terrible, but it didn't suffer from this level of identity crisis.
Why, as someone from England — with arguably the best football league in the world — would I want to watch American Soccer? I don’t even watch the English league.
The menu is:
———————
* Search
* Home
* Apple TV+
* MLS
* Store
* Library
———————
Title: Channels & Apps
* This is where all the channels I have actually opted for live — separate from the Apple products that I don’t want
———————
Both Apple TV+ and MLS should not be on that menu permanently. And it should be possible to turn them off.
So you're the type that doesn't watch the Special Olympics I take it? MLS is the geriatric retirement league for super star players, or the not quite good enough to play in the other leagues league. One season, I tried to get into MLS. At one point I tried using a stop watch to clock how much time the ball was out of play in MLS compared to "real" leagues, and it was close to 20% which is not far away from amateur kids level of play.
I don't blame you for not liking the MLS branding. However, I'm guessing they paid a couple of shiny coins for that privilege, so they're naturally going to try to do anything to recoup that money
But even if it was a channel dedicated to test cricket (the greatest sport in the history of sport), I would still resent the foisting. These are clearly anti-competitive practices and that always leads to worse products eventually.
I don't get people who buy macs and refuse to login to iCloud.
You don't have to use iCloud for storage or anything else, all that can be disabled in settings.
The biggest benefit of logging into iCloud is protection if your device gets stolen. It means the thiefs can't just wipe and resell your device. It means you can track and remote-wipe it in Find My.
Not only that, but you get the advertisement every time it starts and then it doesn't play the actual file. So unless you join the service the process is: try to open the audio file, close the advert, go back to source, open the file again.
MacOS isn't for me, I guess.
I say this as a dedicated macOS (Cocoa) developer since 2003.
The illusion of consent — via a popup — is no match for local database manipulation, especially in developer environments where SIP is disabled or workarounds exist.
What this raises is a deeper trust issue: is UX-level consent a meaningful security boundary anymore?
We're increasingly relying on OS-level prompts as a line of defense, but if those prompts are soft illusions (or worse, programmable theater), then maybe we need to rethink how permission trust is actually enforced — not just signaled.
So I guess sometimes the permission system works.
I often wonder if this could also be exploited because it asks for a password and it keeps popping back up every time I click cancel.
[1]: https://developer.apple.com/documentation/servicemanagement/...
It contains no information that I can reasonably use to match a decision on whether or not to allow it, so I always click cancel on it.
Discord can be installed this way as well. It's (imo) a better usage experience than their Electron apps.
Nearly every Electron app is better this way.
I kinda like this angle. While Slack makes an effort to work basically everywhere with low effort, I wonder what would follow if it wasn't the case.
For instance if for some stupid legal reason Slack was banned from macos, how many people would just switch to another OS ? I'd bet it would be a non trivial amount of users at this point.
This idea of respecting user preference is not the way, though. For example, back when Skype existed, you couldn't remove its icon from the macOS menu bar, because (1) Microsoft didn't believe you had the right to choose to remove that item, and (2) macOS believes an app developer should have more control over what goes in my menu bar than I do.
its sold more as a way to store and all conversations than the ability to be a messaging application.
the original pitch was to make all information, even private conversation of previous employees, searchable.
One somewhat paranoid department that was convinced they were being spied on (they weren’t; I saw the Slack admin dashboard and management was too cheap to pay for the retention and spying features) maintained the use of an ancient Jabber based group chat for their own internal communications.
The only restriction was if you went to China, you took a burner phone (one of the old company phones, usually) and weren’t supposed to ever use it again once you left. I think they just sold them to a liquidator.
Slack is also used because it allows to create persistent channels that are searchable. So they often end up being a knowledge base for the company.
Overall I think it's good paranoia to not grant root permissions to apps that do not clearly need them such as Slack.
I can see this happening, but it probably won't anytime soon. macOS is still open enough, and with the assumption that sometimes processes need root (see third-party Launch Daemons).
It would probably break quite a lot. But I wouldn't be surprised if they eventually gradually move macOS in that direction.
It’s like how my bank often calls and wants me to give them my personal info for ‘data protection’ before we can speak. These are legit bank calls, training people to give out personal info to strangers.
Regardless, yes it causes the exact issue you're talking about. I don't even read what the popups say anymore, I'm just blindly hitting an accept button.
When you make an iOS app and requested permission for something - photo library or location etc. you MUST write out a sentence of what you’ll use it for which is shown to the user.
Why not the same for Mac apps?
How would Apple enforce that?
iOS apps go through the App Store, so proper behavior can be enforced.
The apps people are complaining about here are downloaded from the vendor. Apple is not involved.
If it’s an expected call or they give me a good reason to, I’ll call their listed contact number back.
So far I have not missed out on anything of consequence by refusing to identify myself to someone who initiated contact with me.
I've been ignoring both for literally years.
I had an interesting experience of this with a normal/non-technical user when my wife asked for help setting up some money remittance app. Early in the install it popped up some dialog, something about whether you wanted to transfer money via credit card or...except she clicked the "OK" button before I could read more than that. As in, she clicked it literally as fast as she could process there was a pop-up and move her finger there.
I asked her why she clicked the pop-up away without reading it, it might have been important...and she literally began to argue with me that there hadn't been a pop-up and what was I talking about.
Just like how our brain has learned to edit out blinking, it seems like (at least in some circumstances) her brain has learned to edit out pop-ups and essentially muscle memory is clicking "Okay" as fast as possible to get back to whatever she was doing.
2024-05-04 I leave several additional update messages as I continue testing my PoC
2025-05-12 The patch is released
Honestly, it's bullshit that you don't already know whether or not you're going to get a bounty.
I assume that is with 15.5...
Correct.
I told him that the MacOS permissions dialog could easily be spoofed, and that Macs should have a secret phrase or icon that you choose that they’d display inside these dialogs, and prevent their screen capture like what they had been doing with their recent DRM features.
Never heard back from him
And it never got implemented. Any program can still continue to spoof it and grab your system password.
Vista used the “the background dims quite a bit” to try to deal with that.
The phrase would be managed through a system screen, like a login screen
congratulations on the credit
and they also paid you $1,000,000 or whatever their top bug bounty payout is right?
I miss being able to play games. I miss having a phone without lock-ins and security vulnerabilities that do not get patched.