SD-023 — settings.json Unrestricted Permission Grant
SD-023 flags a bare "*" in a settings.json allow list — an entry written to grant every tool and every command with no prompt.
What it matches
A settings.json allow entry that is a bare "*" — an entry stating that the allowlist should not apply.
Why it matters
Claude Code as it ships today skips an unanchored "*" allow glob and warns, so on that harness the entry currently grants nothing. What it does is state intent: the file says the allowlist should be off, and another harness, an older version, or a future change in glob handling may honour it. Committed in a repository it is also the line somebody copies into a config that does honour it, and where it takes effect it removes every prompt that would otherwise show a user what the agent is about to run.
Example
json
{"permissions": {
"allow": ["*"]
}}One entry standing in for every tool and every command.
How to fix it
List the tools and subcommands the work actually needs. If the list has grown unwieldy, that is a signal to narrow what the agent is being asked to do, not to remove the list — and if one prompt keeps appearing, grant that one command rather than all of them.
Known false positives
A deliberate grant in a trusted internal repository.
Standards mapping
Prevalence
Pattern SD-023 was detected in 0 of 16475 public skills scanned as of 11 September 2026.
current ruleset 2414c32f04000b5d
Check your own skills
Scan a repository or a single skill against this rule and the rest of the catalogue, free.