mercedes-benz / sechub

SecHub provides a central API to test software with different security tools.
https://mercedes-benz.github.io/sechub/
MIT License
270 stars 65 forks source link

Ensure the SecHub Client build is reproducible #3641

Open sven-dmlr opened 1 day ago

sven-dmlr commented 1 day ago

Situation

Explained here: #1919

ToDo

Make the Go client build produce identical binaries with the same Go version and repository tag. Should be achieved by removing the timestamp from the version information.

sven-dmlr commented 7 hours ago

Related information: see https://hackernoon.com/building-reproducible-verifiable-binaries-with-golang --> "There is no built-in way to compile a reproducible binary with Golang."

Anyhow with the applied changes, now the build is reproducible on the same platform (Linux) with the same Go version (go version go1.21.6 linux/amd64) across different machines:

Also the build is now agnostic of build pathes. (Builds in different directories produce the same sha256 checksums.)