Appearance
SEC477 / CLAUDE-EDIT-UNSAFE-PATH
SEC477 flags shared Claude settings when permissions.allow grants Edit(...) over an absolute path, home-relative path, Windows drive path, or parent-traversing path.
Why It Matters
Shared edit authority outside the repository breaks the usual assumption that AI-assisted edits stay within the reviewed project tree. Absolute, home-relative, or parent-traversing path scopes make policy review much harder because the reachable write surface extends beyond the repo.
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 anEdit(...)token whose scope is absolute, home-relative, drive-qualified, or parent-traversing
Clean Cases
These stay clean:
- repository-scoped paths such as
Edit(./src/**) - permissions that do not grant
Edit(...) - fixture-like examples under test or fixture paths
Example Trigger
json
{
"permissions": {
"allow": ["Edit(~/workspace/**)", "Read(./docs/**)"]
}
}Safer Example
json
{
"permissions": {
"allow": ["Edit(./src/**)", "Read(./docs/**)"]
}
}How To Fix
Replace broad Edit(...) path grants with repository-scoped allowlists, or remove shared access to absolute, home-relative, or parent-traversing paths from the committed Claude settings file.