piping random scripts from the internet into bash is the worst way of installing things. imagine if there was an operating system where this was the main way of installing things, and people just googled the program name, clicked the first link, and ran an executable file with admin permissions. imagine that
@lynnesbian same x.x
@lynnesbian forget PCMR, it's time for PMMR (Package Manager Master Race)
@lynnesbian is it a wholly custom installer?
@a_breakin_glass hmm? :o
@lynnesbian like, you can extract nullsoft installers with 7zip apparently
@a_breakin_glass ahh ok
that's still an extra step though
@axiom this is very cursed
@lynnesbian we have you cover for very low ruble
@lynnesbian "curl | sudo bash" is a bad idea even if you inspected the script before because it is possible for a web server to detect this and only send you malicious code in that case, serving harmless code otherwise if you download the file to inspect it before running it: https://www.idontplaydarts.com/2016/04/detecting-curl-pipe-bash-server-side/
Of course that doesn't make running obfuscated binary executables without any signatures from random web servers any more reasonable either.
@silentium that is a very interesting attack vector
i would still assume that there's pretty much nobody using this, whereas windows installers that turn out to be viruses are more common than that
@lynnesbian You are probably right, but it is still a bad idea for project websites to propagate this as their primary way of installing their software. It leads to people getting used to this behaviour and be careless with other "curl | bash" instructions in the future as well.
@silentium yeah i agree, curl | bash is a pretty bad idea
@dunnofam yeah i saw that
piping into bash is a bad idea, it's just not as bad an idea
@dunnofam that's true, if you do it that way it solves that issue
@lynnesbian or downloading a downloader for the download (and a nice toolbar you didn't know you need) and running that with admin permissions
@lynnesbian Windows complains loudly when you run an executable file that's not signed, though.
@lynnesbian what difference does it make whether i trust
a) the software's author and the ca chain, or
b) the software's author, the ca chain, and some volunteer distro package maintainer
Ironically has security equivalent to most Linux package repositories.
@endomain @lynnesbian @00dani No, it does not. Your operating system maintainer is someone you already trust, who is certifying (by creating, signing, and distributing the package) that the software meets their standards. No such standards are applied to software you install by curl | sh, unless you independently verify the software and its installer.
Removing other folks from the thread. I don't really want to get into a rock-em-sock-em debate since I said my original comment only half seriously.
But seriously for a moment, what you said is a value judgement. You're telling me what you have decided to do, but I think an awful lot of people implicitly trust ISVs. Unless you're using a heavily sandboxed OS like Qubues or iOS, it seems like a pretty intense trust relationship. Both are equally applicable, although they can have different consequences.
By the logic you've laid out, you're making a case I should trust Microsoft and Ubuntu equally since I use both their platforms, but that's not true. So I can't help but remain unconvinced by it.
@endomain It comes down to this: Packages in an OS repository have been vetted by somebody. Software you install through curl | sh has not been. Software that is not malicious will not be in the OS repo unless the OS maintainer is evil or has been tricked, both of which are relatively unlikely.
If you run Windows and expose it to your information, you do trust Microsoft at least somewhat. Probably, and hopefully, not as much as the Ubuntu maintainers, but at some level.
@endomain Literally anyone with an Internet connection and some basic Web and Unix skills can put up a fancy site describing some awesome software and tell you to run curl | sh to install it. That is not the case with publishing software in a package repository.
How many personal PPAs have you added? Are those different?
@endomain PPAs aren't secure. You should not trust them any more than you would trust curl | sh. Additionally, I'm not running Ubuntu, so the concept doesn't exactly apply to me, but I have no third-party repos configured; I install everything I can from the official repos, and when I can't, I look into the software I'm installing first and find an AppImage or a source tarball.
So I guess you just run old software all the time. Which is a luxury I wish I had. :)
@endomain I run Void Linux, which packages new software versions relatively quickly, so I'm mostly up-to-date. Ubuntu is slow to update mainly because its upstream is Debian, which is well-known as the stable and slow-moving distro.
Cool, but. We're so far afield of the original point. Anyone who can run void Linux can safely is a curl sh download, and their security standards are even more obscure.
The simple reality is that curl|sh gets much more hate than ppa's or build-from-source or "download this Deb" and folk's response is, "I super trust that those minimal requirements my OS put down are enough to make our pre-shared public key trust root safe."
But I see this as analogous to NodeJS's woes. All it will take is one person to get control of a critical package and slow roll and issue and we'll all be in the same boat.
That's why I use Qubes when I can. Then, I can actually use a computer like a human and have some degree of confidence that if I use it on a day when my judgement is impaired I'm not automatically totally fucked.
As a general rule, I object to creating security whipping targets because they tend to give a false sense of security to people. Hence I like pointing out curl https:// | sh is essentially a model that lots of people already are trusting.
The response is often "nuh-uh!" but you'll note the thread author here pretty much saw what I was saying and agreed as opposed to trying to lawyer their way into being right.
@endomain I will agree that people do insecure things a lot more than they think, but I don't believe that "install a package selected, assembled, and signed by a trusted maintainer" is an insecure model, and it is the default way that Linux users install software as long as you don't modify the package manager configuration.
@endomain Qubes is nice. I've considered it quite a few times, and I may still switch to it at some point. My main problem has been that I don't particularly like systemd (I'm not going to get into that right now), and Qubes' dom0 is systemd-based.
Systemd is not cost me millions of dollars the way runit has, and it's less monolithic than runit. I humbly suggest that you give OSs using it a chance.
Not just because there's a lot of FUD about it, it also because fast boots are security feature. The enable you to turn off your computer more, Which intern makes you much more resistant to cold boot attacks.
Do you know who did that vetting or what their criterion was? Or how often they vet?
@email@example.com's anti-chud pro-skub instance for funtimes