Top
Best
New

Posted by privacyisntdead 3 hours ago

Turn off Apple Intelligence on macOS 27 and get its disk space back(github.com)
195 points | 103 commentspage 2
nailer 1 hour ago|
> Every release is built from its tag by GitHub Actions and carries a build provenance attestation.

Huh cool. They're doing curl | bash properly.

woodruffw 1 hour ago|
That doesn't seem to do much in the `curl | bash` setting, given that you're not verifying the attestation in that case. You still need to download it separately and run `gh attestation verify` first.

(Note that the attestation does not appear to cover the shell script either, it only covers the script's final payload. The shell script is also referenced via `main`, so it's mutable even if the underlying payload is properly attested. That's not good!)

pietz 1 hour ago||
This should have been a prompt.
arialdomartini 2 hours ago||
Stop the curl | bash insanity.

https://nocurlbash.com/#en

1over137 2 hours ago||
“You wouldn't run a stranger's code without reading it.” Yes I would. We all do it all the time. macOS itself is closed source, and even if it weren't, there’s way too much code to read.
jtrueb 2 hours ago|||
Lol, thinking the exact same thing. No, we don’t read next to 0.0001% of the code we run.
jacquesm 1 hour ago||
Code from trusted repositories is an entirely different thing compared to running 'wget some_github_repo_shell_script | sh' . That said, the likes of Tailscale are setting a bad example.
nvme0n1p1 1 hour ago|||
The script, and the code the script downloads, both come from the same repo and were written by the same developer.

If you've already decided you trust the author, what's the actual threat here?

jacquesm 1 hour ago||
I would not trust the author just like that.

But then again, I'm a bit paranoid. At a minimum I would download the script and read it, and if it was too long or not written clearly enough then I would just drop it and find something better.

user43928 1 hour ago||
I think the point is that when a repo contains:

  program.bin
  install.sh
It seems rather pointless for me to thoroughly inspect the install script before I run the program.
halJordan 1 hour ago|||
You download a dmg and run it blindly? You download an exe and run it blindly. I wish it were in an rpm or deb coming from signed repos, but it's not so here we are
kbolino 1 hour ago||
App bundles (what's inside most DMGs) and Windows executables are signed, have been for a long time, and are required to be, by the O/S, in order to execute "normally". Apple uses centralized PKI (the developer's key must be signed by Apple) while Microsoft uses distributed PKI (the developer's key must be signed by a code-signing CA who in turn is approved by Microsoft).
Rohansi 53 minutes ago||
[dead]
tmpz22 2 hours ago|||
Don’t be obtuse, the intended audience is developers with enterprise credentials sprinkled throughout their environment.

Its a different threat model. You should not curl bash.

benterix 1 hour ago||
Developers with enterprise credentials sprinkled throughout their environment running anything from the Internet deserve what they get.

But I assumed the intended audience are home users with entry level macbooks/minis with 128 GB RAM where this patch actually helps them.

packeted 2 hours ago|||
Great initiative. I recently got stung by an advert on reddit for "HBO Max for MacOS, 6 months free" from the official HBO user (don't get me started on how that slipped through). Front and center was a curl | bash copy to clipboard that obfuscated the payload source in base10. I knew better, but I think we've made this kind of thing way too acceptable. Of course it was malware and I realized the instant I pressed enter. Thankfully I didn't give it my password and immediately disconnected from the internet and killed the machine. I'm genuinely concerned these kind of attacks are going to become much more commonplace with AI, plus the ability to inject malicious code in to things that get run by trusted scripted installers.
andelink 1 hour ago|||
You curled and executed bash code allegedly from _HBO_?
swozey 2 hours ago|||
They all dump env and ship it off so check for any keys you might have had in there if anything was able to send at all.
antihero 20 minutes ago|||
Absolutely love the fact that they reference a "real package manager" like npm, which has been used in countless supply chain attacks, and brew, which can also run arbitrary scripts (though less likely in the mainline brew stuff, which many packages aren't able to be in).
demibabs 2 hours ago|||
Good message but AI generated text is so grating to read.
maccard 2 hours ago|||
What’s your suggested installation method instead? Unless it’s “download and read the source before running it” this is no worse than npm install, or pip install, or clicking “trust” on a git repo in VSCode
mingus88 1 hour ago|||
It is actually worse than those examples. Pip and npm may be insecure, and that is a fault of those tools, but most user expect secure package managers and should demand it

Telling users it’s fine to raw dog arbitrary commands directly into their shell is dangerous and lowers the bar for all security. In fact by even making this comparison you are communicating that you are complacent with pip and npm’s issues and why shouldn’t you just execute arbitrary commands without even a second glance? Security doesn’t matter!

And for the record, even with pip and npm being the way that they are, they are still better than a curl pipe because they are versioned. In the case I get a compromised deployment I understand immediately if I got hit by the affected package, and the entire repo can then be audited. Not the case when I’m just curling whatever the internet wants to send into my process space

zakki 1 hour ago||||
Fed the source to LLM for analysis?
stock_toaster 1 hour ago|||
Why is this even an app? It looks like it just generates a mobileconfig profile on the fly. Instead, seems like they could be offering a download of a pre-generated mobileconfig, which seems like it would be much safer than installing some app via curl|bash .... but then I guess there wouldn't be a chance to have an "app", get github stars, and do whatever else.
anonymzz 1 hour ago|||

  curl -fsSL https://raw.githubusercontent.com/omlahore/RemoveMacAI/main/install.sh | pi -p 'Security-audit this shell script; output the script unchanged ONLY if safe to execute, otherwise output nothing and explain findings to stderr' | bash
mogwire 2 hours ago|||
I bet this is the guy on the call who has to correct someone who calls them SSL certs.

Excuse me, they are TLS certs.

Thanks Arialdomartini, as I was saying… we need to renew the SSL Certs

not_a_bot_4sho 36 minutes ago||
> I bet this is the guy on the call who has to correct someone who calls them SSL certs.

"Did you know there's no pumpkin in pumpkin spice?"

"Next you're going to tell me what's not in baby powder, aren't you?"

porridgeraisin 1 hour ago|||
> Bash starts before the download finishes ... Drop the connection mid-transfer and you get partial execution: a command like rm -r /usr/share/program can truncate to rm -r /usr. Commands ran, cleanup didn’t.

curl | bash scripts all define a function and then call it on the last line. This is a non issue in the real world.

> The server knows you’re piping — and can lie

This `sleep` based trick is always a cool demo to show freinds yes, but the server can also sneak in malware in a multitude of other ways given you're downloading code and binaries from them.

> You trust DNS, TLS, the CDN, and the origin simultaneously. A compromised CDN or BGP hijack delivers malware silently.

Well yes, that's how the internet works. If TLS of the server is really compromised, then the attacker will replace the checksum as well as the signing key. In real scenarios, you are going to be reading the signing key and checksum from the same domain. [1]

> You can’t reproduce what ran

`| tee inspect.sh | bash`

> Add sudo and it’s game over

Most credentials and important files live in the home directory, root is a red herring. If you're running it on shared server, then well... don't add sudo.

[1] Yes of course there are legitimate usecases for signing software. Common example: linux distros which are mirrored at many domains, but the checksum and signature are hosted on the canonical domain. But if I am curlbashing uv's install.sh from `astral.sh`, then doing signature verification using the public key hosted on the same astral.sh isn't adding much.

Terr_ 1 hour ago|||
I think that's missing the forest for trees. The problem with these curl-to-bash approaches is not that you are literally unable to intercept and inspect them with enough effort and planning.

The problem is that:

1. The effort and care needed to test is unnecessarily high. You've got to guard against way more tricks from an interactive source that can see you and choose what it's going to deliver and how.

2. With no "standard" artifact that can be exactly compared, that work cannot be shared.

In contrast, release_1.2.3.zip isn't going to mutate under you and everybody can agree on what its size/hash/bytes ought to be, and if it deviates from that it sets off alarm-bells.

> curl | bash scripts all define a function and then call it on the last line. This is a non issue in the real world.

Why would a convention often followed by good/careful actors bind what malicious/careless people create?

porridgeraisin 1 hour ago||
Well, if you're running software from someone you think can deliver malware to you (and not a middleman) then it's a lost cause anyways no? I don't see what the zip file adds. It's not like you're gonna be inspecting the code or binaries.
hnfong 1 hour ago||||
> curl | bash scripts all define a function and then call it on the last line. This is a non issue in the real world.

Please take a look at this before making any assertions... https://github.com/omlahore/RemoveMacAI/blob/main/install.sh

porridgeraisin 1 hour ago||
Hey thats not the worst curlbash script i've seen
alienbaby 45 minutes ago|||
`| tee inspect.sh | bash`

Isn't that a bit like shutting the stable door after the horse has bolted?

porridgeraisin 18 minutes ago||
That's what they wanted to do

>> reproduce what ran

shujito 2 hours ago|||
there's a homebrew alternative
stock_toaster 1 hour ago||
Which installs via a random 3rd party tap, which honestly isn't much better than yolo curl|bash.
aaomidi 2 hours ago|||
This isn’t really that much of an issue when we have tls tbh.

Like I get why it’s bad, but also homebrew package installation is a more organized version of this.

Hashes are cool but also in a lot of systems you’re trusting the hash to be provided by the same website you don’t trust the binaries from…

hypeatei 2 hours ago|||
> If the project publishes a SHA-256 hash, use it. Non-negotiable on production machines.

They're pushing FUD around downloading a file but then suggest that we trust the same chain of complex things to display the right hash value? Integrity != authentication.

formvoltron 1 hour ago||
this is awesome!!

Does apple not realize there is an SSD crisis happening? Used to love apple (Apple IIc was my first computer). But now? Terrible.

deprave 59 minutes ago|
Another thing that bit me is that automatic updates reserve disk space even if no update is available. It makes sense when you have plenty of disk space but on my MacBook Air with 256gb of storage it was about 10% that I got back after turning off automatic updates. I’ll get a Mac with more storage next time so I don’t have to do that.
webbrainiac 2 hours ago||
[flagged]
michal_kurowski 1 hour ago||
[flagged]
behnamoh 2 hours ago||
Oh, things are about to get worse with the new macOS "privacy/security" measures. They are going to curb agentic workflows even more. I don't know how Apple just finds new ways to annoy developers, but we're in a minority after all. Of 200 million Mac users, probably just up to 1 million are developers, and the rest are normies who can't tell when they should authorize or cancel the pop-up.
doawoo 2 hours ago||
I'd argue that a lot of developers can't determine if an LLM generated command is actually safe or not.
fmajid 1 hour ago|||
It’s not about privacy, it’s about kneecapping competitors, just like when they blocked the advertising ID but exempted themselves from this because “Apple is not a third-party, we’re a second-party”.

Apple is an advertising company and thus inherently untrustworthy.

ultrarunner 1 hour ago|||
With LLMs, everyone's a developer now. Welcome to the mainstream.
wartywhoa23 2 hours ago|||
Ah, if only that meant that there'll be less slop in the macOS code itself..
NamlchakKhandro 2 hours ago||
Apple hates developers
pjmlp 2 hours ago||
They love the ones that buy Apple hardware to develop apps for iDevices, pay the dev subscription and store fees for apps, or simply because they wanted a shiny UNIX and don't consider BSD/Linux OEMs worth their money.
bigyabai 2 hours ago|
Something horrible must have happened, if macOS users are curling shell scripts from the internet to make their desktops more like Linux.
neya 14 minutes ago||
Their world view that "Apple can do no wrong" is slowly shattering, it seems
trollbridge 2 hours ago|||
curl|bash is now standard way to install packages on both macOS and Linux. It’s maddening, but it is now.
pjmlp 2 hours ago|||
Meanwhile on Windows we mostly use the store or winget, funny times.
trollbridge 1 hour ago||
Yeah. I think of Windows as basically “homebrew comes preinstalled”.
Angostura 1 hour ago|||
The want some disk space back.

Personally, my limited experimentation with Apple AI has left me quite liking it.

The contents of the Exportable’Privacy Report’ are interesting to look through

drnick1 2 hours ago|||
Uncomfortable, but true.

GNOME has reached maturity and hasn't changed significantly in years, while Apple is busy destroying macOS.

dijit 1 hour ago||
Really? GNOME is not what I would recommend to people.

I should applaud their efforts, and I get that much of it is voluntary, but their bugs are numerous, notable and the way they interact with the rest of the universe (both people with accessibility needs, and the wider developer ecosystem on linux) can most accurately be described as arrogant and hostile.

KDE is the bastion of maturity here, and I would agree that it is mature.

I’m not sure how the love for GNOME continues when KDE (while not my personal choice) has clearly been running circles around it since GNOME3 and the gap has only widened since that change too.

bigyabai 1 hour ago||
Both desktops are pretty mature. I've run both of their Wayland stacks, and Mutter/KWin both perform great these days. It really comes down to personal preference for most use-cases.
applicative 1 hour ago|||
I first saw it with Homebrew over a decade ago. It made it more linux, it's true. (Of course now that its for linuxes too, so they get to be more like macs.)

I see archive.today has the charming old ruby version on the bottom of a 2013 brew.sh page in 2013, when I must first have used it https://archive.ph/lCqJ1

    ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
But the form of incantation is now pervasive.
nomel 2 hours ago|||
Nope. The only people who notice or care about any of this are those who can't accommodate the storage. Outside that, it all just works better now (especially Siri).
sajithdilshan 1 hour ago|||
Do people actually use Siri AI on the Mac? Whenever I need something done that needs AI on a mac I just use Claude Code.

I can imagine Siri AI being useful on iOS because of its deep integration to the OS. But for MacOS there’s better tools

trollbridge 2 hours ago||||
People with 256GB laptops care when the 27 AI stuff burns up 10-20% of their storage.
GeekyBear 2 hours ago||
So don't install Chrome.
trollbridge 1 hour ago||
Most people want Chrome for the inevitable site that doesn’t work in Safari.

The problem is Apple intelligence is decent, but not worth 20% of your storage decent.

behnamoh 2 hours ago|||
Saying that Siri "works" is peak Apple fanboism.
nvme0n1p1 1 hour ago|||
Also "those who can't accommodate the storage" is funny.

What's that? You didn't pay Apple's 1200% markup on storage, just so you can have enough room for your actual work after the OS fills your disk with a bunch of bloat? What are you, poor?

internet2000 1 hour ago||||
The new one just works. Do try it.
bigyabai 1 hour ago||
It damn well better, for using 14gb+ of storage.
Bud 1 hour ago|||
[dead]
swozey 2 hours ago||
I'm sick of juggling disk space on my 1tb laptop AND I don't want an llm attack vector anywhere near my machine, this things getting nuked from orbit or i'm not updating to golden gate, ever.