Conversation
This repo is public with issues enabled. The job only checked that the text contained "@claude", so any GitHub user could trigger it by opening an issue. Unlike a fork's pull_request run, `issues` and `issue_comment` events execute in this repo's context and DO receive repository secrets, so those runs had CLAUDE_CODE_OAUTH_TOKEN in the environment. And because the action executes whatever instructions are in the comment that tagged it, reaching that token needed no injection trick — just a comment. Gates on author_association (OWNER / MEMBER / COLLABORATOR) per event, checked against the account that actually triggered it. CONTRIBUTOR is excluded: it only means someone had a commit merged once. The check is deliberately not one shared OR across event types. On issue_comment the payload carries both comment.author_association and issue.author_association, so a flat OR would have let an untrusted account comment on a trusted author's issue and pass. Also: - timeout-minutes: 15, so a wedged run cannot bill the subscription for the 6h default. - concurrency group per issue/PR, without cancel-in-progress — a superseded @claude task is still work someone asked for. - drops id-token: write, which is only needed for OIDC federation and is dead weight on the static-token path. No evidence of abuse: every run of this workflow to date was a legitimate internal one, the most recent on 2026-06-23. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…orkflow fix(ci): restrict @claude mention workflow to trusted authors
|
Claude finished @MaryWylde's task in 1m 46s —— View job Reviewing PR #175 — Restriction of @claude mention
SummaryThis PR gates the Security fix is correct and well-reasoned. Previously the job triggered on any Verified the gate logic per event type:
Minor, non-blocking observations:
No bugs, no AGENTS.md/CLAUDE.md convention violations (this is CI-only, no app code touched), and no changes to UX Core data. Looks good to merge. |
No description provided.