Skip to content

Commit f09f3b4

Browse files
danielewoodclaude
andcommitted
fix: restore authorization check on Claude workflow caller
Defense-in-depth: gate secret transmission behind OWNER/MEMBER/ COLLABORATOR check at the caller level, not just the reusable workflow. Check author_association on the correct event object for each trigger type (comment, review, issue) — previously only comment-based events were checked, silently blocking members on review and issue events. Also adds missing CHANGELOG entries for #45 and #46. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent fb17456 commit f09f3b4

2 files changed

Lines changed: 18 additions & 0 deletions

File tree

.github/workflows/claude.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,17 @@ jobs:
2525
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
2626
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
2727
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
28+
) && (
29+
github.event.sender.login == github.repository_owner ||
30+
github.event.comment.author_association == 'OWNER' ||
31+
github.event.comment.author_association == 'MEMBER' ||
32+
github.event.comment.author_association == 'COLLABORATOR' ||
33+
github.event.review.author_association == 'OWNER' ||
34+
github.event.review.author_association == 'MEMBER' ||
35+
github.event.review.author_association == 'COLLABORATOR' ||
36+
github.event.issue.author_association == 'OWNER' ||
37+
github.event.issue.author_association == 'MEMBER' ||
38+
github.event.issue.author_association == 'COLLABORATOR'
2839
)
2940
uses: sensiblebit/.github/.github/workflows/claude.yml@main
3041
secrets:

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
### Security
11+
12+
- Restore authorization checks on Claude Code workflow to prevent unauthorized users from triggering the workflow and exposing OAuth token secret ([#46])
13+
1014
### Changed
1115

16+
- Migrate CI workflows and pre-commit hooks to organization-wide reusable workflows in `sensiblebit/.github` ([#45])
1217
- Consolidate CI from 16 jobs to 10 by merging jobs with identical setup: branch-name + commit-messages + verified-commits → PR Conventions, go-build + go-vet + goimports → Go Checks, web-test + wrangler-build → Web, web-lint + markdownlint → Lint
1318
- Remove redundant `go vet` and `go test` steps from release workflow — tags are created from main which already passed CI
1419
- Consolidate Dependabot GitHub Actions PRs into a single grouped PR instead of one per action
@@ -544,6 +549,8 @@ Initial release.
544549
[`a62908f`]: https://github.com/sensiblebit/certkit/commit/a62908f
545550
[`55b5c1e`]: https://github.com/sensiblebit/certkit/commit/55b5c1e
546551
[`8cf81d9`]: https://github.com/sensiblebit/certkit/commit/8cf81d9
552+
[#46]: https://github.com/sensiblebit/certkit/pull/46
553+
[#45]: https://github.com/sensiblebit/certkit/pull/45
547554
[#24]: https://github.com/sensiblebit/certkit/pull/24
548555
[#25]: https://github.com/sensiblebit/certkit/pull/25
549556
[#26]: https://github.com/sensiblebit/certkit/pull/26

0 commit comments

Comments
 (0)