Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Post History

80%
+6 −0
Q&A Is it a bad idea to pipe a script from curl to your shell?

Yes, it's a sloppy practice often joked upon but the security concerns are overblown: Piping unknown code into bash feels scary (and it should), but running make can be just as dangerous. Some inst...

posted 4mo ago by Ordoviz‭

Answer
#1: Initial revision by user avatar Ordoviz‭ · 2024-07-28T12:31:07Z (4 months ago)
Yes, it's a sloppy practice [often joked upon](https://xkcd.com/1654/) but [the security concerns are overblown](https://www.arp242.net/curl-to-sh.html): Piping unknown code into bash feels scary *(and it should)*, but running `make` can be just as dangerous. Some install scripts make unwanted changes to `.bashrc` or to the filesystem so I still prefer to download the script and inspect it before running it (don't re-download the script as [it might have changed](https://web.archive.org/web/20240523102739/https://www.idontplaydarts.com/2016/04/detecting-curl-pipe-bash-server-side/)).

Also, keep in mind that it's notoriously difficult to write a robust shell script. It could [wipe your hard drive](https://github.com/ValveSoftware/steam-for-linux/issues/3671), even though it was written with good intentions.

Copy-pasting commands from the README isn't secure either. Try copy-pasting the line below:

<pre><code><span class="sr-only">echo pwned;</span>echo "triple-click and copy me!"<span class="sr-only">;echo pwned</span></code></pre>

As a developer, you should tell users to prefer packages from their Linux distro, if available. Packages are easier to uninstall, provide integrity via checksums, and are vetted by package maintainers. You should work together with downstream package maintainers and follow common practices to make it easy to package your software.

However, being able to install unpackaged software by running a single command can be convenient if you are inside a throw-away machine like a VM or Docker container.