3979f24d3f
9e2e5626dabb7208dafedcc9904940b666be1c3b Fix CVE-2018-12356 by hardening the regex. (Loganaden Velvindron) Pull request description: Detailed write-up here: https://neopg.io/blog/pass-signature-spoof/ Tree-SHA512: 2020474ff4c7b5e7f1bea932c63da62aca48d3dc6dcd04507afefad6c40f2977ed2d2916defe2e8e7936a2d498125c578077870147954a7af9b29b823cbb0b10 |
||
---|---|---|
.. | ||
allow-revsig-commits | ||
gpg.sh | ||
pre-push-hook.sh | ||
README.md | ||
trusted-git-root | ||
trusted-keys | ||
trusted-sha512-root-commit | ||
verify-commits.sh |
Tooling for verification of PGP signed commits
This is an incomplete work in progress, but currently includes a pre-push hook
script (pre-push-hook.sh
) for maintainers to ensure that their own commits
are PGP signed (nearly always merge commits), as well as a script to verify
commits against a trusted keys list.
Using verify-commits.sh safely
Remember that you can't use an untrusted script to verify itself. This means
that checking out code, then running verify-commits.sh
against HEAD
is
not safe, because the version of verify-commits.sh
that you just ran could
be backdoored. Instead, you need to use a trusted version of verify-commits
prior to checkout to make sure you're checking out only code signed by trusted
keys:
git fetch origin && \
./contrib/verify-commits/verify-commits.sh origin/master && \
git checkout origin/master
Note that the above isn't a good UI/UX yet, and needs significant improvements to make it more convenient and reduce the chance of errors; pull-reqs improving this process would be much appreciated.