Appearance
Why It Matters
SEC376 flags committed Claude settings files when permissions.allow contains the exact wildcard search grant Grep(*).
This is useful because:
- shared Claude settings often become team-wide defaults by copy/paste
Grep(*)grants broad content-search capability instead of a reviewed scoped pattern set- broad content-search access is harder to defend in code review when a workflow only needs narrow, documented search scopes
Trigger Shape
- artifact kind is committed Claude settings
permissions.allowcontains the exact stringGrep(*)- file is not under a fixture-like path
Clean Cases
- scoped patterns like
Grep(todo:) - fixture/test/example copies
- unrelated markdown or non-Claude config files
Example Trigger
json
{
"permissions": {
"allow": ["Grep(*)", "Read(*)"]
}
}Safer Example
json
{
"permissions": {
"allow": ["Grep(todo:)", "Read(./docs/**)"]
}
}How To Fix
- replace
Grep(*)with specific reviewed grep scopes - remove broad content-search access from the shared Claude settings file if it is not required