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
[–] [B] 23 points 2 years ago (19 children)

I think safer approach is to:

  1. Download the script first, review its contents, and then execute.
  2. Ensure the URL uses HTTPS to reduce the risk of man-in-the-middle attacks
  • source
  • hideshow 19 child comments
  • [–] 14 points 2 years ago (4 children)

    If you've downloaded and audited the script, there's no reason to pipe it from curl to sh, just run it. No https necessary.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 1 point 2 years ago (3 children)

    The https is to cover the factthat you might have missed something.

    I guess I download and skim out of principle, but they might have hidden something in there.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 3 points 2 years ago (2 children)

    Wat. All https does is encrypt the connection when downloading. If you've already downloaded the file to audit it, then it's in your drive, no need to use curl to download it again and then pipe it to sh. Just click the thing.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 6 points 2 years ago (10 children)

    Install scripts are bad in general. ideally use officially packaged software.

  • source
  • parent
  • hideshow 10 child comments
  • [–] 0 points 2 years ago (9 children)

    But then they'd have to lay some guy 15$ to package it and thats like, spending money

  • source
  • parent
  • hideshow 9 child comments
  • [–] -1 points 2 years ago (8 children)

    Distros do the packaging. Devs can not be trusted

  • source
  • parent
  • hideshow 8 child comments
  • [–] 2 points 2 years ago (2 children)

    That's how you end up without software.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 2 years ago (4 children)

    Loads of distros have user packing like arch and nixos... also many distors accept donations to package your software either way so my point stands even then.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 2 points 2 years ago (3 children)

    Meanwhile nix install instructions start of with a curl

  • source
  • parent
  • hideshow 3 child comments