this post was submitted on 04 Aug 2026
475 points (98.8% liked)

Programmer Humor

32730 readers
886 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 3 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] Unleaded8163@fedia.io 24 points 1 week ago (2 children)

If you trust the site, curl | sh is no worse than any other install method. If you don't trust the site, it's also no worse.

[–] not_IO@lemmy.blahaj.zone 2 points 6 days ago

that's why you install from repos managed by people you trust, it's like an app store without all the evil

[–] kayzeekayzee@lemmy.blahaj.zone 4 points 1 week ago (3 children)

yeah you can also just curl > cat and check the script yourself

[–] not_IO@lemmy.blahaj.zone 3 points 1 week ago
[–] FishFace@piefed.social 9 points 1 week ago (3 children)

Do you mean curl | cat or do you really want to create a file called cat?

Also piping to cat seems redundant but malicious hosts can detect whether the request is getting redirected, using some clever trick, so it's not.

Also, your chance of spotting something bad in a malicious script is probably quite small.

[–] Dumhuvud@programming.dev 1 points 5 days ago

Also piping to cat seems redundant but malicious hosts can detect whether the request is getting redirected, using some clever trick, so it’s not.

Just so you know, servers cannot detect piping to any arbitrary process. The trick you're talking about is detecting piping to an interpreter, for the lack of a better term. Piping sleep N to bash is observable behaviour, for example. Piping anything to cat is not.

https://web.archive.org/web/20250622061208/https://www.idontplaydarts.com/2016/04/detecting-curl-pipe-bash-server-side/

[–] xthexder@l.sw0.com 2 points 6 days ago* (last edited 6 days ago)

Saving it to a file is actually a decent method, since you can be sure the script you're reviewing is the same one you're running.

Personally I often will just manually run the install steps in order if the script is simple enough. Half the time it's just a bunch of OS version checks followed by a tar -xf

[–] cenzorrll@piefed.ca 5 points 1 week ago

This is my opinion on curl | sh/bash type directions. If the maintainers don't provide a hash so I can confirm that is what they intended, there ain't much I can do unless someone slapped in a function named "totallyNotMalware" into the script. I've looked through scripts, seen what they do, but I'm not good enough to recognize anything funky.