Skip to content

Plan-2: enforce CODEOWNERS reviews on .github/ paths once second maintainer onboards #23

Description

@millsmillsymills

Context

Pre-merge review of #17 (signed-tag verification) surfaced that .github/allowed_signers and .github/workflows/release.yml are repo-tracked and editable by anyone with write access. The default-branch ruleset enforces required status checks only — no required reviewers, no CODEOWNERS enforcement — because `require_code_owner_review` would deadlock a solo-owner repo (documented in `modules/ruleset-default-branch/main.tf`).

Within the solo-owner threat model this is accepted: the owner could add a malicious signing key in a PR and self-merge, but they could equally push directly to main via break-glass. The control set is "trust the owner."

If/when a second maintainer onboards, this control gap widens — a single rogue/compromised contributor could add a key to `allowed_signers` in a PR and self-merge to grant release-signing authority.

Proposed change at that future point

  • Flip `require_code_owner_review = true` on the default-branch ruleset (currently false for the solo-owner deadlock reason in modules/ruleset-default-branch/main.tf).
  • Tighten CODEOWNERS so `.github/allowed_signers` and `.github/workflows/release.yml` (and other release-trust paths) require explicit owner review.
  • Consider scoping a tag-protection ruleset rule that requires modifications to those paths route via a separate `security-paths` branch protection.

Trigger

Onboarding of a second maintainer to the org. Until then, this stays parked.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions