Appearance
SEC510 / CLAUDE-GH-WORKFLOW-RUN-PERMISSION
SEC510 flags shared Claude settings when permissions.allow grants blanket GitHub workflow-dispatch authority through gh workflow run.
Why It Matters
gh workflow run can dispatch GitHub Actions workflows remotely. In a shared committed settings file that is broader than most teams want to delegate by default.
Trigger Shape
The rule triggers only when all of these are true:
- the file is a detected Claude settings surface
- the path is not fixture-like
permissions.allowcontains the exact tokenBash(gh workflow run:*)
Clean Cases
These stay clean:
- narrower inspection grants such as
Bash(gh workflow view:*) - settings files that do not grant blanket workflow-dispatch access
- fixture-like examples under test or fixture paths
Example Trigger
json
{
"permissions": {
"allow": ["Bash(gh workflow run:*)", "Read(*)"]
}
}Safer Example
json
{
"permissions": {
"allow": ["Bash(gh workflow view:*)", "Read(*)"]
}
}How To Fix
Remove shared gh workflow run permissions or replace them with narrower reviewed commands that keep workflow dispatch under explicit user control.