Good message but AI generated text is so grating to read.
shujito•35m ago
there's a homebrew alternative
1over137•29m 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•25m ago
Lol, thinking the exact same thing. No, we don’t read next to 0.0001% of the code we run.
tmpz22•21m 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.
aaomidi•17m 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…
packeted•16m 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.
swozey•13m 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.
hypeatei•15m 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.
mogwire•15m 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
maccard•13m 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•4m 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
porridgeraisin•3m 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 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.
bigyabai•36m ago
Something horrible must have happened, if macOS users are curling shell scripts from the internet to make their desktops more like Linux.
nomel•24m 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).
behnamoh•22m ago
Saying that Siri "works" is peak Apple fanboism.
trollbridge•12m ago
People with 256GB laptops care when the 27 AI stuff burns up 10-20% of their storage.
GeekyBear•8m ago
So don't install Chrome.
swozey•17m 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.
trollbridge•12m agobehnamoh•33m 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•29m ago
I'd argue that a lot of developers can't determine if an LLM generated command is actually safe or not.
wartywhoa23•28m ago
Ah, if only that meant that there'll be less slop in the macOS code itself..
NamlchakKhandro•23m ago
Apple hates developers
pjmlp•10m 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.
ultrarunner•4m ago
With LLMs, everyone's a developer now. Welcome to the mainstream.
hypfer•14m ago
This is stuff on the level of O&O ShutUp10.
Which is a good tool, but also, a Windows tool for very (back in the day) Windows-specific nonsense.
What's going on at Apple product strategy?
curl|bash is now standard way to install packages on both macOS and Linux. It’s maddening, but it is now.
pjmlp•9m ago
Meanwhile on Windows we mostly use the store or winget, funny times.
drnick1•10m ago
Uncomfortable, but true.
GNOME has reached maturity and hasn't changed significantly in years, while Apple is busy destroying macOS.
fmajid•2m 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.
arialdomartini•37m ago
https://nocurlbash.com/#en
demibabs•35m ago
shujito•35m ago
1over137•29m ago
jtrueb•25m ago
tmpz22•21m ago
Its a different threat model. You should not curl bash.
aaomidi•17m ago
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…
packeted•16m ago
swozey•13m ago
hypeatei•15m ago
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.
mogwire•15m ago
Excuse me, they are TLS certs.
Thanks Arialdomartini, as I was saying… we need to renew the SSL Certs
maccard•13m ago
mingus88•4m ago
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
porridgeraisin•3m 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.
> The server knows you’re piping — and can lie
This 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.