Appearance
SEC544 / CLAUDE-GH-RELEASE-UPLOAD-PERMISSION
SEC544 flags shared Claude settings when permissions.allow grants blanket GitHub release asset upload authority through gh release upload.
Why It Matters
gh release upload can add or replace release assets in public or internal distribution channels. In a shared committed settings file that is broader than most teams want to delegate by default.
Trigger Shape
- the file is a detected Claude settings surface
- the path is not fixture-like
permissions.allowcontains the exact tokenBash(gh release upload:*)
Clean Cases
- narrower read-only grants such as
Bash(gh release view:*) - settings files without blanket release upload access
- fixture-like examples under test or fixture paths
Example Trigger
json
{
"permissions": {
"allow": ["Bash(gh release upload:*)", "Read(*)"]
}
}Safer Example
json
{
"permissions": {
"allow": ["Bash(gh release view:*)", "Read(*)"]
}
}How To Fix
Remove shared gh release upload permissions or replace them with narrower reviewed commands that keep release asset mutation under explicit user control.