Archive for March 28, 2025

Friday, March 28, 2025

macOS 15.4 Adds TCC Events to Endpoint Security

Patrick Wardle (tweet):

Since TCC is designed to protect these resources, it poses a challenge for malware that often tries to access them. Generally malware takes one of two approaches: exploiting TCC bugs, or obtaining explicit user permission access to the TCC protected item. The former is rather uncommon, while the latter is much more widespread as TCC can be trivially “circumvented” if the user acquiesces (sometimes as simply as clicking ‘Allow’ on a single TCC alert).

[…]

Since the majority of macOS malware circumvents TCC through explicit user approval, it would be incredibly helpful for any security tool to detect this — and possibly override the user’s risky decision. Until now the best (only?) option was to ingest log messages generated by the TCC subsystem.

[…]

In the macOS 15.4 SDK files, specifically EndpointSecurity/ESTypes.h we find a brand new Endpoint Security event: ES_EVENT_TYPE_NOTIFY_TCC_MODIFY[…]

This sounds good for anti-malware software, but I still think we need basic APIs for apps to query, request, and reset the permissions they need.

Previously:

ChangeTheHeaders 1.0

Jeff Johnson:

ChangeTheHeaders is a Safari extension for iOS, iPadOS, macOS, and visionOS that allows you to customize HTTP request headers such as Accept, Accept-Language, Cookie, and User-Agent. ChangeTheHeaders is available now in the App Store.

[…]

You might ask, why didn’t I just add this feature to StopTheMadness Pro? On macOS, StopTheMadness Pro is a Safari app extension, but the API to modify HTTP headers is available only to Safari web extensions, unfortunately. This is the same reason that StopTheMadness Pro doesn’t currently support Safari web apps.

[…]

What can you do with ChangeTheHeaders? I suspect the biggest selling point will be to spoof the User-Agent. The extension allows you to customize your User-Agent by URL domain. For example, you can make Safari pretend that it’s Chrome on Google web apps that give special treatment to Chrome. You can also customize the Accept-Language header if you don’t like the default language handling of some website, such as YouTube. (Why is the problem on the web always Google?) Or if you just want to deprioritize WebP images in Safari, you can do that, of course. It’s a simple matter of removing image/webp from the list. You probably don’t want to stop WebP entirely, because it may be the only image type available on some websites, but if you remove image/webp from the Accept header, then it no longer has the default quality value of 1. Instead, image/webp would fall under the wildcard image/*;q=0.8 specification, with a lower priority than explicit image types such as image/png. More information on how to configure ChangeTheHeaders is in the fine manual.

Previously:

Controlling Launch Services in Sequoia

Howard Oakley:

LaunchServices compiles a large registry database of apps and their associations with and capabilities for handling different document types. Its records determine which app opens a document when you double-click on its icon in the Finder, and most prominently which are listed when you open the Open With… item in the Finder’s contextual menu. Apps are registered there automatically, and their details are updated each time they’re run. Although the user can’t interact directly with LaunchServices, there is a command tool that offers control over it, lsregister, although it’s buried deep in the system frameworks, doesn’t have a man page, and now works differently.

[…]

In the past, apps used to populate the LaunchServices registry were those located in the traditional Applications folders, but recent versions of macOS have extended that to cover almost any accessible folder. This has been explored by Jeff Johnson, who has shown that excluding folders and volumes from Spotlight indexing, by adding them to the list in Search Privacy… in Spotlight settings, will exclude those apps from LaunchServices’ list.

[…]

Running [lsregister -kill] in recent versions of macOS including Sequoia is likely to wreak havoc, though. While this appears to be effective with the Open With… list, its effects on System Settings can be catastrophic. This can remove its entire contents, and even blow the wallpaper away. Normal function should start to return after restarting the Mac, but even then problems can persist.

See also: Oakley’s posts on Ventura and Sonoma.

Previously:

Apple Needs a Snow Sequoia

Timothy R. Butler (Hacker News, Slashdot):

The latest releases — MacOS Sequoia and iOS/iPadOS 18 — are screaming for such a reset. Yes, they work and are still smoother and less glitchy than Windows 11, but they feel like software developed by people who don’t actually use that software. In the 22 years since I became a “switcher”, this is the worst state I can remember Apple’s platforms being in.

Some bugs are inevitable with major releases, sure. The troubling aspect is that many are easily reproducible across devices and show up in high-traffic areas, not just forgotten nooks. How do Apple’s engineers not notice these problems?

[…]

A year focused on cleaning up these and a thousand similar issues big and small is the single step Apple could take that would most enhance its products.

Rui Carmo:

The whole situation shines a… Spotlight (ha!) into frustrations about a platform that seems to become more and more brittle to the point of actively neglecting the basics it rose to prominence on.

Yes, there will always be a bit of rose-tinted longing for the methodical, almost surgical improvements of the Jobs era. But I honestly have no idea how Apple can keep pushing AI features without cleaning house, and whatever they’re doing in the platform teams just isn’t working.

Nick Heer:

What I desperately miss is that period of stability after a few rounds of bug fixes. As I have previously complained about, my iMac cannot run any version of MacOS newer than Ventura, released in 2022. It is still getting bug and security fixes. In theory, this should mean I am running a solid operating system despite missing some features.

It is not. Apple’s engineering efforts quickly moved toward shipping MacOS Sonoma in 2023, and then Sequoia last year. It seems as though any bug fixes were folded into these new major versions and, even worse, new bugs were introduced late in the Ventura release cycle that have no hope of being fixed. My iMac seizes up when I try to view HDR media; because this Extended Dynamic Range is an undocumented enhancement, there is no preference to turn it off. Recent Safari releases have contained several bugs related to page rendering and scrolling. Weather sometimes does not display for my current location.

[…]

Ventura was by no means bug-free when it shipped, and I am disappointed even its final form remains a mess.

Matt Birchler:

Snow Leopard would receive 8 updates over the next 2 years before its successor (Lion) was released, and I think that Snow Leopard 10.6.8 is what most people have in their minds as what Snow Leopard was from the start. Imagine if Apple released an update and sent 2 years refining it over and over, instead of what feels like getting it out in the fall and then immediately shifting focus to the next year’s update. On the other hand, do you want the Mac to lag behind iOS in terms of features?

iOS could use a Snow Leopard, too.

Previously: