Add cryptographic signature verification to install script #2077
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
The install script does not verify release integrity (#2075), leaving users vulnerable to:
Solution
Implemented cryptographic signature verification using Minisign.
Why Minisign?
While the issue mentioned GPG, I chose Minisign because it:
Both GPG and Minisign solve the core security problem: verifying that releases come from legitimate maintainers and haven't been tampered with. Minisign achieves this with a more streamlined, modern approach.
Changes
Modified Files
dev/unix/volta-install.shVolta_PUBLIC_KEYconstant for signature verificationcheck_minisign()function for automatic minisign installationverify_release_signature()function to verify tarball signaturesdownload_release_from_repo()to download.minisigsignature filesinstall_release()to verify signatures before installationNew Files
RELEASING.mdTesting
Since existing releases don't have signatures, I tested locally by:
Test Results
✅ Test 1: Valid Signature
✅ Test 2: Tampered File
✅ Test 3: Missing Signature
✅ Test 4: Minisign Auto-Installation
All tests passed ✅
Backward Compatibility
The implementation includes version detection:
Documentation
For Maintainers
Created comprehensive
RELEASING.mdwith:Questions for Maintainers
Volta_PUBLIC_KEYis from my test key - this needs to be replaced with the official public key once generatedNext Steps (for maintainers)
To enable signature verification:
RELEASING.md)Volta_PUBLIC_KEYindev/unix/volta-install.shwith official public keyRELEASING.mdguideResolves #2075