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?

  • Steve Dice@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    14
    ·
    21 hours ago

    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.

    • isaaclw@lemmy.world
      link
      fedilink
      arrow-up
      3
      arrow-down
      2
      ·
      15 hours ago

      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.

      • Steve Dice@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        3
        ·
        13 hours ago

        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.