Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reproducible build, checksum verification of external dependencies #718

Open
mgmax opened this issue Mar 24, 2024 · 3 comments
Open

Reproducible build, checksum verification of external dependencies #718

mgmax opened this issue Mar 24, 2024 · 3 comments
Labels
Build Building and Packaging (Windows installer, etc.)

Comments

@mgmax
Copy link
Collaborator

mgmax commented Mar 24, 2024

Some parts of the build process download external dependencies without verifying a checksum. This means that if any of our external dependencies or their download server is compromised, the next VisiCut build will automatically pick this up.

Good example:
Download of JDK for Windows/Mac setup.

echo "$hash $downloaded_file" | sha256sum -c

Insufficiently checked parts:

@mgmax mgmax added Bug Build Building and Packaging (Windows installer, etc.) and removed Bug labels Mar 24, 2024
@TheAssassin
Copy link
Contributor

TheAssassin commented Mar 24, 2024

I think you might be a little too concerned in this regard. In the software industry "downloaded from a static GitHub URL" is even sufficient. It's rather unlikely that someone would manage to work around all the security features (TLS, HSTS even). I can relate to the wish for a static build so that new ones don't break things (even if that is rather uncommon in the world of AppImages, for instance), but checking hashes is a bit over the top.

Edit:

only weak SHA1 hash, and only a short part of it

Of couurse, the hash is not a security measure. It's just to install the right "version", not to make sure it wasn't tampered. You'd have to build your own thing there to reliably install this.

@mgmax
Copy link
Collaborator Author

mgmax commented Mar 24, 2024

Regarding "static GitHub URL": Anyone with sufficient access to the dependency repository could change the content of the release artifact, and then we would silently download and run that new content. No need to hack GitHub :-)

@TheAssassin
Copy link
Contributor

Sure, but then again we trust these projects to have proper access control in place.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Build Building and Packaging (Windows installer, etc.)
Projects
None yet
Development

No branches or pull requests

2 participants