TMA-GITLAB-1.1.12
Ensure verification of signed commits for new changes before merging
Description
Ensure every commit in a pull request is signed and verified before merging. Signing commits, or requiring to sign commits, gives other users confidence about the origin of a specific code change. It ensures that the author of the change is not hidden and is verified by the version control system, thus the change comes from a trusted source.
How it is checked
Audit method: Shell command
command -v glab >/dev/null 2>&1 || exit 1
glab auth status >/dev/null 2>&1 || exit 1
proj=$(glab repo view -F json 2>/dev/null) || exit 1
printf "%s" "$proj" | grep -q '"id":' && echo compliant || echo non-compliant- Expected output
compliant
How it is fixed
Fix method: Guidance or infrastructure patch
Ensure only signed commits can be merged for every branch via branch protection rules by performing the following steps for each project: - Navigate to the main page of the project. - In the sidebar, select Settings > Repository. - Expand the Push rules section. - Under Select push rules select 'Reject unsigned commits'. - Select 'Save push rules'. As an administrator you can configure a secure default for new projects by performing the following steps: - Navigate to the Admin Area. - In the sidebar, select Push Rules. - Select 'Reject unsigned commits'. - Select 'Save push rules'.
Properties
- Operating systems
- Any
- Tags
- devsecopsgitlabsource-control
- Reference
- CIS GitLab Benchmark v1.0.1 - 1.1.12 Ensure verification of signed commits for new changes before merging
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
tmaegis scan --target gitlab --level 2