Skip to content

ci: add zizmor workflow audit - #20

Open
oc-tmueller wants to merge 3 commits into
owncloud:mainfrom
oc-tmueller:ci/zizmor
Open

oc-tmueller wants to merge 3 commits into
owncloud:mainfrom
oc-tmueller:ci/zizmor

Conversation

@oc-tmueller

Copy link
Copy Markdown

Adds a zizmor audit of this repository's GitHub Actions workflows and Dependabot config, through the reusable owncloud/reusable-workflows/.github/workflows/zizmor.yml (owncloud/reusable-workflows#104). It's part of an org-wide rollout. Once the repo PRs have landed, Zizmor / Zizmor becomes a required check through owncloud/admin.

  • Behaviour: any finding, at any severity, fails the check, with an annotation on the offending line. It runs on every PR, on pushes to main and weekly, because online audits such as known-vulnerable actions can start failing without a code change.
  • Permissions: contents: read only, so it also works on fork PRs.
  • Config: owncloud/* references may stay on @main. Everything else must be SHA-pinned.

Existing findings fixed (separate commits)

  • excessive-permissions: CI ran with the repository default token, which is read/write. It only checks out and builds, so it now has contents: read.
  • artipacked: the checkout does not persist credentials.
  • dependabot-cooldown: gomod and github-actions updates wait 7 days. The github-actions hunk is identical to chore(ci): set dependabot cooldown for github-actions #19, so the two merge cleanly in either order.
  • Noticed, not changed: ci.yml triggers on pushes to master, but the default branch is main, so merges run no CI.

zizmor 1.31.1 reports no findings on this branch.

🤖 Generated with Claude Code

oc-tmueller and others added 3 commits October 26, 2026 14:32
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: CI ran with the repository's default token,
  which is read/write. It only checks out and builds, so it now has
  contents: read.
- artipacked: the checkout does not persist credentials.
- dependabot-cooldown: gomod and github-actions updates wait 7 days.
  The github-actions hunk is identical to owncloud#19's, so the two merge
  cleanly in either order.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Thomas Müller <323649642+oc-tmueller@users.noreply.github.com>
Only the zizmor caller's concurrency comment changes: GitHub keeps one queued
run per group, so for non-pull-request events a newer run still replaces a
queued one; the comment now says so instead of claiming only pull request
runs are superseded.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Thomas Müller <323649642+oc-tmueller@users.noreply.github.com>
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