Appearance
SEC407 / CLAUDE-GIT-CLONE-PERMISSION
SEC407 flags shared Claude settings when permissions.allow grants blanket git clone authority.
Why It Matters
git clone brings arbitrary remote repositories into the local execution path. Granting Bash(git clone:*) in shared Claude settings turns remote repository fetching into default team policy instead of an explicitly reviewed action.
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(git clone:*)
Clean Cases
These stay clean:
- more specific commands such as
Bash(git clone https://github.com/acme/demo.git) - settings files that do not grant blanket
git clone - fixture-like examples under test or fixture paths
Example Trigger
json
{
"permissions": {
"allow": ["Bash(git clone:*)", "Read(*)"]
}
}Safer Example
json
{
"permissions": {
"allow": ["Bash(git clone https://github.com/acme/demo.git)", "Read(*)"]
}
}How To Fix
Remove shared git clone permissions or replace them with a narrower reviewed workflow that keeps remote repository fetching under explicit user control.