Repository navigation
Security hardening: pin appimagetool, sign AppImage, apply saved socket at startup - #29
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Follow-up to a security review of the app. No vulnerabilities were found in the app code; the actionable findings were in the release pipeline, plus one startup bug noticed along the way.
continuoustag and ran it to repack the AppImage we ship. It is now pinned to the 1.9.1 tag ofAppImage/appimagetooland refuses to run unless its SHA-256 matches. (The oldAppImage/AppImageKitrepo is archived and its tagged assets 404, so the pin moved repos.)APPIMAGE_SIGNING_KEYrepository secret is set, the AppImage is GPG-signed and the public key embedded, so AppImageUpdate and users can verify authenticity rather than trusting GitHub + TLS alone. Without the secret the build stays unsigned, as today.dockerlite-release-signing.pub.asc(fingerprint5396 D542 D9A6 08DD 5D27 4BE2 0D85 CE52 C3B5 9577) and attached to every release so users can compare it with the key embedded in the AppImage./var/run/docker.sock; the persisted setting was only applied after pressing Test in Settings. Setup now reads the store and switches before the webview's first call. Unit tests cover the parsing.Verification
.zsync.cargo fmt --check,cargo clippy -D warnings, and the new unit tests pass.