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?

  • rah@feddit.uk
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    7 hours ago

    Showing people that are running curl piped to bash the script they are about to run doesn’t really accomplish anything. If they can read bash and want to review the script then they can by just opening the URL

    What it accomplishes is providing the instructions (i.e. an easily copy-and-pastable terminal command) for people to do exactly that.

    • gaylord_fartmaster@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      7 hours ago

      If you can’t review a bash script before running it without having an unnecessarily complex one-liner provided to you to do so, then it doesn’t matter because you aren’t going to be able to adequately review a bash script anyway.

      • rah@feddit.uk
        link
        fedilink
        English
        arrow-up
        1
        ·
        2 hours ago

        If you can’t review a bash script before running it without having an unnecessarily complex one-liner provided to you

        Providing an easily copy-and-pastable one-liner does not imply that the reader could not themselves write such a one-liner.

        Having the capacity to write one’s own commands doesn’t imply that there is no value in having a command provided.

        unnecessarily complex

        LOL

        • gaylord_fartmaster@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          1 hour ago

          I don’t think you realize that if your goal is to have a simple install method anyone can use, even redirecting the output to install.sh like in your examples is enough added complexity to make it not work in some cases. Again, those are not made for people that know bash.