Skip to content

attestgate: a builder runs only in its own repository - #37

Merged
aledbf merged 1 commit into
mainfrom
builder-own-repo
Oct 13, 2026
Merged

aledbf merged 1 commit into
mainfrom
builder-own-repo

Conversation

@aledbf

@aledbf aledbf commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Any repository can call a public reusable workflow, and the certificate its run gets names the builder at the ref it called (build-release.yml@refs/heads/main) over what that repository checked out. So after S5 the SAN alone no longer binds the source repository.

Gate.Repository (required with Builder) holds every builder job to if: github.repository == '<owner/name>', so the builder signs nothing anywhere else. Verifiers still pin the source repository as well (cosign --certificate-github-workflow-repository, Fulcio SourceRepositoryURI): that lands in spin-machine and spin next.

Tests: the builder fixtures carry the guard; new cases cover no guard, the wrong repository, and no Repository. task lint, task mutate (0 survived).

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

Any repository can call a public reusable workflow, and the certificate its run
gets names the builder at the ref it called: build-release.yml@refs/heads/main
over what that other repository checked out. Gate.Repository (required with
Builder) holds every builder job to if: github.repository == '<owner/name>', so
the builder signs nothing anywhere else; verifiers still pin the source
repository.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@aledbf
aledbf merged commit defd29b into main Oct 13, 2026
1 check passed
@aledbf
aledbf deleted the builder-own-repo branch October 13, 2026 17:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant