SD-023 — settings.json Unrestricted Permission Grant

SD-023 flags a bare "*" in permissions.allow in supported Claude settings, while noting that current Claude Code skips that unanchored glob.

What it matches

A bare "*" entry in permissions.allow in .claude/settings.json or settings.local.json. Current Claude Code skips this unanchored glob with a warning; other versions or harnesses may differ.

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

OWASP ASI ASI03

CWE CWE-732

Agent Skills in the Wild PE1

Prevalence

mediumpermission_hygiene

Pattern SD-023 was detected in 0 of 16996 public skills scanned as of 27 October 2026.

current ruleset eb11e25d39bc2c81

Check your own skills

Scan a repository or a single skill against this rule and the rest of the catalogue, free.