Check ID: repository_default_branch_requires_signed_commits
Provider: GitHub
Service: repository
Severity: HIGH
Categories: software-supply-chain
Resource type: NotDefined

What this check verifies

GitHub repository default branch enforces signed and verified commits (Require signed commits), allowing only commits with valid cryptographic signatures to be pushed or merged.

Risk

Without required signing, commit authorship can be spoofed and unverified changes added, impacting integrity.
  • Backdoor injection
  • History tampering and forged identities
  • Release pipeline abuse and supply-chain compromise

Recommendation

Enforce Require signed commits on default and release branches.
  • Standardize GPG/SSH/S/MIME for humans and bots
  • Protect and rotate signing keys; least privilege on bypass
  • Pair with required reviews and status checks for defense-in-depth

Remediation

gh api -X POST repos/<OWNER>/<REPO>/branches/<DEFAULT_BRANCH_NAME>/protection/required_signatures

References

Where this check fires

This check runs on every scheduled scan against your GitHub account. Findings appear at Cloud Security → Findings filterable by Check ID = repository_default_branch_requires_signed_commits. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to GitHub checks