Appearance
SEC413 / CLAUDE-GIT-CONFIG-PERMISSION
SEC413 flags shared Claude settings when permissions.allow grants the exact wildcard permission Bash(git config:*).
Why It Matters
git config changes repository or user configuration state. Granting it broadly in shared AI policy makes configuration mutation part of the default team execution surface, which is harder to review and easier to over-apply than a narrower, task-specific command.
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 stringBash(git config:*)
Clean Cases
These stay clean:
- more specific permissions such as
Bash(git config user.name) - settings files that do not grant
git configat all - fixture-like examples under test or fixture paths
Example Trigger
json
{
"permissions": {
"allow": ["Bash(git config:*)", "Read(*)"]
}
}Safer Example
json
{
"permissions": {
"allow": ["Bash(git config user.name)", "Read(*)"]
}
}How To Fix
Remove shared Bash(git config:*) permissions or replace them with a narrower reviewed command pattern that keeps configuration changes under explicit user control.