this post was submitted on 13 Mar 2025
276 points (96.6% liked)

Linux

6450 readers
598 users here now

A community for everything relating to the GNU/Linux operating system

Also check out:

Original icon base courtesy of lewing@isc.tamu.edu and The GIMP

founded 2 years ago
MODERATORS
 

curl https://some-url/ | sh

I see this all over the place nowadays, even in communities that, I would think, should be security conscious. How is that safe? What's stopping the downloaded script from wiping my home directory? If you use this, how can you feel comfortable?

I understand that we have the same problems with the installed application, even if it was downloaded and installed manually. But I feel the bar for making a mistake in a shell script is much lower than in whatever language the main application is written. Don't we have something better than "sh" for this? Something with less power to do harm?

you are viewing a single comment's thread
view the rest of the comments
[–] knexcar@lemmy.world 3 points 1 day ago (2 children)

What does curl even do? Unstraighten? Seems like any other command I’d blindly paste from an internet thread into a terminal window to try to get something on Linux to work.

[–] ArsonButCute@lemmy.dbzer0.com 7 points 1 day ago (1 children)

cURL (pronounced curl) stands for client for URL. It transfers data from a url, which you can then do things with.

[–] easily3667@lemmus.org 1 points 21 hours ago (1 children)

Why would they call it that when it's not a client for all urls? It's more like httpc

[–] ArsonButCute@lemmy.dbzer0.com 1 points 20 hours ago

What URLs is it not a client for? As far as I understand it will pull whatever data is presented by whatever URL. cURL doesn't really care about protocol being http, you can use it with FTP as well, and I haven't tested it yet but now that I'm curious I wanna see if it works for SMB

[–] Irelephant@lemm.ee 2 points 1 day ago (1 children)

curl sends requests, curl lemmy.world would return the html of lemmy.worlds homepage. piping it into bash means that you are fetching a shell script, and running it.

[–] easily3667@lemmus.org 2 points 21 hours ago* (last edited 21 hours ago) (1 children)

I think he knows but is commenting on the pathetic state of security culture on Linux. ("Linux is secure so I can do anything without concerns")

[–] Irelephant@lemm.ee 1 points 20 hours ago

Security through obsecurity strikes again.

I usually just read the shell script, and then paste that into bash.