Skip to content

🔒 [v5] sec-check: forbid history rewrites and sign-off on other authors' commits; conflicts get a comment, not a resolution - #6372

Merged
clubanderson merged 1 commit into
v5from
sec/no-history-rewrite-no-forged-signoff-6329
Sep 9, 2026
Merged

🔒 [v5] sec-check: forbid history rewrites and sign-off on other authors' commits; conflicts get a comment, not a resolution#6372
clubanderson merged 1 commit into
v5from
sec/no-history-rewrite-no-forged-signoff-6329

Conversation

@clubanderson

Copy link
Copy Markdown
Member

What changed

  • Added explicit Gate Integrity rules to the sec-check full and hold-gated policies, including embedded defaults.
  • Documented history and DCO-attestation invariants in the security model.
  • Hardened the pushbroker to reject non-fast-forward branch pushes and commits authored by someone else that carry the lane's own Signed-off-by trailer.

Why

sec-check must not rewrite contributor history, forge DCO attestations, or resolve conflicts by dropping PR changes. The proxy can identify git receive-pack traffic for mode/repo gating, but the trusted pushbroker is the narrow seam that can reliably inspect the local commit graph before pushing.

How tested

  • cd src && go build ./... && go vet ./pkg/pushbroker ./pkg/policies && go test ./pkg/pushbroker ./pkg/policies
  • Result: pushbroker and policies tests passed.

Fixes #6329

@kubestellar-prow kubestellar-prow Bot added dco-signoff: yes Indicates the PR's author has signed the DCO. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Sep 9, 2026
@clubanderson

Copy link
Copy Markdown
Member Author

/approve

@kubestellar-prow kubestellar-prow Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Sep 9, 2026
…rs' commits; conflicts get a comment, not a resolution

Enforce fast-forward pushbroker updates and reject lane sign-offs on commits authored by other identities.

Document the gate integrity invariants in sec-check policies and the security model.

Signed-off-by: Andrew Anderson <andy@clubanderson.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@clubanderson
clubanderson force-pushed the sec/no-history-rewrite-no-forged-signoff-6329 branch from 148cb15 to 506522e Compare September 9, 2026 15:40
@clubanderson

Copy link
Copy Markdown
Member Author

/approve

@clubanderson
clubanderson merged commit 56f7fb9 into v5 Sep 9, 2026
51 of 52 checks passed
@kubestellar-prow

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: clubanderson

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Thank you for your contribution! Your PR has been merged.

We'd love to hear how your experience was: share feedback

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. dco-signoff: yes Indicates the PR's author has signed the DCO. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant