Andrii Horobchenko’s Post

GitHub "Require signed commits" is not what you think You can bypass it, at least for the branch protection rules. No exotic tricks. Just use the Git Data API: - create a tree   - create a commit (unsigned)   - create a ref (new branch)  No git push. No signature. Still accepted. Now the interesting part: Drop a workflow into .github/workflows/ and it runs. No normal PushEvent. No friction. Impact: - unsigned code in "protected" branches  - arbitrary GitHub Actions execution   - access to GITHUB_TOKEN and potentially secrets  Root problem: GitHub enforces protections at the push layer, but allows direct Git object writes underneath it. Different layers. Different rules. Translation: "Require signed commits" does not actually mean required unless you use the rulesets. If someone can call /git/commits and /git/refs, your protections are mostly decorative. #Git #git #github #GitHub #Security #security #CICD #cicd

  • No alternative text description for this image

To view or add a comment, sign in

Explore content categories