Repository navigation
ci: add zizmor workflow audit - #1595
Open
oc-tmueller wants to merge 3 commits into
Open
oc-tmueller wants to merge 3 commits into
oc-tmueller wants to merge 3 commits into
Conversation
Runs zizmor over this repository's workflows and Dependabot config on every pull request, on pushes to the default branch and weekly, through owncloud/reusable-workflows' zizmor.yml. Any finding fails the check. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Thomas Müller <323649642+oc-tmueller@users.noreply.github.com>
- excessive-permissions: build-and-analyze and push-transifex ran with the repository's read/write default token; both declare contents: read now. Neither uses the token beyond the checkout. - github-app: the four App tokens request only what their step uses: contents: write for verified-api-commit's createCommitOnBranch, contents + pull-requests write for create-pull-request. - artipacked: checkouts do not persist credentials. - self-repository: the local verified-api-commit action is called as $/.github/actions/... instead of ./... . - ref-version-mismatch: a checkout version comment lacked the v. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Thomas Müller <323649642+oc-tmueller@users.noreply.github.com>
…guarantees - generate-sbom granted contents: write at workflow level, but its GITHUB_TOKEN only reaches cdxgen's read-only license lookup; the PR is opened with the SBOM App token. It is contents: read now. - The zizmor caller comment no longer claims non-PR runs are never displaced: GitHub still replaces a queued run with a newer one. Correction to the previous commit's message: configuration-documentation and pull-ocis-icons mint their App token but never pass it to verified-api-commit, which therefore commits with GITHUB_TOKEN under the job's contents: write. The new permission-contents: write only limits that unused token. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Thomas Müller <323649642+oc-tmueller@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a zizmor audit of this repository's GitHub Actions workflows and Dependabot config, through the reusable
owncloud/reusable-workflows/.github/workflows/zizmor.yml. It's part of an org-wide rollout (pilot: owncloud/notes#577, merged). Once the repo PRs have landed,Zizmor / Zizmorbecomes a required check through owncloud/admin.contents: readonly, so it also works on fork PRs.owncloud/*references may stay on@main. Everything else must be SHA-pinned.Existing findings fixed (separate commits)
build-and-analyzeandpush-transifexnow declarecontents: read.generate-sbomdropped its workflow-levelcontents: write, because itsGITHUB_TOKENonly reaches cdxgen's read-only license lookup and the PR is opened with the SBOM App token.contents+pull-requestswrite forcreate-pull-request(SBOM, translations), andcontents: writefor the twoverified-api-commitcallers.verified-api-commitaction is called as$/.github/actions/verified-api-commitinstead of./....For the maintainers:
configuration-documentationandpull-ocis-iconsmint their App token but never pass it toverified-api-commit(nogithub-token:input), so those commits are made withGITHUB_TOKENunder the job'scontents: write. Wiring the App token in would change who authors the commit, and whether it triggers workflows, so it is left as is.$/for a step-level local action is not exercised by this PR's CI. Both workflows only run on pushes tofix/*/feature/*/release/*. The syntax is proven for reusable-workflow calls (reusable-workflows#104), and GitHub documents it for actions too. The first run on one of those branches will confirm it.Not exercised by this PR's CI:
generate-sbom,pull-transifex,push-transifex,configuration-documentationandpull-ocis-icons(push/dispatch only).zizmor 1.31.1 reports no findings on this branch.
🤖 Generated with Claude Code