How can users confidently verify that a FOSS application is running from its published source code? Is there a easy way to check this, or is this based of checksum and hashes?

    • Lunch@lemmy.worldOP
      link
      fedilink
      arrow-up
      5
      ·
      3 years ago

      Thanks for that. I’m honestly a bit surprised that there isn’t a more automatic way of checking this, like some sort of badge on Github or something.

      • poVoq@slrpnk.net
        link
        fedilink
        arrow-up
        18
        ·
        3 years ago

        There is, its called a Linux distribution repository or F-Droid for Android.

        Why would you trust a badge on github if you don’t trust the original author to not tamper with the binaries? The only way is to either built from source yourself or get the binaries from a trusted 3rd party that does that.

          • poVoq@slrpnk.net
            link
            fedilink
            arrow-up
            3
            ·
            3 years ago

            That is an unrelated topic. By using a distro you are already implicitly trusting them over the random author that publishes binaries on their repo or so.

            • rentar42@kbin.social
              link
              fedilink
              arrow-up
              3
              ·
              3 years ago

              Yes, I agree with the trust and that it’s effectively equivalent for most users. But I read OPs reply as asking specifically for “a more automatic way of checking (that it was build from source cleanly)”.

              I think expecting that this has already been cleanly solved years ago is not unreasonable (until you realize how many rabbit holes this whole topic has to go down to work well).

  • aurtzy@discuss.tchncs.de
    link
    fedilink
    arrow-up
    9
    ·
    3 years ago

    You might find The Full-Source Bootstrap: Building from source all the way down by some of the GNU Guix maintainers of interest to read, which discusses how Guix is attempting to solve the “trusting trust” attack some have mentioned here.

    Although I haven’t used it myself yet, Guix actually has a feature that lets you “challenge” the build servers to see if your builds match the pre-built binaries (the command being aptly named guix challenge).

  • rentar42@kbin.social
    link
    fedilink
    arrow-up
    8
    ·
    edit-2
    3 years ago

    As the article/SO answer posted by cwagner tells you you effectively can’t, because a “trojan” could be injected at many different levels and even self-compiling the source code depends on some compiler binary that you have to get from somewhere (build your own compiler, you tell me, but what do you use to compile THAT?).

    In practice for most people the correct answer is “get the binary from your distributions normal repository”. By using a given distribution you already implicitly trust that distribution (because if you don’t, why use it?), so non-core software from their repository should also be considered trustworthy (at least in the sense that no additional trojans were introduced that aren’t in the source).

    That doesn’t really help with Windows, though. There your best bet is to get a binary that’s from as close to the original authors themselves. Ideally from their project home page themselves.