Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
Already on GitHub? Sign in to your account
Verify packages PGP signatures #17
Comments
tarsius
added
the
enhancement
label
Sep 4, 2017
|
It's pretty exiting that |
tarsius
self-assigned this
Sep 5, 2017
|
I am a little busy getting Magit, |
|
Just a quick note for those following links As a security measure I have already added a command that only clones a package without also installing to allow reviewing a package before any of it is executed. Additionally I plan to show a warning when a user attempts to install an unsafe package and add an option to |
thblt
commented
Nov 4, 2017
|
Hi Jonas, just a friendly remember this issue is still waiting for your feedback :) There's no hurry since I'm still really busy (too, I guess), but knowing what you think would help me get started whenever I can. Thanks! |
thblt commentedSep 4, 2017
•
edited by tarsius
It would be nice if Borg did verify PGP signatures before building/activating a drone. I've included such a feature in a little UI frontend for Borg I've been working on as an Elisp exercise, but I think it could take place in the core instead. I imagine it working this way:
borg-assimilatewould verify if the package is signed after cloning. If it is not, but if the most recent tag on default branch is, it would offer to checkout this tag instead of HEAD.If the git object (tag or commit) is signed with a missing signature, Borg may offer to download the public key.
If a valid signature is found, Borg could offer to add a
submodules.DRONE.signingkeyfield with the identifier of the signing key.If no signature can be verified, it would ask the user whether they still want to activate the package, and offer the choice to remove it instead.
borg-clonewould do the same, but won't offer to modify.gitmodules.A new function
borg-upgradeorborg-switch-versionwould be added, which would prompt the user for a commit or a tag, checkout it, and verify signature (usingsubmodules.DRONE.signingkey) before building.A new variable,
borg-always-valid-keyswould be introduced, which would store a list of GnuPG key identifiers to consider valid for all packages. This would typically store the ID of the user's own key.Optional: A new variable
borg-verify-signatures-on-initializationcould be introduced, defaulted to nil. If non-nil,borg-initializewould only activate packages with a valid signature and a clean working-tree. (This is a kind of "paranoia" mode.)If you're interested to have such a feature on Borg, I'd like to work on it.
Thanks for reading this!